ভূমিকা
অটোকম্পলিট (নতুন) হল একটি ওয়েব পরিষেবা যা HTTP অনুরোধের প্রতিক্রিয়ায় স্থানের পূর্বাভাস এবং কোয়েরি পূর্বাভাস প্রদান করে। অনুরোধে, একটি টেক্সট অনুসন্ধান স্ট্রিং এবং ভৌগোলিক সীমানা নির্দিষ্ট করুন যা অনুসন্ধান এলাকা নিয়ন্ত্রণ করে।
স্বয়ংসম্পূর্ণ (নতুন) ইনপুটের সম্পূর্ণ শব্দ এবং সাবস্ট্রিং, স্থানের নাম, ঠিকানা এবং প্লাস কোড সমাধান করে মেলাতে পারে। অতএব, অ্যাপ্লিকেশনগুলি ব্যবহারকারীর টাইপ অনুসারে প্রশ্ন পাঠাতে পারে, যাতে অন-দ্য-ফ্লাই স্থান এবং কোয়েরি পূর্বাভাস প্রদান করা যায়।
Autocomplete (New) এর প্রতিক্রিয়ায় দুই ধরণের ভবিষ্যদ্বাণী থাকতে পারে:
- স্থানের পূর্বাভাস : নির্দিষ্ট ইনপুট টেক্সট স্ট্রিং এবং অনুসন্ধান এলাকার উপর ভিত্তি করে স্থান, যেমন ব্যবসা, ঠিকানা এবং আগ্রহের স্থান। স্থানের পূর্বাভাস ডিফল্টরূপে ফেরত পাঠানো হয়।
- কোয়েরি পূর্বাভাস : ইনপুট টেক্সট স্ট্রিং এবং অনুসন্ধান এলাকার সাথে মিলে যাওয়া কোয়েরি স্ট্রিং। ডিফল্টভাবে কোয়েরি পূর্বাভাস ফেরত দেওয়া হয় না। প্রতিক্রিয়াতে কোয়েরি পূর্বাভাস যোগ করতে
includeQueryPredictionsঅনুরোধ প্যারামিটার ব্যবহার করুন।
উদাহরণস্বরূপ, আপনি ইনপুট হিসেবে একটি স্ট্রিং ব্যবহার করে Autocomplete (New) কল করেন যার মধ্যে একটি আংশিক ব্যবহারকারীর ইনপুট থাকে, "Sicilian piz", যেখানে অনুসন্ধান এলাকাটি সান ফ্রান্সিসকো, CA-তে সীমাবদ্ধ থাকে। এরপর প্রতিক্রিয়াটিতে স্থানের পূর্বাভাসের একটি তালিকা থাকে যা অনুসন্ধান স্ট্রিং এবং অনুসন্ধান এলাকার সাথে মেলে, যেমন "Sicilian Pizza Kitchen" নামক রেস্তোরাঁ, স্থান সম্পর্কে বিশদ বিবরণ সহ।
প্রত্যাবর্তিত স্থানের পূর্বাভাসগুলি ব্যবহারকারীদের কাছে উপস্থাপন করার জন্য ডিজাইন করা হয়েছে যাতে তারা তাদের পছন্দসই স্থান নির্বাচন করতে সহায়তা করে। প্রত্যাবর্তিত স্থানের পূর্বাভাসগুলির যেকোনো সম্পর্কে আরও তথ্য পেতে আপনি একটি স্থানের বিবরণ (নতুন) অনুরোধ করতে পারেন।
উত্তরে অনুসন্ধান স্ট্রিং এবং অনুসন্ধান এলাকার সাথে মেলে এমন ক্যোয়ারী পূর্বাভাসের একটি তালিকাও থাকতে পারে, যেমন "সিসিলিয়ান পিৎজা এবং পাস্তা"। উত্তরে প্রতিটি ক্যোয়ারী পূর্বাভাসে একটি প্রস্তাবিত পাঠ্য অনুসন্ধান স্ট্রিং সম্বলিত text ক্ষেত্র অন্তর্ভুক্ত থাকে। আরও বিস্তারিত অনুসন্ধান করতে টেক্সট অনুসন্ধান (নতুন) এ ইনপুট হিসাবে সেই স্ট্রিংটি ব্যবহার করুন।
APIs Explorer আপনাকে লাইভ অনুরোধ করতে দেয় যাতে আপনি API এবং API বিকল্পগুলির সাথে পরিচিত হতে পারেন:
স্বয়ংক্রিয়ভাবে (নতুন) অনুরোধগুলি
একটি অটোকম্পলিট (নতুন) অনুরোধ হল একটি URL-এ HTTP POST অনুরোধ যা এই ফর্মে থাকে:
https://places.googleapis.com/v1/places:autocomplete
POST অনুরোধের অংশ হিসেবে JSON অনুরোধের বডিতে অথবা হেডারে সমস্ত প্যারামিটার পাস করুন। উদাহরণস্বরূপ:
curl -X POST -d '{
"input": "pizza",
"locationBias": {
"circle": {
"center": {
"latitude": 37.7937,
"longitude": -122.3965
},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
সমর্থিত পরামিতি
প্যারামিটার | বিবরণ |
|---|---|
| যে টেক্সট স্ট্রিং-এ সার্চ করতে হবে (সম্পূর্ণ শব্দ, সাবস্ট্রিং, স্থানের নাম, ঠিকানা, প্লাস কোড)। |
| কমা দ্বারা পৃথক তালিকা যা প্রতিক্রিয়ায় কোন ক্ষেত্রগুলি ফেরত পাঠাতে হবে তা নির্দিষ্ট করে। |
পাঁচটি পর্যন্ত নির্দিষ্ট প্রাথমিক ধরণের মধ্যে একটির সাথে মেলে এমন স্থানগুলিতে ফলাফল সীমাবদ্ধ করে। | |
যদি সত্য হয়, তাহলে কোনও ভৌত অবস্থান ছাড়াই ব্যবসা (পরিষেবা এলাকার ব্যবসা) অন্তর্ভুক্ত। ডিফল্ট হিসেবে মিথ্যা। | |
যদি সত্য হয়, তাহলে প্রতিক্রিয়ায় স্থান এবং কোয়েরি উভয় পূর্বাভাস অন্তর্ভুক্ত থাকবে। ডিফল্টভাবে মিথ্যা হিসেবে সেট করা হবে। | |
ফলাফল সীমাবদ্ধ করার জন্য সর্বোচ্চ ১৫টি দুই-অক্ষরের দেশের কোডের অ্যারে। | |
ইনপুট স্ট্রিংয়ের মধ্যে কার্সার অবস্থানের শূন্য-ভিত্তিক ইউনিকোড অক্ষর অফসেট, যা পূর্বাভাসকে প্রভাবিত করে। ডিফল্টভাবে ইনপুট দৈর্ঘ্য। | |
ফলাফলের জন্য পছন্দের ভাষা (IETF BCP-47 কোড)। ডিফল্ট হিসেবে Accept-Language হেডার অথবা 'en' ব্যবহার করা হবে। | |
অনুসন্ধানের ফলাফলগুলিকে পক্ষপাতী করার জন্য একটি এলাকা (বৃত্ত বা আয়তক্ষেত্র) নির্দিষ্ট করে, এলাকার বাইরের ফলাফলগুলিকে অনুমতি দেয়। অবস্থান সীমাবদ্ধতার সাথে ব্যবহার করা যাবে না। | |
অনুসন্ধানের ফলাফল সীমাবদ্ধ করার জন্য একটি ক্ষেত্র (বৃত্ত বা আয়তক্ষেত্র) নির্দিষ্ট করে। এই এলাকার বাইরের ফলাফল বাদ দেওয়া হয়। locationBias এর সাথে ব্যবহার করা যাবে না। | |
উৎপত্তি বিন্দু (lat, long) যা পূর্বাভাসিত গন্তব্যস্থল থেকে সরলরেখার দূরত্ব (distancemeters) গণনা করতে ব্যবহৃত হয়। | |
প্রতিক্রিয়া এবং পক্ষপাতের পরামর্শ ফর্ম্যাট করতে ব্যবহৃত অঞ্চল কোড (যেমন, 'uk', 'fr')। | |
বিলিংয়ের উদ্দেশ্যে ব্যবহারকারীর তৈরি স্ট্রিং অটোকম্পলিট কলগুলিকে একটি সেশনে গ্রুপ করার জন্য। |
প্রতিক্রিয়া সম্পর্কে
Autocomplete (New) একটি JSON অবজেক্টকে রেসপন্স হিসেবে রিটার্ন করে। রেসপন্সে:
-
suggestionsঅ্যারেতে সমস্ত পূর্বাভাসিত স্থান এবং প্রশ্নগুলিকে তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ক্রমানুসারে অন্তর্ভুক্ত করা হয়েছে। প্রতিটি স্থান একটিplacePredictionক্ষেত্র দ্বারা প্রতিনিধিত্ব করা হয় এবং প্রতিটি প্রশ্ন একটিqueryPredictionক্ষেত্র দ্বারা প্রতিনিধিত্ব করা হয়। - একটি
placePredictionফিল্ডে একটি একক স্থানের পূর্বাভাস সম্পর্কে বিস্তারিত তথ্য থাকে, যার মধ্যে স্থানের আইডি এবং টেক্সটের বিবরণ অন্তর্ভুক্ত থাকে। - একটি
queryPredictionফিল্ডে একটি একক কোয়েরি ভবিষ্যদ্বাণী সম্পর্কে বিস্তারিত তথ্য থাকে।
সম্পূর্ণ JSON অবজেক্টটি এই আকারে রয়েছে:
{
"suggestions": [
{
"placePrediction": {
"place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko",
"placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko",
"text": {
"text": "Amoeba Music, Haight Street, San Francisco, CA, USA",
"matches": [
{
"endOffset": 6
}]
},
...
},
{
"queryPrediction": {
"text": {
"text": "Amoeba Music",
"matches": [
{
"endOffset": 6
}]
},
...
}
...]
}প্রয়োজনীয় পরামিতি
ইনপুট
যে টেক্সট স্ট্রিং-এ সার্চ করতে হবে। সম্পূর্ণ শব্দ এবং সাবস্ট্রিং, স্থানের নাম, ঠিকানা এবং প্লাস কোড উল্লেখ করুন। অটোকম্পলিট (নতুন) পরিষেবা এই স্ট্রিংয়ের উপর ভিত্তি করে প্রার্থীর মিলগুলি ফেরত দেয় এবং তাদের অনুভূত প্রাসঙ্গিকতার উপর ভিত্তি করে ফলাফলগুলি অর্ডার করে।
ঐচ্ছিক পরামিতি
ফিল্ডমাস্ক
একটি রেসপন্স ফিল্ড মাস্ক তৈরি করে রেসপন্সে ফেরত পাঠানোর জন্য ফিল্ডের তালিকা নির্দিষ্ট করুন। HTTP হেডার
X-Goog-FieldMaskব্যবহার করে রেসপন্স ফিল্ড মাস্কটি পদ্ধতিতে পাস করুন।কমা দ্বারা পৃথক করা পরামর্শ ক্ষেত্রগুলির একটি তালিকা উল্লেখ করুন যা ফেরত পাঠানো হবে। উদাহরণস্বরূপ, পরামর্শের
suggestions.placePrediction.text.textএবংsuggestions.queryPrediction.text.textপুনরুদ্ধার করতে।X-Goog-FieldMask: suggestions.placePrediction.text.text,suggestions.queryPrediction.text.text
সকল ক্ষেত্র পুনরুদ্ধার করতে
*ব্যবহার করুন।X-Goog-FieldMask: *
অন্তর্ভুক্তপ্রাথমিকপ্রকার
একটি জায়গায় টেবিল A অথবা টেবিল B- তে তালিকাভুক্ত প্রকার থেকে শুধুমাত্র একটিমাত্র প্রাথমিক প্রকার থাকতে পারে। উদাহরণস্বরূপ, প্রাথমিক প্রকারটি
"mexican_restaurant"অথবা"steak_house"হতে পারে।ডিফল্টরূপে, API
inputপ্যারামিটারের উপর ভিত্তি করে সমস্ত স্থান ফেরত দেয়, স্থানের সাথে সম্পর্কিত প্রাথমিক ধরণের মান নির্বিশেষে।includedPrimaryTypesপ্যারামিটারটি পাস করে ফলাফলগুলিকে একটি নির্দিষ্ট প্রাথমিক ধরণের বা প্রাথমিক ধরণের মধ্যে সীমাবদ্ধ করুন।এই প্যারামিটারটি ব্যবহার করে টেবিল A অথবা টেবিল B থেকে সর্বোচ্চ পাঁচটি ধরণের মান নির্দিষ্ট করুন। প্রতিক্রিয়ায় অন্তর্ভুক্ত করার জন্য একটি স্থানকে অবশ্যই নির্দিষ্ট প্রাথমিক ধরণের মানগুলির একটির সাথে মিলতে হবে।
এই প্যারামিটারে
(regions)অথবা(cities)এর যেকোনো একটিও অন্তর্ভুক্ত থাকতে পারে।(regions)ধরণের সংগ্রহ ফিল্টার এলাকা বা বিভাগের জন্য, যেমন পাড়া এবং পোস্টাল কোড।(cities)ধরণের সংগ্রহ ফিল্টারগুলি এমন স্থানগুলির জন্য যা Google শহর হিসেবে চিহ্নিত করে।নিম্নলিখিত ক্ষেত্রে,
INVALID_REQUESTত্রুটির কারণে অনুরোধটি প্রত্যাখ্যাত হবে:- পাঁচটিরও বেশি প্রকার নির্দিষ্ট করা হয়েছে।
-
(cities)অথবা(regions)ছাড়াও যেকোনো প্রকার নির্দিষ্ট করা হয়। - যেকোনো অচেনা প্রকার নির্দিষ্ট করা আছে।
অন্তর্ভুক্ত করুনবিশুদ্ধ পরিষেবাক্ষেত্রব্যবসা
যদি
trueতে সেট করা থাকে, তাহলে প্রতিক্রিয়ায় এমন ব্যবসাগুলি অন্তর্ভুক্ত থাকে যারা সরাসরি গ্রাহকদের কাছে যান বা বিতরণ করেন, কিন্তু তাদের কোনও বাস্তব ব্যবসার অবস্থান নেই। যদিfalseতে সেট করা থাকে, তাহলে API শুধুমাত্র সেই ব্যবসাগুলি ফেরত দেয় যেখানে একটি বাস্তব ব্যবসার অবস্থান রয়েছে।অন্তর্ভুক্ত করুন প্রশ্ন পূর্বাভাস
যদি
true, তাহলে প্রতিক্রিয়াটিতে স্থান এবং ক্যোয়ারী উভয় পূর্বাভাসই অন্তর্ভুক্ত থাকবে। ডিফল্ট মান হলfalse, অর্থাৎ প্রতিক্রিয়াটিতে কেবল স্থান পূর্বাভাস অন্তর্ভুক্ত থাকবে।অন্তর্ভুক্ত অঞ্চল কোড
শুধুমাত্র নির্দিষ্ট অঞ্চলের তালিকা থেকে ফলাফল অন্তর্ভুক্ত করুন, যা সর্বোচ্চ ১৫ ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মানের একটি অ্যারে হিসাবে নির্দিষ্ট করা হয়েছে। বাদ দেওয়া হলে, প্রতিক্রিয়ার উপর কোনও বিধিনিষেধ প্রযোজ্য হবে না। উদাহরণস্বরূপ, অঞ্চলগুলিকে জার্মানি এবং ফ্রান্সের মধ্যে সীমাবদ্ধ রাখতে:
"includedRegionCodes": ["de", "fr"]
যদি আপনি
locationRestrictionএবংincludedRegionCodesউভয়ই নির্দিষ্ট করেন, তাহলে ফলাফল দুটি সেটিংসের ছেদস্থলে অবস্থিত হবে।ইনপুটঅফসেট
শূন্য-ভিত্তিক ইউনিকোড অক্ষর অফসেট
input-এ কার্সারের অবস্থান নির্দেশ করে। কার্সারের অবস্থান কোন ভবিষ্যদ্বাণীগুলি ফেরত পাঠানো হবে তা প্রভাবিত করতে পারে। খালি থাকলে, এটিinputদৈর্ঘ্যে ডিফল্ট হয়।ভাষা কোড
পছন্দের ভাষা যেখানে ফলাফল ফেরত পাঠানো হবে। যদি
inputব্যবহৃত ভাষাটিlanguageCodeদ্বারা নির্দিষ্ট করা মানের থেকে আলাদা হয়, অথবা যদি ফিরে আসা স্থানে স্থানীয় ভাষা থেকেlanguageCodeতে অনুবাদ না থাকে, তাহলে ফলাফলগুলি মিশ্র ভাষায় হতে পারে।- পছন্দের ভাষা নির্দিষ্ট করতে আপনাকে অবশ্যই IETF BCP-47 ভাষা কোড ব্যবহার করতে হবে।
- যদি
languageCodeসরবরাহ করা না হয়, তাহলে APIAccept-Languageহেডারে উল্লেখিত মান ব্যবহার করে। যদি কোনটিই নির্দিষ্ট না করা থাকে, তাহলে ডিফল্ট মান হলen। যদি আপনি একটি অবৈধ ভাষা কোড উল্লেখ করেন, তাহলে API একটিINVALID_ARGUMENTত্রুটি প্রদান করে। - API কোন ফলাফল ফেরত দিতে পছন্দ করে এবং কোন ক্রমে ফেরত দেওয়া হয় তার উপর পছন্দের ভাষার প্রভাব খুব কম থাকে। এটি API-এর বানান ত্রুটি সংশোধন করার ক্ষমতাকেও প্রভাবিত করে।
- API এমন একটি রাস্তার ঠিকানা প্রদান করার চেষ্টা করে যা ব্যবহারকারী এবং স্থানীয় উভয়ের জন্যই পঠনযোগ্য, একই সাথে ব্যবহারকারীর ইনপুট প্রতিফলিত করে। প্রতিটি অনুরোধে ব্যবহারকারীর ইনপুটের উপর নির্ভর করে স্থানের পূর্বাভাস ভিন্নভাবে ফর্ম্যাট করা হয়।
-
inputপ্যারামিটারে মিলিত পদগুলি প্রথমে বেছে নেওয়া হয়, যখন উপলব্ধ থাকে তখনlanguageCodeপ্যারামিটার দ্বারা নির্দেশিত ভাষার পছন্দের সাথে সারিবদ্ধ নাম ব্যবহার করে, অন্যথায় এমন নাম ব্যবহার করা হয় যা ব্যবহারকারীর ইনপুটের সাথে সবচেয়ে ভালোভাবে মেলে। - রাস্তার ঠিকানাগুলি স্থানীয় ভাষায়, সম্ভব হলে ব্যবহারকারীর দ্বারা পঠনযোগ্য স্ক্রিপ্টে ফর্ম্যাট করা হয়, শুধুমাত্র
inputপ্যারামিটারের শর্তাবলীর সাথে মিলিত হওয়ার জন্য মিলিত পদগুলি বেছে নেওয়ার পরে। -
inputপ্যারামিটারের শর্তাবলীর সাথে মিল রাখার জন্য মিলযুক্ত পদগুলি বেছে নেওয়ার পরে, অন্যান্য সমস্ত ঠিকানা পছন্দের ভাষায় ফেরত পাঠানো হয়। যদি পছন্দের ভাষায় কোনও নাম উপলব্ধ না হয়, তাহলে API নিকটতম মিল ব্যবহার করে।
-
অবস্থান পক্ষপাত বা অবস্থান বিধিনিষেধ
অনুসন্ধান এলাকা নির্ধারণ করতে আপনি
locationBiasঅথবাlocationRestrictionউল্লেখ করতে পারেন, কিন্তু উভয়ই নয়।locationRestrictionবলতে ফলাফলগুলি যে অঞ্চলের মধ্যে থাকতে হবে তা নির্দিষ্ট করে এবংlocationBiasবলতে ফলাফলগুলি যে অঞ্চলের কাছাকাছি হতে হবে তা নির্দিষ্ট করে কিন্তু এলাকার বাইরেও থাকতে পারে।অবস্থান পক্ষপাত
অনুসন্ধানের জন্য একটি এলাকা নির্দিষ্ট করে। এই অবস্থানটি একটি পক্ষপাত হিসেবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের চারপাশের ফলাফলগুলি ফেরত পাঠানো যেতে পারে, নির্দিষ্ট এলাকার বাইরের ফলাফল সহ।
অবস্থানের সীমাবদ্ধতা
অনুসন্ধানের জন্য একটি এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরের ফলাফল ফেরত দেওয়া হয় না।
locationBiasঅথবাlocationRestrictionঅঞ্চলটিকে একটি আয়তক্ষেত্রাকার ভিউপোর্ট অথবা একটি বৃত্ত হিসেবে উল্লেখ করুন।একটি বৃত্তকে কেন্দ্রবিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধটি 0.0 এবং 50000.0 এর মধ্যে হতে হবে, যার মধ্যে রয়েছে। ডিফল্ট মান হল 0.0।
locationRestrictionএর জন্য, আপনাকে ব্যাসার্ধটি 0.0 এর চেয়ে বেশি মান নির্ধারণ করতে হবে। অন্যথায়, অনুরোধটি কোনও ফলাফল দেয় না।উদাহরণস্বরূপ:
"locationBias": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
একটি আয়তক্ষেত্র হল একটি অক্ষাংশ-দ্রাঘিমাংশ ভিউপোর্ট, যা দুটি তির্যক বিপরীত
lowএবং উচ্চ বিন্দু হিসাবে প্রতিনিধিত্ব করে। একটি ভিউপোর্টকে একটি বদ্ধ অঞ্চল হিসাবে বিবেচনা করা হয়, যার অর্থ এটি তার সীমানা অন্তর্ভুক্ত করে। অক্ষাংশ সীমানা -90 থেকে 90 ডিগ্রি সহ এবং দ্রাঘিমাংশ সীমানা -180 থেকে 180 ডিগ্রি সহ অবশ্যই থাকতে হবে:- যদি
low=high, তাহলে ভিউপোর্টটি সেই একক বিন্দু দিয়ে গঠিত। - যদি
low.longitude>high.longitude, তাহলে দ্রাঘিমাংশ পরিসর উল্টানো হয় (ভিউপোর্টটি 180 ডিগ্রি দ্রাঘিমাংশ রেখা অতিক্রম করে)। - যদি
low.longitude= -180 degrees এবংhigh.longitude= 180 degrees হয়, তাহলে ভিউপোর্টে সমস্ত দ্রাঘিমাংশ অন্তর্ভুক্ত থাকবে। - যদি
low.longitude= ১৮০ ডিগ্রি এবংhigh.longitude= -১৮০ ডিগ্রি হয়, তাহলে দ্রাঘিমাংশ পরিসর খালি থাকবে।
lowএবংhighউভয়ই পূরণ করতে হবে, এবং উপস্থাপিত বাক্সটি খালি রাখা যাবে না। খালি ভিউপোর্টের ফলে একটি ত্রুটি দেখা দেয়।উদাহরণস্বরূপ, এই ভিউপোর্টটি সম্পূর্ণরূপে নিউ ইয়র্ক শহরকে ঘিরে রেখেছে:
"locationBias": { "rectangle": { "low": { "latitude": 40.477398, "longitude": -74.259087 }, "high": { "latitude": 40.91618, "longitude": -73.70018 } } }
- যদি
উৎপত্তি
যে উৎস বিন্দু থেকে গন্তব্যে সরলরেখার দূরত্ব গণনা করতে হবে (
distanceMetersহিসেবে দেখানো হয়েছে)। যদি এই মান বাদ দেওয়া হয়, তাহলে সরলরেখার দূরত্ব দেখানো হবে না। অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসেবে উল্লেখ করতে হবে:"origin": { "latitude": 40.477398, "longitude": -74.259087 }
অঞ্চল কোড
প্রতিক্রিয়া ফর্ম্যাট করার জন্য ব্যবহৃত অঞ্চল কোড, যা ccTLD ("শীর্ষ-স্তরের ডোমেন") দুই-অক্ষরের মান হিসাবে নির্দিষ্ট করা হয়েছে। বেশিরভাগ ccTLD কোড ISO 3166-1 কোডের অনুরূপ, কিছু উল্লেখযোগ্য ব্যতিক্রম ছাড়া। উদাহরণস্বরূপ, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) যেখানে এর ISO 3166-1 কোড হল "gb" (প্রযুক্তিগতভাবে "গ্রেট ব্রিটেন এবং উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" সত্তার জন্য)।
অঞ্চল কোডের উপর ভিত্তি করে পরামর্শগুলিও পক্ষপাতদুষ্ট। গুগল ব্যবহারকারীর আঞ্চলিক পছন্দ অনুসারে
regionCodeসেট করার পরামর্শ দেয়।যদি আপনি একটি অবৈধ অঞ্চল কোড উল্লেখ করেন, তাহলে API একটি
INVALID_ARGUMENTত্রুটি প্রদান করে। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটারটি ফলাফলকে প্রভাবিত করতে পারে।সেশনটোকেন
সেশন টোকেন হল ব্যবহারকারী-উত্পাদিত স্ট্রিং যা "সেশন" হিসেবে অটোকমপ্লিট (নতুন) কল ট্র্যাক করে। অটোকমপ্লিট (নতুন) বিলিং উদ্দেশ্যে ব্যবহারকারীর অটোকমপ্লিট অনুসন্ধানের কোয়েরি এবং নির্বাচনের পর্যায়গুলিকে একটি পৃথক সেশনে গোষ্ঠীভুক্ত করতে সেশন টোকেন ব্যবহার করে। আরও তথ্যের জন্য, সেশন টোকেন দেখুন।
ফলাফল পক্ষপাতের জন্য প্যারামিটার নির্বাচন করুন
স্বয়ংক্রিয় সম্পূর্ণ (নতুন) প্যারামিটারগুলি অনুসন্ধান ফলাফলকে ভিন্নভাবে প্রভাবিত করতে পারে। নিম্নলিখিত টেবিলটি প্রত্যাশিত ফলাফলের উপর ভিত্তি করে প্যারামিটার ব্যবহারের জন্য সুপারিশ প্রদান করে।| প্যারামিটার | ব্যবহারের সুপারিশ |
|---|---|
regionCode | ব্যবহারকারীর আঞ্চলিক পছন্দ অনুসারে সেট করুন। |
includedRegionCodes | নির্দিষ্ট অঞ্চলের তালিকার মধ্যে ফলাফল সীমাবদ্ধ করতে সেট করুন। |
locationBias | যখন কোনও অঞ্চলে বা তার আশেপাশে ফলাফল পছন্দ করা হয় তখন ব্যবহার করুন। প্রযোজ্য হলে, ব্যবহারকারী যে মানচিত্রটি দেখছেন তার ভিউপোর্ট হিসাবে অঞ্চলটিকে সংজ্ঞায়িত করুন। |
locationRestriction | শুধুমাত্র তখনই ব্যবহার করুন যখন কোনও অঞ্চলের বাইরের ফলাফল ফেরত দেওয়া উচিত নয় । |
origin | প্রতিটি ভবিষ্যদ্বাণীর জন্য একটি সরলরেখার দূরত্ব নির্ধারণ করা হলে ব্যবহার করুন। |
স্বয়ংক্রিয় (নতুন) উদাহরণ
অবস্থান বিধিনিষেধ ব্যবহার করে কোনও এলাকায় অনুসন্ধান সীমাবদ্ধ করুন
locationRestriction অনুসন্ধানের জন্য এলাকা নির্দিষ্ট করে। নির্দিষ্ট এলাকার বাইরের ফলাফল ফেরত দেওয়া হয় না। নিম্নলিখিত উদাহরণে, আপনি সান ফ্রান্সিসকোকে কেন্দ্র করে 5000 মিটার ব্যাসার্ধের একটি বৃত্তে অনুরোধ সীমাবদ্ধ করতে locationRestriction ব্যবহার করেন:
curl -X POST -d '{
"input": "Art museum",
"locationRestriction": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
নির্দিষ্ট এলাকার মধ্যে থেকে সমস্ত ফলাফল suggestions অ্যারেতে অন্তর্ভুক্ত করা হয়েছে:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "establishment", "museum", "point_of_interest" ] } }, { "placePrediction": { "place": "places/ChIJI7NivpmAhYARSuRPlbbn_2w", "placeId": "ChIJI7NivpmAhYARSuRPlbbn_2w", "text": { "text": "de Young Museum, Hagiwara Tea Garden Drive, San Francisco, CA, USA", "matches": [ { "endOffset": 15 } ] }, "structuredFormat": { "mainText": { "text": "de Young Museum", "matches": [ { "endOffset": 15 } ] }, "secondaryText": { "text": "Hagiwara Tea Garden Drive, San Francisco, CA, USA" } }, "types": [ "establishment", "point_of_interest", "tourist_attraction", "museum" ] } }, /.../ ] }
আপনি locationRestriction ব্যবহার করে অনুসন্ধানগুলিকে একটি আয়তক্ষেত্রাকার Viewport- এ সীমাবদ্ধ করতে পারেন। নিম্নলিখিত উদাহরণটি সান ফ্রান্সিসকো শহরের কেন্দ্রস্থলে অনুরোধ সীমাবদ্ধ করে:
curl -X POST -d '{
"input": "Art museum",
"locationRestriction": {
"rectangle": {
"low": {
"latitude": 37.7751,
"longitude": -122.4219
},
"high": {
"latitude": 37.7955,
"longitude": -122.3937
}
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
ফলাফলগুলি suggestions অ্যারেতে অন্তর্ভুক্ত রয়েছে:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJkQQVTZqAhYARHxPt2iJkm1Q", "placeId": "ChIJkQQVTZqAhYARHxPt2iJkm1Q", "text": { "text": "Asian Art Museum, Larkin Street, San Francisco, CA, USA", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "structuredFormat": { "mainText": { "text": "Asian Art Museum", "matches": [ { "startOffset": 6, "endOffset": 16 } ] }, "secondaryText": { "text": "Larkin Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "museum", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJyQNK-4SAhYARO2DZaJleWRc", "placeId": "ChIJyQNK-4SAhYARO2DZaJleWRc", "text": { "text": "International Art Museum of America, Market Street, San Francisco, CA, USA", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "structuredFormat": { "mainText": { "text": "International Art Museum of America", "matches": [ { "startOffset": 14, "endOffset": 24 } ] }, "secondaryText": { "text": "Market Street, San Francisco, CA, USA" } }, "types": [ "museum", "point_of_interest", "tourist_attraction", "art_gallery", "establishment" ] } } ] }
লোকেশনবাইস ব্যবহার করে কোনও এলাকায় পক্ষপাত অনুসন্ধান করুন
locationBias এর ক্ষেত্রে, location একটি পক্ষপাত হিসেবে কাজ করে যার অর্থ নির্দিষ্ট স্থানের আশেপাশের ফলাফলগুলি ফেরত পাঠানো যেতে পারে, নির্দিষ্ট এলাকার বাইরের ফলাফল সহ। নিম্নলিখিত উদাহরণে, আপনি সান ফ্রান্সিসকো শহরের কেন্দ্রস্থলে অনুরোধটিকে পক্ষপাতী করেন:
curl -X POST -d '{
"input": "Amoeba",
"locationBias": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
ফলাফলগুলিতে এখন আরও অনেক আইটেম রয়েছে, যার মধ্যে ৫০০০ মিটার ব্যাসার্ধের বাইরের ফলাফলও রয়েছে:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "store", "establishment", "home_goods_store" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "electronics_store", "point_of_interest", "establishment", "home_goods_store", "store" ] } }, ... ] }
আপনি locationBias ব্যবহার করে একটি আয়তক্ষেত্রাকার Viewport অনুসন্ধানগুলিকে পক্ষপাতী করতে পারেন। নিম্নলিখিত উদাহরণটি সান ফ্রান্সিসকো শহরের কেন্দ্রস্থলে অনুরোধ সীমাবদ্ধ করে:
curl -X POST -d '{
"input": "Amoeba",
"locationBias": {
"rectangle": {
"low": {
"latitude": 37.7751,
"longitude": -122.4219
},
"high": {
"latitude": 37.7955,
"longitude": -122.3937
}
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
যদিও আয়তক্ষেত্রাকার ভিউপোর্টের মধ্যে অনুসন্ধানের ফলাফলগুলি প্রতিক্রিয়াতে প্রদর্শিত হয়, কিছু ফলাফল পক্ষপাতের কারণে নির্ধারিত সীমানার বাইরে থাকে। ফলাফলগুলি suggestions অ্যারের মধ্যেও অন্তর্ভুক্ত থাকে:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJr7uwwy58hYARBY-e7-QVwqw", "placeId": "ChIJr7uwwy58hYARBY-e7-QVwqw", "text": { "text": "Amoeba Music, Telegraph Avenue, Berkeley, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Telegraph Avenue, Berkeley, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, { "placePrediction": { "place": "places/ChIJRdmfADq_woARYaVhnfQSUTI", "placeId": "ChIJRdmfADq_woARYaVhnfQSUTI", "text": { "text": "Amoeba Music, Hollywood Boulevard, Los Angeles, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Hollywood Boulevard, Los Angeles, CA, USA" } }, "types": [ "point_of_interest", "store", "establishment" ] } }, /.../ ] }
অন্তর্ভুক্ত প্রাইমারিটাইপ ব্যবহার করুন
includedPrimaryTypes প্যারামিটার ব্যবহার করে Table A , Table B , অথবা only (regions) , অথবা only (cities) থেকে সর্বোচ্চ পাঁচটি ধরণের মান নির্দিষ্ট করুন। প্রতিক্রিয়ায় অন্তর্ভুক্ত করার জন্য একটি স্থানকে অবশ্যই নির্দিষ্ট প্রাথমিক ধরণের মানের একটির সাথে মিলতে হবে।
নিম্নলিখিত উদাহরণে, আপনি "Soccer" এর একটি input স্ট্রিং নির্দিষ্ট করেন এবং "sporting_goods_store" ধরণের প্রতিষ্ঠানের ফলাফল সীমাবদ্ধ করতে includedPrimaryTypes প্যারামিটার ব্যবহার করেন:
curl -X POST -d '{
"input": "Soccer",
"includedPrimaryTypes": ["sporting_goods_store"],
"locationBias": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 500.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
যদি আপনি includedPrimaryTypes প্যারামিটারটি বাদ দেন, তাহলে ফলাফলে এমন ধরণের স্থাপনা অন্তর্ভুক্ত হতে পারে যা আপনি চান না, যেমন "athletic_field" ।
কোয়েরি পূর্বাভাসের অনুরোধ করুন
ডিফল্টভাবে কোয়েরি ভবিষ্যদ্বাণী ফেরত দেওয়া হয় না। প্রতিক্রিয়াতে কোয়েরি ভবিষ্যদ্বাণী যোগ করতে includeQueryPredictions অনুরোধ প্যারামিটার ব্যবহার করুন। উদাহরণস্বরূপ:
curl -X POST -d '{
"input": "Amoeba",
"includeQueryPredictions": true,
"locationBias": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
suggestions অ্যারেতে এখন স্থান পূর্বাভাস এবং ক্যোয়ারী পূর্বাভাস উভয়ই রয়েছে, যেমনটি উপরে "প্রতিক্রিয়া সম্পর্কে" বিভাগে দেখানো হয়েছে। প্রতিটি ক্যোয়ারী পূর্বাভাসে একটি প্রস্তাবিত পাঠ্য অনুসন্ধান স্ট্রিং সহ text ক্ষেত্র অন্তর্ভুক্ত থাকে। আপনি যে কোনও প্রত্যাবর্তিত ক্যোয়ারী পূর্বাভাস সম্পর্কে আরও তথ্য পেতে একটি পাঠ্য অনুসন্ধান (নতুন) অনুরোধ করতে পারেন।
উৎপত্তিস্থল ব্যবহার করুন
এই উদাহরণে, অনুরোধে অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক হিসেবে origin অন্তর্ভুক্ত করুন। যখন আপনি origin অন্তর্ভুক্ত করেন, তখন Autocomplete (New) প্রতিক্রিয়ায় distanceMeters ক্ষেত্রটি অন্তর্ভুক্ত করে যা origin থেকে গন্তব্যস্থল পর্যন্ত সরলরেখার দূরত্ব ধারণ করে। এই উদাহরণটি সান ফ্রান্সিসকোর কেন্দ্রে উৎপত্তিস্থল নির্ধারণ করে:
curl -X POST -d '{
"input": "Amoeba",
"origin": {
"latitude": 37.7749,
"longitude": -122.4194
},
"locationRestriction": {
"circle": {
"center": {
"latitude": 37.7749,
"longitude": -122.4194
},
"radius": 5000.0
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
https://places.googleapis.com/v1/places:autocomplete
প্রতিক্রিয়াটিতে এখন distanceMeters অন্তর্ভুক্ত রয়েছে:
{ "suggestions": [ { "placePrediction": { "place": "places/ChIJ5YQQf1GHhYARPKG7WLIaOko", "placeId": "ChIJ5YQQf1GHhYARPKG7WLIaOko", "text": { "text": "Amoeba Music, Haight Street, San Francisco, CA, USA", "matches": [ { "endOffset": 6 } ] }, "structuredFormat": { "mainText": { "text": "Amoeba Music", "matches": [ { "endOffset": 6 } ] }, "secondaryText": { "text": "Haight Street, San Francisco, CA, USA" } }, "types": [ "home_goods_store", "establishment", "point_of_interest", "store", "electronics_store" ], "distanceMeters": 3012 } } ] }
প্রতিক্রিয়া থেকে দূরত্ব অনুপস্থিত
কিছু ক্ষেত্রে, রিকোয়েস্টে origin অন্তর্ভুক্ত থাকলেও, রেসপন্স বডি থেকে distanceMeters অনুপস্থিত থাকে। নিম্নলিখিত পরিস্থিতিতে এটি ঘটতে পারে:
-
routeপূর্বাভাসের জন্যdistanceMetersঅন্তর্ভুক্ত নয়। - যখন এর মান
0হয় তখনdistanceMetersঅন্তর্ভুক্ত করা হয় না, যা প্রদত্তoriginস্থান থেকে 1 মিটারের কম দূরে থাকা ভবিষ্যদ্বাণীগুলির ক্ষেত্রে প্রযোজ্য।
পার্স করা বস্তু থেকে distanceMeters ক্ষেত্রটি পড়ার চেষ্টাকারী ক্লায়েন্ট লাইব্রেরিগুলি 0 মান সহ একটি ক্ষেত্র ফিরিয়ে দেবে। ব্যবহারকারীদের বিভ্রান্ত করা এড়াতে, ব্যবহারকারীদের কাছে শূন্য দূরত্ব প্রদর্শন করবেন না ।
স্বয়ংক্রিয় (নতুন) অপ্টিমাইজেশন
এই বিভাগটি অটোকম্পলিট (নতুন) পরিষেবার সর্বাধিক সুবিধা পেতে আপনাকে সাহায্য করার জন্য সেরা অনুশীলনগুলি বর্ণনা করে।
এখানে কিছু সাধারণ নির্দেশিকা দেওয়া হল:
- একটি কার্যকরী ইউজার ইন্টারফেস তৈরির দ্রুততম উপায় হল Maps JavaScript API Autocomplete (New) উইজেট , Places SDK for Android Autocomplete (New) উইজেট , অথবা Places SDK for iOS Autocomplete (New) উইজেট ব্যবহার করা।
- শুরু থেকেই প্রয়োজনীয় স্বয়ংসম্পূর্ণ (নতুন) ডেটা ক্ষেত্রগুলি বুঝুন।
- লোকেশন বায়াসিং এবং লোকেশন সীমাবদ্ধতা ক্ষেত্রগুলি ঐচ্ছিক কিন্তু স্বয়ংক্রিয়ভাবে সম্পন্ন কর্মক্ষমতার উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে।
- API যদি কোনও ত্রুটি ফেরত দেয় তবে আপনার অ্যাপটি সুন্দরভাবে অবনমিত হয় তা নিশ্চিত করতে ত্রুটি পরিচালনা ব্যবহার করুন।
- নিশ্চিত করুন যে আপনার অ্যাপটি কোনও নির্বাচন না থাকলে তা পরিচালনা করে এবং ব্যবহারকারীদের চালিয়ে যাওয়ার একটি উপায় প্রদান করে।
খরচ অপ্টিমাইজেশনের সেরা অনুশীলন
মৌলিক খরচ অপ্টিমাইজেশন
অটোকমপ্লিট (নতুন) পরিষেবা ব্যবহারের খরচ অপ্টিমাইজ করতে, প্লেস ডিটেইলস (নতুন) এবং অটোকমপ্লিট (নতুন) উইজেটগুলিতে ফিল্ড মাস্ক ব্যবহার করুন যাতে আপনার প্রয়োজনীয় শুধুমাত্র অটোকমপ্লিট (নতুন) ডেটা ফিল্ডগুলি ফেরত দেওয়া যায়।
উন্নত খরচ অপ্টিমাইজেশন
SKU: Autocomplete অ্যাক্সেস করার জন্য Autocomplete (New) এর প্রোগ্রাম্যাটিক বাস্তবায়ন বিবেচনা করুন। স্থানের বিবরণ (নতুন) এর পরিবর্তে নির্বাচিত স্থান সম্পর্কে মূল্য নির্ধারণ এবং জিওকোডিং API ফলাফলের জন্য অনুরোধ করুন। নিম্নলিখিত দুটি শর্ত পূরণ হলে জিওকোডিং API এর সাথে যুক্ত প্রতি-অনুরোধ মূল্য প্রতি-সেশন (সেশন-ভিত্তিক) মূল্য নির্ধারণের চেয়ে বেশি সাশ্রয়ী:
- যদি আপনার শুধুমাত্র ব্যবহারকারীর নির্বাচিত স্থানের অক্ষাংশ/দ্রাঘিমাংশ বা ঠিকানার প্রয়োজন হয়, তাহলে জিওকোডিং API এই তথ্যটি একটি স্থানের বিবরণ (নতুন) কলের চেয়েও কম সময়ে সরবরাহ করে।
- যদি ব্যবহারকারীরা গড়ে চারটি স্বয়ংক্রিয়পূর্ণ (নতুন) পূর্বাভাস অনুরোধ বা তার কমের মধ্যে একটি স্বয়ংক্রিয়পূর্ণ পূর্বাভাস নির্বাচন করেন, তাহলে প্রতি-অনুরোধ মূল্য প্রতি-সেশন মূল্যের তুলনায় বেশি সাশ্রয়ী হতে পারে।
আপনার আবেদনপত্রে কি নির্বাচিত ভবিষ্যদ্বাণীর ঠিকানা এবং অক্ষাংশ/দ্রাঘিমাংশ ছাড়া অন্য কোনও তথ্যের প্রয়োজন আছে?
হ্যাঁ, আরও বিস্তারিত জানার প্রয়োজন।
স্থানের বিবরণ (নতুন) সহ সেশন-ভিত্তিক স্বয়ংসম্পূর্ণ (নতুন) ব্যবহার করুন।
যেহেতু আপনার আবেদনের জন্য স্থানের বিবরণ (নতুন), যেমন স্থানের নাম, ব্যবসার স্থিতি, অথবা খোলা থাকার সময় প্রয়োজন, তাই আপনার Autocomplete (নতুন) বাস্তবায়নের জন্য প্রতি সেশনে একটি সেশন টোকেন (প্রোগ্রামালি বা জাভাস্ক্রিপ্ট , অ্যান্ড্রয়েড , অথবা iOS উইজেটে অন্তর্নির্মিত) এবং প্রযোজ্য স্থান SKU ব্যবহার করা উচিত, যা আপনি কোন স্থানের ডেটা ফিল্ডের অনুরোধ করছেন তার উপর নির্ভর করে। 1
উইজেট বাস্তবায়ন
সেশন ম্যানেজমেন্ট স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্ট , অ্যান্ড্রয়েড , অথবা iOS উইজেটগুলিতে তৈরি করা হয়। এতে নির্বাচিত পূর্বাভাসে অটোকম্পলিট (নতুন) অনুরোধ এবং প্লেস ডিটেইলস (নতুন) অনুরোধ উভয়ই অন্তর্ভুক্ত থাকে। আপনি কেবল আপনার প্রয়োজনীয় অটোকম্পলিট (নতুন) ডেটা ক্ষেত্রগুলির জন্য অনুরোধ করছেন তা নিশ্চিত করার জন্য fields প্যারামিটারটি নির্দিষ্ট করতে ভুলবেন না।
প্রোগ্রাম্যাটিক বাস্তবায়ন
আপনার স্বয়ংক্রিয় (নতুন) অনুরোধের সাথে একটি সেশন টোকেন ব্যবহার করুন। নির্বাচিত পূর্বাভাস সম্পর্কে স্থানের বিবরণ (নতুন) অনুরোধ করার সময়, নিম্নলিখিত পরামিতিগুলি অন্তর্ভুক্ত করুন:
- স্বয়ংক্রিয় (নতুন) প্রতিক্রিয়া থেকে স্থান আইডি
- স্বয়ংক্রিয় (নতুন) অনুরোধে ব্যবহৃত সেশন টোকেন
- আপনার প্রয়োজনীয় স্বয়ংসম্পূর্ণ (নতুন) ডেটা ক্ষেত্রগুলি নির্দিষ্ট করে এমন
fieldsপ্যারামিটার
না, শুধুমাত্র ঠিকানা এবং অবস্থান প্রয়োজন।
আপনার অ্যাপ্লিকেশনের জন্য Autocomplete (নতুন) ব্যবহারের পারফরম্যান্সের উপর নির্ভর করে, Geocoding API আপনার অ্যাপ্লিকেশনের জন্য Place Details (নতুন) এর চেয়ে বেশি সাশ্রয়ী বিকল্প হতে পারে। প্রতিটি অ্যাপ্লিকেশনের Autocomplete (নতুন) দক্ষতা ব্যবহারকারীরা কী প্রবেশ করছেন, অ্যাপ্লিকেশনটি কোথায় ব্যবহার করা হচ্ছে এবং কর্মক্ষমতা অপ্টিমাইজেশনের সেরা অনুশীলনগুলি বাস্তবায়িত হয়েছে কিনা তার উপর নির্ভর করে পরিবর্তিত হয়।
নিম্নলিখিত প্রশ্নের উত্তর দেওয়ার জন্য, আপনার অ্যাপ্লিকেশনে একটি স্বয়ংসম্পূর্ণ (নতুন) পূর্বাভাস নির্বাচন করার আগে একজন ব্যবহারকারী গড়ে কতগুলি অক্ষর টাইপ করেন তা বিশ্লেষণ করুন।
আপনার ব্যবহারকারীরা কি গড়ে চার বা তার কম অনুরোধে একটি স্বয়ংসম্পূর্ণ (নতুন) পূর্বাভাস নির্বাচন করেন?
হাঁ
সেশন টোকেন ছাড়াই প্রোগ্রাম্যাটিকভাবে অটোকমপ্লিট (নতুন) বাস্তবায়ন করুন এবং নির্বাচিত স্থান পূর্বাভাসে জিওকোডিং API কল করুন।
জিওকোডিং এপিআই ঠিকানা এবং অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক সরবরাহ করে। চারটি স্বয়ংসম্পূর্ণ অনুরোধের অনুরোধ এবং নির্বাচিত স্থানের পূর্বাভাস সম্পর্কে একটি জিওকোডিং এপিআই কল করা প্রতি সেশনের প্রতি সেশনের স্বয়ংসম্পূর্ণ (নতুন) খরচের চেয়ে কম। ১
আপনার ব্যবহারকারীদের আরও কম অক্ষরের মাধ্যমে তাদের কাঙ্ক্ষিত ভবিষ্যদ্বাণী পেতে সাহায্য করার জন্য পারফর্ম্যান্সের সেরা অনুশীলনগুলি ব্যবহার করার কথা বিবেচনা করুন।
না
স্থানের বিবরণ (নতুন) সহ সেশন-ভিত্তিক স্বয়ংসম্পূর্ণ (নতুন) ব্যবহার করুন।
যেহেতু একজন ব্যবহারকারী স্বয়ংক্রিয়পূর্ণ (নতুন) পূর্বাভাস নির্বাচন করার আগে আপনার প্রত্যাশা অনুযায়ী গড় সংখ্যা প্রতি সেশনের মূল্য নির্ধারণের খরচকে অতিক্রম করে, তাই আপনার স্বয়ংক্রিয়পূর্ণ (নতুন) বাস্তবায়নে স্বয়ংক্রিয়পূর্ণ (নতুন) অনুরোধ এবং প্রতি সেশনের সাথে সম্পর্কিত স্থানের বিবরণ (নতুন) অনুরোধ উভয়ের জন্যই একটি সেশন টোকেন ব্যবহার করা উচিত। 1
উইজেট বাস্তবায়ন
সেশন ম্যানেজমেন্ট স্বয়ংক্রিয়ভাবে জাভাস্ক্রিপ্ট , অ্যান্ড্রয়েড , অথবা iOS উইজেটগুলিতে তৈরি করা হয়। এর মধ্যে নির্বাচিত পূর্বাভাসে অটোকম্পলিট (নতুন) অনুরোধ এবং স্থানের বিবরণ (নতুন) অনুরোধ উভয়ই অন্তর্ভুক্ত থাকে। আপনার প্রয়োজনীয় ক্ষেত্রগুলিই অনুরোধ করছেন তা নিশ্চিত করার জন্য fields প্যারামিটারটি নির্দিষ্ট করতে ভুলবেন না।
প্রোগ্রাম্যাটিক বাস্তবায়ন
আপনার স্বয়ংক্রিয় (নতুন) অনুরোধের সাথে একটি সেশন টোকেন ব্যবহার করুন। নির্বাচিত পূর্বাভাস সম্পর্কে স্থানের বিবরণ (নতুন) অনুরোধ করার সময়, নিম্নলিখিত পরামিতিগুলি অন্তর্ভুক্ত করুন:
- স্বয়ংক্রিয় (নতুন) প্রতিক্রিয়া থেকে স্থান আইডি
- স্বয়ংক্রিয় (নতুন) অনুরোধে ব্যবহৃত সেশন টোকেন
- ঠিকানা এবং জ্যামিতির মতো ক্ষেত্রগুলি নির্দিষ্ট করে এমন
fieldsপ্যারামিটার
স্বয়ংক্রিয় (নতুন) অনুরোধ বিলম্বিত করার কথা বিবেচনা করুন
আপনি কৌশল অবলম্বন করতে পারেন যেমন ব্যবহারকারী প্রথম তিন বা চারটি অক্ষর টাইপ না করা পর্যন্ত একটি স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ বিলম্বিত করা যাতে আপনার অ্যাপ্লিকেশনটি কম অনুরোধ করে। উদাহরণস্বরূপ, ব্যবহারকারী তৃতীয় অক্ষর টাইপ করার পরে প্রতিটি অক্ষরের জন্য স্বয়ংসম্পূর্ণ (নতুন) অনুরোধ করার অর্থ হল যদি ব্যবহারকারী সাতটি অক্ষর টাইপ করে একটি পূর্বাভাস নির্বাচন করে যার জন্য আপনি একটি জিওকোডিং API অনুরোধ করেন, তাহলে মোট খরচ হবে প্রতি অনুরোধে 4টি স্বয়ংসম্পূর্ণ (নতুন) + জিওকোডিংয়ের জন্য। 1
যদি বিলম্বিত অনুরোধের ফলে আপনার গড় প্রোগ্রাম্যাটিক অনুরোধ চারের নিচে পৌঁছাতে পারে, তাহলে আপনি জিওকোডিং API বাস্তবায়নের সাথে পারফর্ম্যান্ট অটোকম্পলিট (নতুন) এর নির্দেশিকা অনুসরণ করতে পারেন। মনে রাখবেন যে বিলম্বিত অনুরোধগুলি ব্যবহারকারীর দ্বারা বিলম্বিত হিসাবে অনুভূত হতে পারে যারা প্রতিটি নতুন কীস্ট্রোকের সাথে ভবিষ্যদ্বাণী দেখতে আশা করতে পারে।
আপনার ব্যবহারকারীদের কম অক্ষরের মাধ্যমে তাদের কাঙ্ক্ষিত ভবিষ্যদ্বাণী পেতে সাহায্য করার জন্য পারফর্ম্যান্সের সেরা অনুশীলনগুলি ব্যবহার করার কথা বিবেচনা করুন।
খরচের জন্য, Google Maps প্ল্যাটফর্মের মূল্য তালিকা দেখুন।
কর্মক্ষমতা সংক্রান্ত সর্বোত্তম অনুশীলন
নিম্নলিখিত নির্দেশিকাগুলিতে অটোকম্পলিট (নতুন) পারফর্ম্যান্স অপ্টিমাইজ করার উপায়গুলি বর্ণনা করা হয়েছে:
- আপনার অটোকম্পলিট (নতুন) বাস্তবায়নে দেশের সীমাবদ্ধতা, অবস্থান সংক্রান্ত পক্ষপাত এবং (প্রোগ্রাম্যাটিক বাস্তবায়নের জন্য) ভাষা পছন্দ যোগ করুন। উইজেটগুলির সাথে ভাষা পছন্দের প্রয়োজন হয় না কারণ তারা ব্যবহারকারীর ব্রাউজার বা মোবাইল ডিভাইস থেকে ভাষা পছন্দগুলি বেছে নেয়।
- যদি অটোকম্পলিট (নতুন) একটি মানচিত্রের সাথে থাকে, তাহলে আপনি মানচিত্র ভিউপোর্ট অনুসারে অবস্থানটি আলাদা করতে পারেন।
- যেসব পরিস্থিতিতে একজন ব্যবহারকারী স্বয়ংক্রিয় (নতুন) ভবিষ্যদ্বাণীর একটিও বেছে নেন না, সাধারণত কারণ এই ভবিষ্যদ্বাণীগুলির কোনওটিই কাঙ্ক্ষিত ফলাফল-ঠিকানা নয়, আপনি আরও প্রাসঙ্গিক ফলাফল পেতে মূল ব্যবহারকারীর ইনপুট পুনরায় ব্যবহার করতে পারেন:
- যদি আপনি আশা করেন যে ব্যবহারকারী কেবল ঠিকানার তথ্য প্রবেশ করাবেন, তাহলে Geocoding API- তে কল করার সময় মূল ব্যবহারকারীর ইনপুটটি পুনরায় ব্যবহার করুন।
- যদি আপনি আশা করেন যে ব্যবহারকারী নাম বা ঠিকানা দিয়ে একটি নির্দিষ্ট স্থানের জন্য প্রশ্ন লিখবেন, তাহলে একটি স্থান বিবরণী (নতুন) অনুরোধ ব্যবহার করুন। যদি ফলাফল শুধুমাত্র একটি নির্দিষ্ট অঞ্চলে প্রত্যাশিত হয়, তাহলে অবস্থান পক্ষপাত ব্যবহার করুন।
- ব্যবহারকারীরা সাবপ্রিমাইজ ঠিকানা ইনপুট করছেন, যেমন একটি ভবনের মধ্যে নির্দিষ্ট ইউনিট বা অ্যাপার্টমেন্টের ঠিকানা। উদাহরণস্বরূপ, চেক ঠিকানা "Stroupežnického 3191/17, Praha" অটোকমপ্লিট (নতুন) তে একটি আংশিক পূর্বাভাস দেয়।
- ব্যবহারকারীরা নিউ ইয়র্ক সিটিতে "23-30 29th St, Queens" অথবা হাওয়াইয়ের কাউই দ্বীপে "47-380 Kamehameha Hwy, Kaneohe" এর মতো রোড-সেগমেন্ট প্রিফিক্স সহ ঠিকানা ইনপুট করছেন।
অবস্থান পক্ষপাত
একটি location প্যারামিটার এবং একটি radius প্যারামিটার পাস করে একটি নির্দিষ্ট এলাকায় ফলাফল পক্ষপাত করে। এটি অটোকম্পলিট (নতুন) কে নির্ধারিত এলাকার মধ্যে ফলাফল দেখানো পছন্দ করার নির্দেশ দেয়। নির্ধারিত এলাকার বাইরের ফলাফল এখনও প্রদর্শিত হতে পারে। আপনি একটি নির্দিষ্ট দেশের মধ্যে শুধুমাত্র সেই স্থানগুলি দেখানোর জন্য ফলাফল ফিল্টার করতে components প্যারামিটার ব্যবহার করতে পারেন।
অবস্থান সীমাবদ্ধকরণ
একটি locationRestriction প্যারামিটার পাস করে ফলাফলগুলিকে একটি নির্দিষ্ট এলাকায় সীমাবদ্ধ করুন।
আপনি locationRestriction প্যারামিটার যোগ করে location এবং radius প্যারামিটার দ্বারা নির্ধারিত অঞ্চলে ফলাফল সীমাবদ্ধ করতে পারেন। এটি Autocomplete (New) কে শুধুমাত্র সেই অঞ্চলের মধ্যে ফলাফল ফেরত দেওয়ার নির্দেশ দেয়।
চেষ্টা করে দেখুন!
APIs Explorer আপনাকে নমুনা অনুরোধ করতে দেয় যাতে আপনি API এবং API বিকল্পগুলির সাথে পরিচিত হতে পারেন।
পৃষ্ঠার ডান দিকে API আইকন API নির্বাচন করুন।
ঐচ্ছিকভাবে অনুরোধের প্যারামিটারগুলি সম্পাদনা করুন।
এক্সিকিউট বোতামটি নির্বাচন করুন। ডায়ালগে, অনুরোধটি করার জন্য আপনি যে অ্যাকাউন্টটি ব্যবহার করতে চান তা নির্বাচন করুন।
APIs Explorer প্যানেলে, APIs Explorer উইন্ডোটি প্রসারিত করতে ফুলস্ক্রিন আইকন ফুলস্ক্রিন নির্বাচন করুন।