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

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

ভূমিকা

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

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

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

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

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

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

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

API এক্সপ্লোরার আপনাকে লাইভ অনুরোধ করতে দেয় যাতে আপনি API ও API বিকল্প সম্পর্কে পরিচিত হতে পারেন:

অটো-কমপ্লিট (নতুন) অনুরোধ

একটি 'অটোফিল (নতুন)' অনুরোধ হল একটি HTTP POST অনুরোধ যা এই ফর্মের URL-এ পাঠানো হয়:

https://places.googleapis.com/v1/places:autocomplete

JSON অনুরোধের বডিতে বা POST অনুরোধের অংশ হিসেবে হেডার হিসেবে সব প্যারামিটার পাস করুন। যেমন:

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) গণনা করতে ব্যবহৃত মূল বিন্দু (lat, long)।

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 প্যারামিটার পাস করে ফলাফলকে নির্দিষ্ট প্রাথমিক ধরন বা প্রাথমিক ধরনের মধ্যে সীমাবদ্ধ করুন।

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

    এই প্যারামিটারে, এর পরিবর্তে, (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" (প্রযুক্তিগতভাবে এটি "গ্রেট ব্রিটেন ও উত্তর আয়ারল্যান্ডের যুক্তরাজ্য" এন্টিটির জন্য)।

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

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

  • 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
      }
    }
  ]
}

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

নিম্নলিখিত উদাহরণে, আইডাহোর নিউ মেডোজে ভবিষ্যতে খুলবে এমন ব্যবসার জন্য অটোকমপ্লিট (নতুন) অনুরোধ দেখানো হয়েছে:

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 কোনও সমস্যা দেখালে, আপনার অ্যাপ যাতে ভালোভাবে কাজ করা বন্ধ করতে পারে তা নিশ্চিত করতে সমস্যা হ্যান্ডেল করার সুবিধা ব্যবহার করুন।
  • কোনও বিকল্প বেছে না নিলে আপনার অ্যাপ যেন তা সামলাতে পারে এবং ব্যবহারকারীদের চালিয়ে যাওয়ার সুযোগ দেয় তা নিশ্চিত করুন।

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

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

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

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

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

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

আপনার অ্যাপ্লিকেশনে কি বেছে নেওয়া পূর্বাভাসের ঠিকানা ও অক্ষাংশ/দ্রাঘিমাংশ ছাড়া অন্য কোনও তথ্য প্রয়োজন?

হ্যাঁ, আরও বিবরণ প্রয়োজন

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

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

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

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

না, শুধু ঠিকানা ও লোকেশন প্রয়োজন

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

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

আপনার ব্যবহারকারীরা কি গড়ে চারটি বা তার কম অনুরোধে একটি অটোকমপ্লিট (নতুন) সাজেশন বেছে নেন?

হ্যাঁ

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

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

না

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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