অটোমেটিক সম্পূর্ণ করা (নতুন)

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript ওয়েব পরিষেবা
ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

ভূমিকা

অটোকমপ্লিট (নতুন) হল একটি ওয়েব পরিষেবা যা HTTP অনুরোধের উত্তরে জায়গার পূর্বাভাস এবং কোয়েরির পূর্বাভাস প্রদান করে। অনুরোধে, একটি টেক্সট সার্চ স্ট্রিং এবং ভৌগোলিক সীমানা নির্দিষ্ট করুন যা সার্চ এলাকা নিয়ন্ত্রণ করে।

অটো-কমপ্লিট (নতুন) ইনপুটের সম্পূর্ণ শব্দ এবং সাবস্ট্রিংয়ের সাথে মিলতে পারে, জায়গার নাম, ঠিকানা এবং প্লাস কোড সমাধান করে। তাই, ব্যবহারকারী টাইপ করার সাথে সাথে অ্যাপ্লিকেশন কোয়েরি পাঠাতে পারে, যাতে সাথে সাথে জায়গা ও কোয়েরি সংক্রান্ত পূর্বাভাস প্রদান করা যায়।

অটোকমপ্লিট (নতুন) থেকে পাওয়া উত্তরে দুই ধরনের পূর্বাভাস থাকতে পারে:

  • জায়গার পূর্বাভাস: নির্দিষ্ট ইনপুট টেক্সট স্ট্রিং এবং সার্চ এলাকার উপর ভিত্তি করে, ব্যবসা, ঠিকানা এবং আগ্রহের জায়গার মতো জায়গা। ডিফল্ট হিসেবে জায়গার পূর্বাভাস দেখানো হয়।
  • কোয়েরি সংক্রান্ত অনুমান: ইনপুট টেক্সট স্ট্রিং এবং সার্চ এরিয়ার সাথে মিলে যায় এমন কোয়েরি স্ট্রিং। ডিফল্ট হিসেবে কোয়েরির পূর্বাভাস দেখানো হয় না। উত্তরে কোয়েরি পূর্বাভাস যোগ করতে includeQueryPredictions অনুরোধ প্যারামিটার ব্যবহার করুন।

যেমন, আপনি ইনপুট হিসেবে স্ট্রিং ব্যবহার করে অটোকমপ্লিট (নতুন) কল করেন যেটিতে ব্যবহারকারীর আংশিক ইনপুট, "Sicilian piz" থাকে, সাথে সার্চ এরিয়া ক্যালিফোর্নিয়ার সান ফ্রান্সিসকোতে সীমাবদ্ধ থাকে। তারপর, উত্তরে জায়গার পূর্বাভাস-এর একটি তালিকা থাকে যা সার্চ স্ট্রিং এবং সার্চ এরিয়ার সাথে মেলে, যেমন "সিসিলিয়ান পিৎজা কিচেন" নামের রেস্তোরাঁ, সাথে জায়গাটি সম্পর্কে বিবরণ।

ব্যবহারকারীকে তার কাঙ্ক্ষিত জায়গা বেছে নিতে সাহায্য করার জন্য জায়গার পূর্বাভাস দেখানো হয়। আপনি জায়গার বিবরণ (নতুন) অনুরোধ করে, ফিরে আসা জায়গার পূর্বাভাস সম্পর্কে আরও তথ্য পেতে পারেন।

এছাড়াও, উত্তরে কোয়েরি সংক্রান্ত পূর্বাভাসের একটি তালিকা থাকতে পারে যা সার্চ স্ট্রিং ও সার্চ এরিয়ার সাথে ম্যাচ করে, যেমন "সিসিলিয়ান পিৎজা ও পাস্তা"। উত্তরে প্রতিটি কোয়েরি পূর্বাভাসে text ফিল্ড অন্তর্ভুক্ত থাকে, যাতে একটি সাজেস্ট করা টেক্সট সার্চ স্ট্রিং থাকে। আরও বিস্তারিত সার্চ করতে, Text Search (New)-এ ইনপুট হিসেবে সেই স্ট্রিং ব্যবহার করুন।

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

ব্যবহারযোগ্য প্যারামিটার

প্যারামিটার

বিবরণ

input*

সার্চ করার জন্য টেক্সট স্ট্রিং (সম্পূর্ণ শব্দ, সাবস্ট্রিং, জায়গার নাম, ঠিকানা, প্লাস কোড)।

FieldMask (HTTP হেডার)

কমা দিয়ে আলাদা করা তালিকা যা নির্দিষ্ট করে যে উত্তরে কোন কোন ফিল্ড ফেরত দিতে হবে।

includedPrimaryTypes

সর্বাধিক পাঁচটি নির্দিষ্ট প্রাথমিক ধরনের মধ্যে একটির সাথে মেলে এমন জায়গায় ফলাফল সীমাবদ্ধ করে।

includePureServiceAreaBusinesses

সত্য হলে, কোনও ফিজিক্যাল লোকেশন নেই এমন ব্যবসাকে অন্তর্ভুক্ত করে (পরিষেবা এলাকার ব্যবসা)। ডিফল্ট হিসেবে false সেট করা থাকে।

includeQueryPredictions

সত্যি হলে, উত্তরে জায়গা ও কোয়েরি সংক্রান্ত পূর্বাভাস, উভয়ই অন্তর্ভুক্ত করে। ডিফল্ট হিসেবে false সেট করা থাকে।

includedRegionCodes

ফলাফল সীমাবদ্ধ করতে সর্বাধিক ১৫টি দুই-অক্ষরের দেশের কোডের অ্যারে।

inputOffset

ইনপুট স্ট্রিংয়ের মধ্যে কার্সরের পজিশনের জিরো-বেসড ইউনিকোড ক্যারেক্টার অফসেট, যা পূর্বাভাসের উপর প্রভাব ফেলে। ইনপুট দৈর্ঘ্যে ডিফল্ট করা হয়।

languageCode

ফলাফলের জন্য পছন্দের ভাষা (IETF BCP-47 কোড)। ডিফল্ট হিসেবে Accept-Language হেডার বা 'en' সেট করা থাকে।

locationBias

সার্চ ফলাফলকে নির্দিষ্ট এলাকার (বৃত্ত বা আয়তক্ষেত্র) দিকে বায়াস করে, তবে এলাকার বাইরের ফলাফলও দেখায়। locationRestriction-এর সাথে ব্যবহার করা যাবে না।

locationRestriction

সার্চ ফলাফল সীমাবদ্ধ করার জন্য একটি এলাকা (বৃত্ত বা আয়তক্ষেত্র) নির্দিষ্ট করে। এই এলাকার বাইরের ফলাফল বাদ দেওয়া হয়েছে। locationBias-এর সাথে ব্যবহার করা যাবে না।

origin

পূর্বাভাস দেওয়া গন্তব্যের সরলরৈখিক দূরত্ব (distanceMeters) গণনা করার জন্য উৎপত্তি বিন্দু (অক্ষাংশ, দ্রাঘিমাংশ) ব্যবহার করা হয়।

regionCode

উত্তর ফর্ম্যাট করতে এবং সাজেশন পক্ষপাতদুষ্ট করতে ব্যবহৃত অঞ্চল কোড (যেমন, 'uk', 'fr')।

sessionToken

বিলিংয়ের উদ্দেশ্যে একটি সেশনে অটোকমপ্লিট কল গ্রুপ করার জন্য ব্যবহারকারীর তৈরি করা স্ট্রিং।

* ফাঁকা রাখা যাবে না এমন ফিল্ড দেখায়।

উত্তর সম্পর্কে

অটোমেটিক সম্পূর্ণ করা (নতুন) ফিচার রেসপন্স হিসেবে JSON অবজেক্ট রিটার্ন করে। উত্তরে:

  • suggestions অ্যারেতে সব অনুমান করা জায়গা ও কোয়েরি থাকে, যা তাদের অনুভূত প্রাসঙ্গিকতার ভিত্তিতে সাজানো থাকে। প্রতিটি জায়গা placePrediction ফিল্ড এবং প্রতিটি কোয়েরি queryPrediction ফিল্ডের মাধ্যমে দেখানো হয়।
  • placePrediction ফিল্ডে একটি জায়গার পূর্বাভাসের বিস্তারিত তথ্য থাকে, যার মধ্যে জায়গার আইডি ও টেক্সট বিবরণ অন্তর্ভুক্ত।
    • input প্যারামিটারে ব্যবহারকারীর ইনপুটের সাথে আরও ঘনিষ্ঠভাবে মিলতে, কোনও জায়গার পূর্বাভাসের টেক্সট বিবরণে জায়গা, রাস্তা এবং অন্যান্য ঠিকানার উপাদানের বিকল্প নাম অন্তর্ভুক্ত থাকতে পারে। এই বিকল্প নামগুলি একই জায়গা আইডির জন্য জায়গার বিবরণ ফলাফলের displayName এবং ঠিকানা ফিল্ডে ফেরত আসা নামের থেকে আলাদা হতে পারে।
    • এই প্রসঙ্গে, কিছু জায়গার বিকল্প নাম languageCode প্যারামিটারের উপর ভিত্তি করে প্রত্যাশিত ভাষার থেকে আলাদা ভাষায় হতে পারে, কোন নামটি ব্যবহারকারীর ইনপুটের সাথে সবচেয়ে বেশি মিলছে তার উপর নির্ভর করে এটি হয়।
  • 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
            }]
        },
        ...
    }
  ...]
}

প্রয়োজনীয় প্যারামিটার

ইনপুট

যে টেক্সট স্ট্রিংয়ে সার্চ করতে হবে। সম্পূর্ণ শব্দ ও সাবস্ট্রিং, জায়গার নাম, ঠিকানা ও Plus Code উল্লেখ করুন। অটোকমপ্লিট (নতুন) পরিষেবা এই স্ট্রিংয়ের ভিত্তিতে সম্ভাব্য ম্যাচ দেখায় এবং তাদের অনুভূত প্রাসঙ্গিকতার ভিত্তিতে ফলাফল সাজায়।

ঐচ্ছিক প্যারামিটার

FieldMask

উত্তরের ফিল্ড মাস্ক তৈরি করে উত্তরে দেখানোর জন্য ফিল্ডের তালিকা নির্দিষ্ট করুন। 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: *

includeFutureOpeningBusinesses

true হলে, ভবিষ্যতে খুলতে পারে এমন ব্যবসা দেখায়। ডিফল্ট হিসেবে false সেট করা থাকে।

includedPrimaryTypes

সারণী ক বা সারণী খ-তে তালিকাভুক্ত প্রকারগুলির মধ্যে থেকে কোনও জায়গার শুধুমাত্র একটি একক প্রাথমিক প্রকার থাকতে পারে। যেমন, প্রাইমারি ধরন "mexican_restaurant" বা "steak_house" হতে পারে।

ডিফল্ট হিসেবে, API input প্যারামিটারের উপর ভিত্তি করে সব জায়গা দেখায়, জায়গার সাথে যুক্ত প্রাইমারি টাইপ ভ্যালু যাই হোক না কেন। includedPrimaryTypes প্যারামিটার পাস করে ফলাফলকে নির্দিষ্ট প্রাইমারি ধরন বা প্রাইমারি ধরনের মধ্যে সীমাবদ্ধ করুন।

সারণী A বা সারণী B থেকে সর্বাধিক পাঁচটি টাইপ ভ্যালু নির্দিষ্ট করতে এই প্যারামিটার ব্যবহার করুন। উত্তরে অন্তর্ভুক্ত করার জন্য কোনও জায়গাকে অবশ্যই নির্দিষ্ট করা প্রাথমিক ধরনের ভ্যালুর মধ্যে একটির সাথে ম্যাচ করতে হবে।

এছাড়াও, এই প্যারামিটারে (regions) বা (cities)-এর মধ্যে কোনও একটি অন্তর্ভুক্ত থাকতে পারে। (regions) ধরনের সংগ্রহ, এলাকা বা বিভাগের জন্য ফিল্টার করে, যেমন আশেপাশের এলাকা এবং পিন কোড। (cities) টাইপ কালেকশন সেইসব জায়গার জন্য ফিল্টার করে যেগুলিকে Google শহর হিসেবে শনাক্ত করে।

অনুরোধটি INVALID_REQUEST সমস্যার কারণে বাতিল করা হয় যদি:

  • পাঁচটির বেশি ধরন নির্দিষ্ট করা হয়েছে।
  • (cities) বা (regions) ছাড়াও যেকোনও ধরন নির্দিষ্ট করা আছে।
  • কোনও অচেনা ধরন নির্দিষ্ট করা হয়েছে।

includePureServiceAreaBusinesses

true-এ সেট করা হলে, উত্তরে এমন ব্যবসা অন্তর্ভুক্ত থাকে যা গ্রাহকদের কাছে যায় বা সরাসরি ডেলিভারি করে, কিন্তু ব্যবসার কোনও ফিজিক্যাল লোকেশন নেই। false-এ সেট করা হলে, API শুধুমাত্র সেইসব ব্যবসা দেখায় যেগুলির ফিজিক্যাল লোকেশন আছে।

includeQueryPredictions

true হলে, উত্তরে জায়গা ও কোয়েরি সংক্রান্ত পূর্বাভাস, দুটিই অন্তর্ভুক্ত থাকে। ডিফল্ট ভ্যালু হল false, যার অর্থ হল উত্তরে শুধু জায়গার পূর্বাভাস অন্তর্ভুক্ত থাকে।

includedRegionCodes

শুধুমাত্র নির্দিষ্ট অঞ্চলের তালিকা থেকে ফলাফল অন্তর্ভুক্ত করুন, যা সর্বাধিক ১৫টি ccTLD ("টপ-লেভেল ডোমেন") দুটি-অক্ষরের মানের অ্যারে হিসেবে নির্দিষ্ট করা হয়েছে। বাদ দেওয়া হলে, উত্তরে কোনও বিধিনিষেধ প্রযোজ্য হয় না। যেমন, অঞ্চলগুলি জার্মানি এবং ফ্রান্সে সীমাবদ্ধ করতে:

    "includedRegionCodes": ["de", "fr"]

আপনি locationRestriction এবং includedRegionCodes, দুটিই নির্দিষ্ট করলে, দুটি সেটিংসের ইন্টারসেকশন এলাকায় ফলাফলগুলি অবস্থিত।

inputOffset

শূন্য-ভিত্তিক ইউনিকোড অক্ষর অফসেট যা input-এ কার্সারের পজিশন নির্দেশ করে। কার্সারের পজিশন, কী ধরনের অনুমান দেখানো হবে তা প্রভাবিত করতে পারে। ফাঁকা থাকলে, এটি ডিফল্ট হিসেবে input-এর দৈর্ঘ্যের সমান হয়।

languageCode

ফলাফল দেখানোর জন্য পছন্দের ভাষা। input-এ ব্যবহৃত ভাষা languageCode-এর মাধ্যমে নির্দিষ্ট করা ভ্যালুর থেকে আলাদা হলে অথবা ফেরত দেওয়া জায়গার স্থানীয় ভাষা থেকে languageCode-এ অনুবাদ করা না থাকলে, ফলাফল মিশ্র ভাষায় হতে পারে।

  • পছন্দের ভাষা উল্লেখ করতে আপনাকে অবশ্যই IETF BCP-47 ভাষা কোড ব্যবহার করতে হবে।
  • languageCode প্রদান করা না হলে, API Accept-Language হেডারে উল্লেখ করা ভ্যালু ব্যবহার করে। কোনওটিই নির্দিষ্ট করা না থাকলে, ডিফল্ট হল en। আপনি যদি ভুল ভাষার কোড উল্লেখ করেন, তাহলে API একটি INVALID_ARGUMENT ত্রুটি দেখায়।
  • API যে ফলাফল দেখায় এবং যে ক্রমে দেখায়, তার উপর পছন্দের ভাষার সামান্য প্রভাব থাকে। এটি বানান সংক্রান্ত ভুল সংশোধন করার ক্ষেত্রে API-এর ক্ষমতার উপরেও প্রভাব ফেলে।
  • প্রতিটি অনুরোধে ব্যবহারকারীর ইনপুটের উপর নির্ভর করে জায়গার পূর্বাভাস আলাদাভাবে ফর্ম্যাট করা হয়।
    • input প্যারামিটারে ম্যাচ করা শব্দগুলি প্রথমে বেছে নেওয়া হয়, languageCode প্যারামিটার দ্বারা নির্দেশিত পছন্দের ভাষার সাথে অ্যালাইন করা নাম ব্যবহার করে, যখন উপলভ্য থাকে, অন্যথায় ব্যবহারকারীর ইনপুটের সাথে সবচেয়ে ভালোভাবে ম্যাচ করা নাম ব্যবহার করে।
    • input প্যারামিটারে থাকা শব্দের সাথে ম্যাচ করার জন্য জায়গার নাম বিকল্প নাম ব্যবহার করে ফর্ম্যাট করা হতে পারে, এর মধ্যে languageCode প্যারামিটারে উল্লেখ করা ভাষা ছাড়া অন্যান্য ভাষার নামও অন্তর্ভুক্ত।
    • রাস্তার ঠিকানা স্থানীয় ভাষায় ফর্ম্যাট করা হয়, সম্ভব হলে ব্যবহারকারীর পড়ার উপযোগী স্ক্রিপ্টে, শুধুমাত্র input প্যারামিটারে থাকা শব্দের সাথে ম্যাচ করা শব্দ বেছে নেওয়ার পরে।
    • input প্যারামিটারের সাথে মিল থাকা শব্দ বেছে নেওয়ার পরে, অন্যান্য সব ঠিকানা পছন্দের ভাষায় দেখানো হয়। পছন্দের ভাষায় কোনও নাম উপলভ্য না থাকলে, API সবচেয়ে কাছাকাছি মেলে এমন নাম ব্যবহার করে।

locationBias বা locationRestriction

সার্চ করার এলাকা নির্দিষ্ট করতে, আপনি locationBias বা locationRestriction উল্লেখ করতে পারেন, তবে দুটিই নয়। locationRestriction-কে এমন একটি অঞ্চল হিসেবে ভাবুন যার মধ্যে ফলাফল থাকতেই হবে এবং locationBias-কে এমন একটি অঞ্চল হিসেবে ভাবুন যার কাছাকাছি ফলাফল থাকতে হবে, তবে তা অঞ্চলের বাইরেও হতে পারে।

  • locationBias

    সার্চ করার জন্য কোনও এলাকা নির্দিষ্ট করে। এই লোকেশনটি পক্ষপাতিত্ব হিসেবে কাজ করে যার অর্থ নির্দিষ্ট লোকেশনের আশেপাশের ফলাফল ফেরত দেওয়া যেতে পারে, যার মধ্যে নির্দিষ্ট এলাকার বাইরের ফলাফলও অন্তর্ভুক্ত।

  • locationRestriction

    সার্চ করার জন্য কোনও এলাকা নির্দিষ্ট করে। নির্দিষ্ট করা এলাকার বাইরের ফলাফল ফেরত দেওয়া হয় না।

locationBias বা locationRestriction অঞ্চলকে আয়তাকার ভিউপোর্ট বা বৃত্ত হিসেবে নির্দিষ্ট করুন।

  • একটি বৃত্তকে কেন্দ্রবিন্দু এবং মিটারে ব্যাসার্ধ দ্বারা সংজ্ঞায়িত করা হয়। ব্যাসার্ধ অবশ্যই ০.০ থেকে ৫০০০০.০-এর মধ্যে হতে হবে। ডিফল্ট ভ্যালু হল ০.০। locationRestriction-এর জন্য, আপনাকে অবশ্যই ব্যাসার্ধের মান 0.0-এর বেশি সেট করতে হবে। অন্যথায়, অনুরোধের কোনও ফলাফল পাওয়া যায় না।

    যেমন:

    "locationBias": {
      "circle": {
        "center": {
          "latitude": 37.7937,
          "longitude": -122.3965
        },
        "radius": 500.0
      }
    }
  • একটি আয়তক্ষেত্র হল অক্ষাংশ-দ্রাঘিমাংশ ভিউপোর্ট, যা দুটি কোণাকুণি বিপরীত low এবং হাই পয়েন্ট হিসেবে দেখানো হয়। একটি ভিউপোর্টকে একটি বন্ধ অঞ্চল হিসাবে বিবেচনা করা হয়, যার অর্থ এটিতে এর সীমানা অন্তর্ভুক্ত রয়েছে। অক্ষাংশের সীমা অবশ্যই -৯০ থেকে ৯০ ডিগ্রির মধ্যে হতে হবে এবং দ্রাঘিমাংশের সীমা অবশ্যই -১৮০ থেকে ১৮০ ডিগ্রির মধ্যে হতে হবে:

    • low = high হলে, ভিউপোর্টে শুধু সেই একটি পয়েন্টই থাকে।
    • low.longitude > high.longitude হলে, দ্রাঘিমাংশের রেঞ্জ ইনভার্ট করা হয় (ভিউ পোর্ট ১৮০ ডিগ্রি দ্রাঘিমাংশ রেখা ক্রস করে)।
    • low.longitude = -১৮০ ডিগ্রি এবং high.longitude = ১৮০ ডিগ্রি হলে, ভিউপোর্টে সব দ্রাঘিমাংশ অন্তর্ভুক্ত থাকে।
    • 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
}

regionCode

উত্তর ফর্ম্যাট করার জন্য ব্যবহৃত অঞ্চল কোড, যা ccTLD ("টপ-লেভেল ডোমেন") দুই-অক্ষরের মান হিসেবে নির্দিষ্ট করা হয়েছে। বেশিরভাগ ccTLD কোড ISO 3166-1 কোডের সাথে অভিন্ন, তবে কিছু উল্লেখযোগ্য ব্যতিক্রম আছে। যেমন, যুক্তরাজ্যের ccTLD হল "uk" (.co.uk) এবং এর ISO 3166-1 কোড হল "gb" (টেকনিক্যালি "The United Kingdom of Great Britain and Northern Ireland" এন্টিটির জন্য)।

এছাড়াও, অঞ্চল কোডের ভিত্তিতে সাজেশন পক্ষপাতদুষ্ট হয়। Google, ব্যবহারকারীর আঞ্চলিক অভিরুচি অনুযায়ী regionCode সেট করার সাজেশন দেয়।

আপনি ভুল অঞ্চল কোড উল্লেখ করলে, API INVALID_ARGUMENT সমস্যা দেখায়। প্রযোজ্য আইনের উপর ভিত্তি করে প্যারামিটার ফলাফলে প্রভাব ফেলতে পারে।

আপনি regionCode সেট করলে, সেই অঞ্চলের মধ্যে করা পূর্বাভাসের ক্ষেত্রে সাজেশন টেক্সট থেকে দেশের নাম বাদ দেওয়া হতে পারে, যার অর্থ হল structuredFormat.secondaryText উপস্থিত নাও থাকতে পারে। তাই, আপনার অ্যাপ্লিকেশন যাতে এমন কেস ম্যানেজ করতে পারে তা নিশ্চিত করুন যেখানে secondaryText উল্লেখ করা নেই বা অনুপস্থিত।

sessionToken

সেশন টোকেন হল ব্যবহারকারীর তৈরি করা স্ট্রিং যা অটোমেটিক সম্পূর্ণ (নতুন) কলকে "সেশন" হিসেবে ট্র্যাক করে। অটোমেটিক সম্পূর্ণ (নতুন) ফিচারটি সেশন টোকেন ব্যবহার করে কোয়েরি এবং ব্যবহারকারীর অটোমেটিক সম্পূর্ণ সার্চের নির্বাচন পর্যায়গুলিকে বিলিংয়ের উদ্দেশ্যে একটি পৃথক সেশনে গ্রুপ করে। আরও তথ্যের জন্য, সেশন টোকেন দেখুন।

ফলাফল বায়াস করতে প্যারামিটার বেছে নিন

অটোকমপ্লিট (নতুন) প্যারামিটার সার্চ ফলাফলকে আলাদাভাবে প্রভাবিত করতে পারে। নিম্নলিখিত সারণীতে কাঙ্ক্ষিত ফলাফলের উপর ভিত্তি করে প্যারামিটার ব্যবহারের জন্য সাজেশন প্রদান করা হয়েছে।
প্যারামিটার ব্যবহার সংক্রান্ত সাজেশন
regionCode ব্যবহারকারীর আঞ্চলিক পছন্দ অনুযায়ী সেট করা হয়।
includedRegionCodes নির্দিষ্ট অঞ্চলের তালিকায় ফলাফল সীমিত করতে সেট করুন।
locationBias কোনও অঞ্চলের মধ্যে বা আশেপাশে ফলাফল পেতে এটি ব্যবহার করুন। প্রযোজ্য হলে, ব্যবহারকারী যে ম্যাপ দেখছেন তার ভিউপোর্ট হিসেবে অঞ্চলটি সংজ্ঞায়িত করুন।
locationRestriction শুধুমাত্র তখনই ব্যবহার করুন যখন কোনও অঞ্চলের বাইরের ফলাফল ফেরত দেওয়া উচিত নয়।
origin প্রতিটি পূর্বাভাসের জন্য সরলরেখা বরাবর দূরত্ব নির্ণয় করতে চাইলে এটি ব্যবহার করুন।

অটো-কমপ্লিট (নতুন) উদাহরণ

locationRestriction ব্যবহার করে কোনও এলাকায় সার্চ সীমাবদ্ধ করা

locationRestriction সার্চ করার জন্য এলাকা নির্দিষ্ট করে। নির্দিষ্ট করা এলাকার বাইরের ফলাফল ফেরত দেওয়া হয় না। নিম্নলিখিত উদাহরণে, আপনি 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 ব্যবহার করে আয়তাকার ভিউ পোর্ট-এ সার্চ সীমাবদ্ধ করতে পারেন। নিম্নলিখিত উদাহরণটি ডাউনটাউন সান ফ্রান্সিসকোতে অনুরোধ সীমাবদ্ধ করে:

  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 ব্যবহার করে কোনও এলাকায় সার্চ বায়াস করা

locationBias-এর ক্ষেত্রে, লোকেশন পক্ষপাত হিসেবে কাজ করে যার অর্থ হল নির্দিষ্ট লোকেশনের আশেপাশের ফলাফল দেখানো হতে পারে, যার মধ্যে নির্দিষ্ট এলাকার বাইরের ফলাফলও অন্তর্ভুক্ত। নিম্নলিখিত উদাহরণে, আপনি ডাউনটাউন সান ফ্রান্সিসকোর জন্য অনুরোধটি পক্ষপাতদুষ্ট করেন:

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 ব্যবহার করে আয়তাকার ভিউ পোর্ট-এ সার্চ বায়াস করতে পারবেন। নিম্নলিখিত উদাহরণটি ডাউনটাউন সান ফ্রান্সিসকোতে অনুরোধ সীমাবদ্ধ করে:

  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 ব্যবহার করুন

includedPrimaryTypes প্যারামিটার ব্যবহার করে সারণী ক, সারণী খ, অথবা শুধু (regions), অথবা শুধু (cities) থেকে সর্বাধিক পাঁচটি টাইপ ভ্যালু নির্দিষ্ট করুন। কোনও জায়গা উত্তরে অন্তর্ভুক্ত করার জন্য নির্দিষ্ট করা প্রাথমিক ধরনের ভ্যালুর মধ্যে একটির সাথে মিলতে হবে।

নিম্নলিখিত উদাহরণে, আপনি "সকার" input স্ট্রিং নির্দিষ্ট করেন এবং includedPrimaryTypes প্যারামিটার ব্যবহার করে "sporting_goods_store" ধরনের প্রতিষ্ঠানের মধ্যে ফলাফল সীমাবদ্ধ করেন:

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 অন্তর্ভুক্ত করলে, অটো-কমপ্লিট (নতুন) উত্তরে 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
      }
    }
  ]
}

ভবিষ্যতে খুলবে এমন ব্যবসা খুঁজুন

নিম্নলিখিত উদাহরণে Idaho-র New Meadows-এ ভবিষ্যতে খুলবে এমন ব্যবসার জন্য অটোমেটিক সম্পূর্ণ (নতুন) অনুরোধ দেখানো হয়েছে:

curl -X POST \
-H "Content-Type: application/json" \
-H "X-Goog-Api-Key: API_KEY" \
-d '{
  "input": "Roberts Greenhouse and Tree Farm",
  "includeFutureOpeningBusinesses": true,
  "locationBias": {
    "circle": {
      "center": {"latitude": 44.9755100, "longitude": -116.2842180},
      "radius": 20
    }
  }
}' \
"https://places.googleapis.com/v1/places:autocomplete"

উত্তরে জায়গাটি সম্পর্কে বিবরণ রয়েছে, কিন্তু খোলার তারিখ নেই।

{
  "suggestions": [
    {
      "placePrediction": {
        "place": "places/ChIJp1-VoKWJplQRMz8g-7Wa3Do",
        "placeId": "ChIJp1-VoKWJplQRMz8g-7Wa3Do",
        "text": {
          "text": "Roberts Greenhouse and Tree Farm, McLain Street, New Meadows, ID, USA",
          "matches": [
            {
              "endOffset": 32
            }
          ]
        },
        "structuredFormat": {
          "mainText": {
            "text": "Roberts Greenhouse and Tree Farm",
            "matches": [
              {
                "endOffset": 32
              }
            ]
          },
          "secondaryText": {
            "text": "McLain Street, New Meadows, ID, USA"
          }
        },
        "types": [
          "garden_center",
          "establishment",
          "service",
          "store",
          "point_of_interest"
        ]
      }
    }
  ]
}

উত্তরে দূরত্ব উল্লেখ করা নেই

কিছু ক্ষেত্রে, অনুরোধে origin অন্তর্ভুক্ত থাকলেও, রেসপন্স বডিতে distanceMeters অনুপস্থিত থাকে। নিম্নলিখিত পরিস্থিতিতে এটি হতে পারে:

  • route পূর্বাভাসের জন্য distanceMeters অন্তর্ভুক্ত করা হয়নি।
  • distanceMeters-এর ভ্যালু 0 হলে, এটি অন্তর্ভুক্ত করা হয় না, এটি এমন পূর্বাভাসের ক্ষেত্রে প্রযোজ্য যা প্রদত্ত origin লোকেশন থেকে ১ মিটারের কম দূরত্বে রয়েছে।

পার্স করা অবজেক্ট থেকে distanceMeters ফিল্ড পড়ার চেষ্টা করা ক্লায়েন্ট লাইব্রেরি 0 ভ্যালু সহ ফিল্ড রিটার্ন করবে। ব্যবহারকারীদের বিভ্রান্ত করা এড়াতে, ব্যবহারকারীদের কাছে শূন্য দূরত্ব দেখাবেন না।

অটোকমপ্লিট (নতুন) অপ্টিমাইজেশন

এই বিভাগে পেশাদার পদ্ধতি সম্পর্কে বর্ণনা করা হয়েছে যা আপনাকে অটোকমপ্লিট (নতুন) পরিষেবা থেকে সর্বাধিক সুবিধা পেতে সাহায্য করবে।

এখানে কিছু সাধারণ নির্দেশিকা দেওয়া হল:

  • কাজ করে এমন ইউজার ইন্টারফেস ডেভেলপ করার সবচেয়ে দ্রুত উপায় হল Maps JavaScript API অটোকমপ্লিট (নতুন) উইজেট, Android-এর জন্য Places SDK অটোকমপ্লিট (নতুন) উইজেট, অথবা iOS-এর জন্য Places SDK অটোকমপ্লিট (নতুন) উইজেট ব্যবহার করা।
  • শুরু থেকেই অটোমেটিক সম্পূর্ণ হওয়া (নতুন) ডেটা ফিল্ড সম্পর্কে প্রয়োজনীয় তথ্য জেনে নিন।
  • লোকেশন বায়াসিং ও লোকেশন সংক্রান্ত বিধিনিষেধের ফিল্ড ঐচ্ছিক হলেও, অটোকমপ্লিট পারফর্ম্যান্সের উপর এর উল্লেখযোগ্য প্রভাব থাকতে পারে।
  • API কোনও সমস্যা রিটার্ন করলে, আপনার অ্যাপ যাতে ঠিকভাবে কাজ করা বন্ধ করে দেয় তা নিশ্চিত করতে সমস্যা ম্যানেজ করার সুবিধা ব্যবহার করুন।
  • কোনও কিছু বেছে না নেওয়া হলে আপনার অ্যাপ যেন সেটি ম্যানেজ করতে পারে এবং ব্যবহারকারীকে চালিয়ে যাওয়ার উপায় অফার করে তা নিশ্চিত করুন।

খরচ অপ্টিমাইজ করার পেশাদার পদ্ধতি

প্রাথমিক খরচ অপ্টিমাইজেশন

Autocomplete (New) পরিষেবা ব্যবহারের খরচ অপ্টিমাইজ করতে, জায়গার বিবরণ (New) এবং Autocomplete (New) উইজেটে ফিল্ড মাস্ক ব্যবহার করুন যাতে শুধু আপনার প্রয়োজনীয় Autocomplete (New) ডেটা ফিল্ড ফেরত পাওয়া যায়।

উন্নত খরচ অপ্টিমাইজেশন

অ্যাক্সেস করতে Autocomplete (New)-এর প্রোগ্রাম্যাটিক ইমপ্লিমেন্টেশন বিবেচনা করুন SKU: Autocomplete Request-এর দাম এবং জায়গার বিবরণ (New)-এর পরিবর্তে বেছে নেওয়া জায়গা সম্পর্কে Geocoding API ফলাফল অনুরোধ করুন। Geocoding API-এর সাথে পেয়ার করা অনুরোধ-প্রতি দাম সেশন-প্রতি (সেশন-ভিত্তিক) দামের চেয়ে বেশি সাশ্রয়ী হয়, যদি নিম্নলিখিত দুটি শর্তই পূরণ করা হয়:

  • ব্যবহারকারীর বেছে নেওয়া জায়গার অক্ষাংশ ও দ্রাঘিমাংশ বা ঠিকানা জানতে চাইলে, Geocoding API এই তথ্য Place Details (New) কলের চেয়ে কম খরচে প্রদান করে।
  • ব্যবহারকারীরা যদি গড়ে চারটি বা তার কম অটোকমপ্লিট (নতুন) পূর্বাভাসের অনুরোধের মধ্যে একটি অটোকমপ্লিট পূর্বাভাস বেছে নেন, তাহলে প্রতি-অনুরোধের মূল্য প্রতি-সেশনের মূল্যের চেয়ে আরও সাশ্রয়ী হতে পারে।
আপনার অ্যাপ্লিকেশনের জন্য সবচেয়ে কম খরচের অটোমেটিক পূরণ (নতুন) ইমপ্লিমেন্টেশন বেছে নিতে, নিচের সারণীতে আপনার অ্যাপ্লিকেশনের প্রয়োজনের সাথে মেলে এমন সারিটি খুঁজুন।
আপনার অ্যাপ্লিকেশনে কী কী প্রয়োজন ব্যবহারকারী কোনও সাজেশন বেছে নেওয়ার আগে গড় অটোকমপ্লিট (নতুন) অনুরোধ প্রয়োগ সংক্রান্ত সাজেশন
ঠিকানা ও লোকেশন ছাড়া জায়গার অন্যান্য বিবরণ, যেমন জায়গার নাম, ব্যবসার স্ট্যাটাস বা খোলা থাকার সময় যেকোনও নম্বর জায়গার বিবরণ (নতুন) সহ সেশন-ভিত্তিক অটোমেটিক সম্পূর্ণ করা (নতুন)
শুধুমাত্র বেছে নেওয়া পূর্বাভাসের ঠিকানা এবং অক্ষাংশ/দ্রাঘিমাংশ চারটি বা তার কম Geocoding API-এর সাথে প্রতি-অনুরোধ অটোকমপ্লিট (নতুন)
শুধুমাত্র বেছে নেওয়া পূর্বাভাসের ঠিকানা এবং অক্ষাংশ/দ্রাঘিমাংশ চারটির বেশি শুধুমাত্র ঠিকানা-ভিত্তিক অ্যাপ্লিকেশনের জন্য সেশন-ভিত্তিক অটো-কমপ্লিট (নতুন)

আপনার Autocomplete (New) ব্যবহারের পারফর্ম্যান্সের উপর নির্ভর করে, Geocoding API আপনার অ্যাপ্লিকেশনের জন্য Place Details (New)-এর চেয়ে বেশি সাশ্রয়ী বিকল্প হতে পারে। ব্যবহারকারী কী লিখছেন, অ্যাপ্লিকেশনটি কোথায় ব্যবহার করা হচ্ছে এবং পারফর্ম্যান্স অপ্টিমাইজেশন সংক্রান্ত পেশাদার পদ্ধতি প্রয়োগ করা হয়েছে কিনা তার উপর নির্ভর করে প্রতিটি অ্যাপ্লিকেশনের অটো-কমপ্লিট (নতুন) ফিচারের কার্যকারিতা পরিবর্তিত হয়।

টেবিলের জন্য অনুরোধের গড় সংখ্যা খুঁজে পেতে, আপনার অ্যাপ্লিকেশনে একটি অটোকমপ্লিট (নতুন) পূর্বাভাস বেছে নেওয়ার আগে একজন ব্যবহারকারী গড়ে কতগুলি অক্ষর টাইপ করেন তা বিশ্লেষণ করুন।

জায়গার বিবরণ (নতুন) সহ সেশন-ভিত্তিক অটোমেটিক সম্পূর্ণ করা (নতুন)

জায়গার বিবরণ (নতুন) সহ সেশন-ভিত্তিক অটোমেটিক সম্পূর্ণ (নতুন) ব্যবহার করুন।
আপনার অ্যাপ্লিকেশনে জায়গার নাম, ব্যবসার স্ট্যাটাস বা খোলা থাকার সময়ের মতো জায়গার বিবরণ (নতুন) প্রয়োজন হয় বলে, আপনার Autocomplete (নতুন) ইমপ্লিমেন্টেশনে সেশন টোকেন ব্যবহার করা উচিত (প্রোগ্রাম্যাটিক্যালি বা JavaScript, Android বা iOS উইজেটে বিল্ট-ইন) প্রতি সেশন এবং প্রযোজ্য Places SKU, আপনি কোন কোন জায়গার ডেটা ফিল্ডের জন্য অনুরোধ করছেন তার উপর নির্ভর করে।১

উইজেট প্রয়োগ করা
সেশন ম্যানেজমেন্ট অটোমেটিক JavaScript, Android, অথবা iOS উইজেটে তৈরি করা হয়। এর মধ্যে অটোকমপ্লিট (নতুন) অনুরোধ এবং বেছে নেওয়া পূর্বাভাসের উপর জায়গার বিবরণ (নতুন) অনুরোধ অন্তর্ভুক্ত। আপনার প্রয়োজনীয় fields প্যারামিটার উল্লেখ করতে ভুলবেন না, যাতে আপনি শুধু অটোমেটিক সম্পূর্ণ (নতুন) ডেটা ফিল্ড অনুরোধ করেন।

প্রোগ্রাম্যাটিক প্রয়োগ
আপনার 'অটোমেটিক সম্পূর্ণ করুন (নতুন)' অনুরোধের সাথে সেশন টোকেন ব্যবহার করুন। বেছে নেওয়া পূর্বাভাসের জন্য জায়গার বিবরণ (নতুন) সংক্রান্ত অনুরোধ করার সময়, নিম্নলিখিত প্যারামিটার অন্তর্ভুক্ত করুন:

  1. অটোমেটিক সম্পূর্ণ করা (নতুন) উত্তর থেকে পাওয়া জায়গার আইডি
  2. অটোকমপ্লিট (নতুন) অনুরোধে সেশন টোকেন ব্যবহার করা হয়েছে
  3. fields প্যারামিটারটি আপনার প্রয়োজনীয় অটোমেটিক সম্পূর্ণ করা (নতুন) ডেটা ফিল্ড নির্দিষ্ট করে

Geocoding API-এর সাথে প্রতি-অনুরোধ অটোকমপ্লিট (নতুন)

সেশন টোকেন ছাড়াই প্রোগ্রাম্যাটিকভাবে অটোমেটিক সম্পূর্ণ (নতুন) ফিচার প্রয়োগ করুন এবং বেছে নেওয়া জায়গার পূর্বাভাসের উপর Geocoding API কল করুন।
Geocoding API ঠিকানা এবং অক্ষাংশ/দ্রাঘিমাংশ স্থানাঙ্ক প্রদান করে। চারটি অটোমেটিক সম্পূর্ণ করার অনুরোধ এবং তার সাথে বেছে নেওয়া জায়গার পূর্বাভাসের জন্য একটি Geocoding API কল করার খরচ সেশন প্রতি অটোমেটিক সম্পূর্ণ করার (নতুন) খরচের চেয়ে কম।১

আপনার ব্যবহারকারীরা যাতে আরও কম অক্ষর ব্যবহার করে তাদের কাঙ্ক্ষিত পূর্বাভাস পেতে পারেন, তার জন্য পারফর্ম্যান্স সংক্রান্ত পেশাদার পদ্ধতি প্রয়োগ করার কথা বিবেচনা করুন।

শুধুমাত্র ঠিকানা-ভিত্তিক অ্যাপ্লিকেশনের জন্য সেশন-ভিত্তিক অটো-কমপ্লিট (নতুন)

জায়গার বিবরণ (নতুন) সহ সেশন-ভিত্তিক অটোমেটিক সম্পূর্ণ (নতুন) ব্যবহার করুন।
ব্যবহারকারী অটোকমপ্লিট (নতুন) সংক্রান্ত পূর্বাভাস বেছে নেওয়ার আগে আপনি যতগুলি অনুরোধ করবেন বলে আশা করেন, তার গড় সংখ্যা সেশন প্রতি দামের থেকে বেশি, তাই আপনার অটোকমপ্লিট (নতুন) সংক্রান্ত প্রয়োগের ক্ষেত্রে অটোকমপ্লিট (নতুন) সংক্রান্ত অনুরোধ এবং সংশ্লিষ্ট জায়গার বিবরণ (নতুন) সংক্রান্ত অনুরোধ, উভয়ের জন্যই সেশন টোকেন ব্যবহার করা উচিত সেশন প্রতি। ১

উইজেট প্রয়োগ করা
সেশন ম্যানেজমেন্ট অটোমেটিক JavaScript, Android বা iOS উইজেটে তৈরি করা হয়। এর মধ্যে অটোকমপ্লিট (নতুন) অনুরোধ এবং বেছে নেওয়া পূর্বাভাসের উপর জায়গার বিবরণ (নতুন) অনুরোধ অন্তর্ভুক্ত। আপনার প্রয়োজনীয় ফিল্ডের জন্য অনুরোধ করছেন কিনা তা নিশ্চিত করতে fields প্যারামিটার উল্লেখ করতে ভুলবেন না।

প্রোগ্রাম্যাটিক প্রয়োগ
আপনার 'অটোমেটিক সম্পূর্ণ করুন (নতুন)' অনুরোধের সাথে সেশন টোকেন ব্যবহার করুন। বেছে নেওয়া পূর্বাভাসের জন্য জায়গার বিবরণ (নতুন) সংক্রান্ত অনুরোধ করার সময়, নিম্নলিখিত প্যারামিটার অন্তর্ভুক্ত করুন:

  1. অটোমেটিক সম্পূর্ণ করা (নতুন) উত্তর থেকে পাওয়া জায়গার আইডি
  2. অটোকমপ্লিট (নতুন) অনুরোধে সেশন টোকেন ব্যবহার করা হয়েছে
  3. fields প্যারামিটার ঠিকানা ও জ্যামিতির মতো ফিল্ড নির্দিষ্ট করে

অটোকমপ্লিট (নতুন) অনুরোধে দেরি করার কথা বিবেচনা করুন
আপনি এমন কৌশল অবলম্বন করতে পারেন যেমন ব্যবহারকারী প্রথম তিন বা চারটি অক্ষর টাইপ না করা পর্যন্ত অটোকমপ্লিট (নতুন) অনুরোধে দেরি করা যাতে আপনার অ্যাপ্লিকেশন কম অনুরোধ করে। যেমন, ব্যবহারকারী তৃতীয় অক্ষর টাইপ করার পরে প্রতিটি অক্ষরের জন্য অটোকমপ্লিট (নতুন) অনুরোধ করার অর্থ হল, ব্যবহারকারী সাতটি অক্ষর টাইপ করে একটি অনুমান বেছে নিলে, যার জন্য আপনি একটি Geocoding API অনুরোধ করেন, তাহলে মোট খরচ হবে ৪টি অটোকমপ্লিট (নতুন) প্রতি অনুরোধ + Geocoding-এর জন্য।১

অনুরোধে দেরি করার ফলে আপনার গড় প্রোগ্র্যামাটিক অনুরোধ চারটির কম হলে, আপনি Geocoding API-এর সাথে পারফর্ম্যান্ট অটোমেটিক সম্পূর্ণ (নতুন) প্রয়োগ করার নির্দেশিকা অনুসরণ করতে পারেন। মনে রাখবেন যে অনুরোধে দেরি হলে ব্যবহারকারী লেটেন্সি হিসেবে বুঝতে পারেন, যিনি প্রতিটি নতুন কিস্ট্রোকে সাজেশন দেখার আশা করছেন।

আপনার ব্যবহারকারীরা যাতে কম অক্ষর ব্যবহার করেই তাদের প্রয়োজনীয় পূর্বাভাস পেতে পারেন, তার জন্য পারফর্ম্যান্স সংক্রান্ত পেশাদার পদ্ধতি প্রয়োগ করার কথা বিবেচনা করুন।


  1. খরচের জন্য, Google Maps Platform-এর দামের তালিকা দেখুন।

পারফর্ম্যান্স সংক্রান্ত পেশাদার পদ্ধতি

নিচের নির্দেশিকায় অটোমেটিক সম্পূর্ণ করা (নতুন) ফিচারের পারফর্ম্যান্স অপ্টিমাইজ করার উপায় বর্ণনা করা হয়েছে:

  • আপনার 'অটোমেটিক সম্পূর্ণ করুন (নতুন)' ইমপ্লিমেন্টেশনে দেশের উপর বিধিনিষেধ, লোকেশন বায়াসিং এবং (প্রোগ্রাম্যাটিক ইমপ্লিমেন্টেশনের জন্য) পছন্দের ভাষা যোগ করুন। উইজেটের ক্ষেত্রে ভাষার পছন্দ সেট করার প্রয়োজন নেই কারণ এটি ব্যবহারকারীর ব্রাউজার বা মোবাইল ডিভাইস থেকে ভাষার পছন্দ বেছে নেয়।
  • অটোমেটিক সম্পূর্ণ (নতুন) ফিচারের সাথে ম্যাপ থাকলে, আপনি ম্যাপ ভিউপোর্ট অনুযায়ী লোকেশন বায়াস করতে পারবেন।
  • এমন পরিস্থিতিতে যখন কোনও ব্যবহারকারী অটোকমপ্লিট (নতুন) পূর্বাভাসের মধ্যে থেকে কোনও একটি বেছে নেন না, সাধারণত কারণ সেইসব পূর্বাভাসের মধ্যে কোনওটিই কাঙ্ক্ষিত ফলাফল-ঠিকানা নয়, আপনি আরও প্রাসঙ্গিক ফলাফল পাওয়ার চেষ্টা করতে ব্যবহারকারীর আসল ইনপুট আবার ব্যবহার করতে পারেন:
    • আপনি যদি আশা করেন যে ব্যবহারকারী শুধুমাত্র ঠিকানা সংক্রান্ত তথ্য লিখবেন, তাহলে Geocoding API-তে কল করার সময় ব্যবহারকারীর আসল ইনপুট আবার ব্যবহার করুন।
    • আপনি যদি আশা করেন যে ব্যবহারকারী নাম বা ঠিকানা দিয়ে কোনও নির্দিষ্ট জায়গার জন্য কোয়েরি লিখবেন, তাহলে Place Details (New) অনুরোধ ব্যবহার করুন। শুধুমাত্র নির্দিষ্ট অঞ্চলে ফলাফল প্রত্যাশিত হলে, লোকেশন বায়াসিং ব্যবহার করুন।
    অন্যান্য পরিস্থিতিতে Geocoding API-তে ফিরে যাওয়া সবচেয়ে ভালো, যার মধ্যে রয়েছে:
    • ব্যবহারকারীরা সাব-প্রিমাইজ ঠিকানা ইনপুট করছেন, যেমন কোনও বিল্ডিংয়ের মধ্যে নির্দিষ্ট ইউনিট বা অ্যাপার্টমেন্টের ঠিকানা। যেমন, চেক প্রজাতন্ত্রের ঠিকানা "Stroupežnického 3191/17, Praha" অটোমেটিক সম্পূর্ণ (নতুন) ফিচারে আংশিক পূর্বাভাস দেখায়।
    • ব্যবহারকারীরা "23-30 29th St, Queens" in New York City বা "47-380 Kamehameha Hwy, Kaneohe" on the island of Kauai in Hawai'i-এর মতো রাস্তার অংশ প্রিফিক্স সহ ঠিকানা ইনপুট করছেন।

লোকেশন বায়াসিং

location প্যারামিটার এবং radius প্যারামিটার পাস করে নির্দিষ্ট এলাকার জন্য পক্ষপাতমূলক ফলাফল দেখান। এটি অটোমেটিক সম্পূর্ণ (নতুন) ফিচারকে নির্দিষ্ট এলাকার মধ্যে ফলাফল দেখানোর জন্য অগ্রাধিকার দিতে নির্দেশ দেয়। নির্দিষ্ট করা এলাকার বাইরেও ফলাফল দেখানো হতে পারে। আপনি includedRegionCodes প্যারামিটার ব্যবহার করে ফলাফল ফিল্টার করতে পারেন যাতে শুধুমাত্র নির্দিষ্ট দেশের মধ্যে থাকা জায়গাগুলি দেখানো হয়।

লোকেশন সংক্রান্ত বিধিনিষেধ

locationRestriction প্যারামিটার পাস করে ফলাফল নির্দিষ্ট এলাকায় সীমাবদ্ধ করুন।

এছাড়াও, আপনি location এবং radius প্যারামিটার দ্বারা নির্ধারিত অঞ্চলে ফলাফল সীমাবদ্ধ করতে পারেন, এর জন্য locationRestriction প্যারামিটার যোগ করতে হবে। এটি অটোকমপ্লিট (নতুন) ফিচারকে নির্দেশ দেয় যাতে সেটি শুধুমাত্র সেই অঞ্চলের ফলাফল দেখায়।

এটি ব্যবহার করে দেখুন!

APIs Explorer আপনাকে স্যাম্পেল অনুরোধ করতে দেয় যাতে আপনি API এবং API বিকল্পের সাথে পরিচিত হতে পারেন।

  1. পৃষ্ঠার ডানদিকে API আইকন api বেছে নিন।

  2. ঐচ্ছিকভাবে, অনুরোধের প্যারামিটার এডিট করুন।

  3. এক্সিকিউট করুন বোতামটি বেছে নিন। ডায়ালগে, অনুরোধ করার জন্য আপনি যে অ্যাকাউন্ট ব্যবহার করতে চান সেটি বেছে নিন।

  4. APIs Explorer প্যানেলে, APIs Explorer উইন্ডো বড় করতে ফুলস্ক্রিন আইকন ফুলস্ক্রিন বেছে নিন।