গন্তব্য সার্চ করা

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ডেভেলপার

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

Geocoding API-এর SearchDestinations পদ্ধতি আপনাকে বিভিন্ন ইনপুট মাপকাঠির উপর ভিত্তি করে বিভিন্ন গন্তব্য সম্পর্কে বিস্তারিত তথ্য উদ্ধার করতে দেয়, যেমন একটি ঠিকানা, স্থান আইডি, বা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক।

গন্তব্য সার্চ করার অনুরোধ

গন্তব্য সার্চ করার অনুরোধ হল এই ফর্ম্যাটে কোনও URL-এ HTTP POST অনুরোধ:

https://geocode.googleapis.com/v4/geocode/destinations

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

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

গন্তব্য সার্চ করার জন্য আপনি ৩টি উপায়ের মধ্যে যেকোনও একটি উপায়ে লোকেশন নির্দিষ্ট করতে পারবেন:

  • ঠিকানা
  • জায়গার আইডি
  • অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক

ঠিকানা দিয়ে গন্তব্য সার্চ করা

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

কোয়েরির ধরন উদাহরণ
অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক। পরিবর্তে লোকেশন কোয়েরি ব্যবহার করুন। "37.422131,-122.084801"
একটি কোয়েরিতে অনেক বেশি ধারণা বা সীমাবদ্ধতা, যেমন একাধিক জায়গা, রাস্তা বা শহরের নাম "মার্কেট স্ট্রিট সান ফ্রান্সিসকো সান জোসে বিমানবন্দর"
Google Maps-এ ডাক ঠিকানার এলিমেন্ট দেখানো হয়নি "C/O John Smith 123 Main Street"
"P.O. Box 13 San Francisco"
ব্যবসা, চেইন বা বিভাগের নাম, তার সাথে এমন লোকেশন যেখানে এই সত্তাগুলি উপলভ্য নেই "টেক্সাসের ডালাসের কাছাকাছি Tesco"
একাধিক ব্যাখ্যা সহ অস্পষ্ট কোয়েরি "চার্জার ড্রপ-অফ"
ঐতিহাসিক নাম আর ব্যবহার করা হয় না "মিডলসেক্স যুক্তরাজ্য"
নন-জিওস্পেশিয়াল এলিমেন্ট বা উদ্দেশ্য "ভেনচুরা হারবারে কতগুলি নৌকা আছে?"
অননুমোদিত বা কাল্পনিক নাম "The Jenga"
"The Helter Skelter"
বৃহৎ রাজনৈতিক এন্টিটি (শহর, রাজ্য, দেশ) "নিউ ইয়র্ক সিটি"
"ক্যালিফোর্নিয়া"
"মার্কিন যুক্তরাষ্ট্র"
নির্দিষ্ট ঠিকানা ছাড়া রুট "১ম এভিনিউ, NYC, NY"
"I-95"
curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

অথবা postalAddress হিসেবে:

curl -X POST -d '{
  "addressQuery": {
    "address": {
      "addressLines": ["601 S Bernardo Ave"],
      "locality": "Sunnyvale",
      "postalCode": "94087",
      "administrativeArea": "CA",
      "regionCode": "US"
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

HTML ফর্মে ক্যাপচার করা ঠিকানার উপাদান প্রসেস করার সময় আপনি সাধারণত postalAddress ফর্ম্যাট ব্যবহার করেন।

প্লেস আইডি দিয়ে গন্তব্য সার্চ করুন

আপনি জায়গার ID প্রদান করে কোনও গন্তব্য পুনরুদ্ধার করতে পারবেন:

curl -X POST -d '{
  "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

কাজ করে এমন প্লেস আইডি

Search Destinations পদ্ধতিটি নির্দিষ্ট, নেভিগেট করা যায় এমন গন্তব্যকে উপস্থাপন করে এমন Place ID-এর সাথে সবচেয়ে ভালো কাজ করে। establishment, point_of_interest, premise, street_address এবং subpremise-এর মতো ধরনের জন্য প্লেস আইডি সাধারণত কাজ করে। যেসব প্লেস আইডি আলাদা লোকেশন দেখায় না, যেমন ঠিকানা রেঞ্জ থেকে অনুমান করা লোকেশন (যেমন, "১০-২০ মেইন স্ট্রিট"), নির্দিষ্ট নম্বর ছাড়া রুটের অংশ অথবা Plus Code কাজ করে না। যেসব ফলাফলের এলাকা অনেক বড় (যেমন, "প্রশান্ত মহাসাগর"), সেগুলির প্লেস আইডি কাজ করে না।

সার্চ গন্তব্যের সাথে 'অটোমেটিক সম্পূর্ণ করুন (নতুন)' ফিচার ব্যবহার করা

মানানসই কিনা তা নিশ্চিত করতে, Search Destinations-এর সাথে ব্যবহার করার জন্য Place ID খুঁজতে Autocomplete (নতুন) ব্যবহার করুন। 'অটোফিল (নতুন)' ফিচার ব্যবহার করার সময়, আপনাকে includedPrimaryTypes প্যারামিটার ব্যবহার করে ফলাফলকে টাইপ অনুযায়ী ফিল্টার করতে হবে। নিম্নলিখিত সাজেস্ট করা ফিল্টার ব্যবহার করে অটোকমপ্লিট (নতুন) দ্বারা রিটার্ন করা প্লেস আইডি Search গন্তব্যের সাথে কাজ করে:

"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]

এছাড়াও, আপনার অটোমেটিক পূরণ (নতুন) অনুরোধে include_pure_service_area_businesses ফ্ল্যাগ true-এ সেট করা উচিত নয়।

লোকেশন অনুযায়ী গন্তব্য সার্চ করা

আপনি অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক প্রদান করে গন্তব্য সার্চ করতে পারবেন:

curl -X POST -d '{
  "locationQuery": {
    "location": {
      "latitude": 37.37348780,
      "longitude": -122.05678064
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations

অনুরোধ করতে OAuth ব্যবহার করা

Geocoding API v4 যাচাইকরণের জন্য OAuth 2.0-কে সমর্থন করে। Geocoding API-এর সাথে OAuth ব্যবহার করতে, OAuth টোকেনকে অবশ্যই সঠিক স্কোপে অ্যাসাইন করতে হবে। Geocoding API, Destinations পদ্ধতির সাথে ব্যবহারের জন্য নিম্নলিখিত স্কোপগুলি সমর্থন করে:

  • https://www.googleapis.com/auth/maps-platform.geocode — সব Geocoding API পদ্ধতির সাথে ব্যবহার করুন।

এছাড়াও, আপনি সব Geocoding API পদ্ধতির জন্য সাধারণ https://www.googleapis.com/auth/cloud-platform স্কোপ ব্যবহার করতে পারবেন। ডেভেলপমেন্টের সময় এই স্কোপ উপযোগী, কিন্তু প্রোডাকশনের সময় নয়, কারণ এটি একটি সাধারণ স্কোপ যা সব পদ্ধতিতে অ্যাক্সেস দেয়।

আরও তথ্য ও উদাহরণের জন্য, OAuth ব্যবহার করুন দেখুন।

গন্তব্য সার্চ করার উত্তর

Search গন্তব্য সংক্রান্ত উত্তর থেকে লোকেশন সম্পর্কে রিচ, হাইপারলোকাল প্রসঙ্গ পাওয়া যায়।

সার্চ গন্তব্য সংক্রান্ত উত্তরের মধ্যে থাকা PlaceView অবজেক্ট (যেমন, primary, containingPlaces-এর আইটেম ও landmarks) জায়গার ধরন বোঝাতে ফিল্ড ব্যবহার করে:

  • types: জায়গার ধরন নির্দেশ করে এমন স্ট্রিংয়ের অ্যারে।
  • primaryType: একটি স্ট্রিং যা জায়গার প্রাথমিক ধরন নির্দেশ করে।

types এবং primaryType-এর জন্য সম্ভাব্য স্ট্রিং ভ্যালুগুলি জায়গার ধরন (নতুন) পৃষ্ঠার সারণী A এবং সারণী B থেকে নেওয়া হয়েছে।

এই বিভাগে মূল উত্তর ফিল্ডের বিবরণ দেওয়া হয়েছে। সব উত্তর ফিল্ডের সম্পূর্ণ বিবরণ পেতে, API রেফারেন্স দেখুন।

primary

অনুরোধে কোয়েরির মাধ্যমে শনাক্ত করা প্রধান জায়গা।

addressComponents

এই ঠিকানার ক্ষেত্রে প্রযোজ্য আলাদা আলাদা কম্পোনেন্ট সহ একটি অ্যারে।

প্রতিটি অ্যাড্রেস কম্পোনেন্টে সাধারণত নিম্নলিখিত ফিল্ড থাকে:

  • types[] হল একটি অ্যারে যা অ্যাড্রেস কম্পোনেন্টের ধরন নির্দেশ করে। কাজ করে এমন ধরন এর তালিকা দেখুন।
  • longText হল জিওকোডারের মাধ্যমে পাওয়া ঠিকানা কম্পোনেন্টের সম্পূর্ণ টেক্সট বিবরণ বা নাম।
  • shortText হল ঠিকানা কম্পোনেন্টের সংক্ষিপ্ত টেক্সট নাম, যদি উপলভ্য থাকে। যেমন, আলাস্কা রাজ্যের কোনও ঠিকানার উপাদানে longText "Alaska" এবং shortText "AK" থাকতে পারে, যেখানে দুই অক্ষরের ডাক সংক্ষিপ্তকরণ ব্যবহার করা হয়েছে।
  • CLDR নোটেশনে, এই কম্পোনেন্ট ফর্ম্যাট করতে languageCode ভাষা ব্যবহার করা হয়।

containingPlaces

প্রাথমিক গন্তব্যটি যে বড় এন্টিটির অংশ (যেমন, কোনও স্টোর সহ শপিং মল)।

subDestinations

প্রাথমিক গন্তব্যের মধ্যে আরও নির্দিষ্ট লোকেশন (যেমন, কোনও বিল্ডিংয়ে অ্যাপার্টমেন্ট)।

entrances

entrances[] অ্যারের অবজেক্টে নিম্নলিখিত ফিল্ড থাকে:

  • location

    একটি অক্ষাংশ/দ্রাঘিমাংশ কোঅর্ডিনেট পেয়ার যা কোনও জায়গায় ঢোকা ও বেরোনোর পয়েন্টকে নির্ধারণ করে।

  • entrance_tags[]

    প্রবেশপথের বৈশিষ্ট্য বর্ণনা করে এমন প্রবেশ ট্যাগগুলির একটি অ্যারে। নিম্নলিখিত ভ্যালু কাজ করে:

    • "PREFERRED"

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

    যেমন, ফেরত আসা জায়গাটি যদি কোনও স্ট্রিপ মলের একটি রেস্তোরাঁ হয়, তাহলে "PREFERRED" প্রবেশপথগুলি হবে সেইগুলি যেগুলি সরাসরি রেস্তোরাঁতে ঢোকার জন্য ব্যবহার করা হয়, অন্যদিকে ফেরত আসা অন্যান্য প্রবেশপথগুলি হবে বিল্ডিংয়ের অন্যান্য প্রবেশপথ, যেমন স্ট্রিপ মলের অন্যান্য রেস্তোরাঁতে ঢোকার প্রবেশপথ।

    ফিরে আসা জায়গাটি যদি কোনও বিল্ডিং হয়, তাহলে "PREFERRED" প্রবেশপথগুলি বিল্ডিংয়ের "প্রধান" অংশে নিয়ে যাবে। যেমন, কোনও শপিং সেন্টারে "PREFERRED" প্রবেশপথগুলি হল সেগুলি যেগুলি প্রধান ফোয়ার এলাকায় অ্যাক্সেস দেয়, কিন্তু যদি কোনও প্রবেশপথ শুধুমাত্র বিল্ডিংয়ের পাশে একটি স্টোরে অ্যাক্সেস দেয়, তবে এটি একটি "PREFERRED" প্রবেশপথ হবে না।

  • streetViewThumbnail ও streetViewAnnotation

    Street View Static API-এর প্যারামিটার, যা আপনাকে এইসব লোকেশনের জন্য প্রাসঙ্গিক ছবি দেখাতে দেয়। এইসব ফিল্ড সম্পর্কে আরও জানুন।

structureType

এই জায়গাটি যে ধরনের স্ট্রাকচারকে উপস্থাপন করে।

  • POINT

    একটি পয়েন্ট লোকেশন।

  • SECTION

    বিল্ডিংয়ের একটি উপবিভাগ।

  • BUILDING

    একটি বিল্ডিং।

  • GROUNDS

    একটি বড় জায়গা যেখানে সাধারণত একাধিক বিল্ডিং থাকে, যেমন বিশ্ববিদ্যালয় ক্যাম্পাস, অ্যাপার্টমেন্ট কমপ্লেক্স বা শপিং মল।

জিওকোডিং রেসপন্সের মধ্যে navigationPoints ফিল্ডে পয়েন্টের একটি তালিকা থাকে যা জায়গায় নেভিগেট করার জন্য উপযোগী। বিশেষত, এগুলি কোনও জায়গা থেকে বা সেই জায়গায় যাওয়ার জন্য রোড নেটওয়ার্কে রুট করার সময় শুরু বা শেষ পয়েন্ট হিসেবে ব্যবহার করা উচিত।

প্রতিটি নেভিগেশন পয়েন্টে নিম্নলিখিত ভ্যালু থাকে:

  • navigationPointToken হল একটি টোকেন যাতে navigationPoints ফিল্ডে প্রাসঙ্গিক তথ্য থাকে। আপনার অ্যাপে রাউটিং ও নদী সংক্রান্ত অভিজ্ঞতা উন্নত করতে, আপনি এই টোকেন রাউটিং ও নেভিগেশন API-তে পাঠাতে পারেন। আরও তথ্যের জন্য নেভিগেশন পয়েন্ট টোকেন ব্যবহার করে রুট করুন দেখুন।
  • location-এ নেভিগেশন পয়েন্টের অক্ষাংশ, দ্রাঘিমাংশের মান থাকে। এই লোকেশনটি সবসময় রোড নেটওয়ার্কের খুব কাছাকাছি হবে এবং কোনও জায়গায় যাওয়া বা সেখান থেকে আসার জন্য নেভিগেট করার আদর্শ স্টপিং বা স্টার্টিং পয়েন্ট হিসেবে কাজ করবে। রাস্তার যে পাশে জায়গাটি অবস্থিত সেটি স্পষ্টভাবে চিহ্নিত করার জন্য পয়েন্টটি ইচ্ছাকৃতভাবে রাস্তার কেন্দ্ররেখা থেকে সামান্য অফসেট করা হয়েছে।
  • travelModes হল ভ্রমণ মোডের একটি তালিকা যেখান থেকে নেভিগেশন পয়েন্ট অ্যাক্সেস করা যায়:
    • "DRIVE" হল ড্রাইভিং দিকনির্দেশের সাথে সম্পর্কিত ভ্রমণ মোড।
    • "WALK" হল হাঁটার দিকনির্দেশ সম্পর্কিত ভ্রমণ মোড।
  • usages হল নেভিগেশন পয়েন্টে কাজ করে এমন ব্যবহারের তালিকা। ব্যবহারের ধরন হতে পারে:
    • "DROPOFF"
    • "PICKUP"
    • "PARKING"

পিক-আপ ও ড্রপ-অফের জন্য, সেই নেভিগেশন পয়েন্ট ব্যবহার করুন যেখানে ভ্রমণ মোড হল DRIVE এবং ব্যবহার হল PICKUP বা DROPOFF। পিক-আপ বা ড্রপ-অফ পয়েন্ট উপলভ্য না থাকলে, সবচেয়ে উপরের ড্রাইভিং নেভিগেশন পয়েন্ট ব্যবহার করুন।

  • altitude_meters-এ WGS-84 উপবৃত্ত-এর সাপেক্ষে নেভিগেশন পয়েন্টের উচ্চতা মিটারে দেওয়া আছে। যেসব ক্ষেত্রে উল্লম্বভাবে স্ট্যাক করা রাস্তার অংশ থাকে, সেখানে আপনার সিস্টেমের নেভিগেট করার জন্য সেরা রাস্তার অংশ বেছে নিতে altitude_meters ফিল্ড ব্যবহার করুন।

landmarks

ব্যবহারকারীদের গন্তব্যের আশেপাশের পরিবেশ বুঝতে সাহায্য করার জন্য আশেপাশের উল্লেখযোগ্য জায়গা।

প্রতিটি ল্যান্ডমার্কে নিম্নলিখিত ফিল্ড থাকে:

  • place হল PlaceView অবজেক্ট যা এই ল্যান্ডমার্ককে দেখায়।
  • relationalDescription হল গন্তব্যটি ল্যান্ডমার্কের সাথে কীভাবে সম্পর্কিত তার একটি মানুষের-পঠনযোগ্য বিবরণ, যেমন "এম্পায়ার স্টেট বিল্ডিংয়ের কাছে" বা "হোয়াইট হাউসের বিপরীতে"।
  • tags[] হল ট্যাগের একটি অ্যারে যা বর্ণনা করে যে কীভাবে ল্যান্ডমার্কটি গন্তব্যের প্রসঙ্গে ব্যবহার করা যেতে পারে:
    • "ADDRESS": স্থানীয়ভাবে পরিচিত জায়গা যা গন্তব্যের সাধারণ লোকেশন শনাক্ত করতে ব্যবহার করা যেতে পারে।
    • "ARRIVAL": এমন একটি জায়গা যা গন্তব্যে পৌঁছাতে সাহায্য করার জন্য ব্যবহার করা যেতে পারে, গন্তব্যের কাছাকাছি পৌঁছালে নেভিগেশনের জন্য উপযোগী।
  • straightLineDistanceMeters হল এই ল্যান্ডমার্ক থেকে গন্তব্যের সরলরৈখিক দূরত্ব, মিটারে।
  • travelDistanceMeters হল এই ল্যান্ডমার্ক থেকে গন্তব্যের হাঁটার দূরত্ব, যা মিটারে দেখানো হয়।

arrivalSummary

পৌঁছানোর ব্যাপারে সাহায্য করতে AI-পরিচালিত ইনসাইট। AI-এর মাধ্যমে তৈরি সারসংক্ষেপ দেখুন।

parkingOptions

পার্কিংয়ের বিস্তারিত তথ্য।

উত্তর দেওয়ার ফর্ম্যাট

SearchDestinations নিম্নলিখিত JSON ফর্মের SearchDestinationsResponse রিটার্ন করে:

{
  "destinations": [
    {
      "primary": {
        "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w",
        "displayName": {
          "text": "Arby's",
          "languageCode": "en"
        },
        "primaryType": "fast_food_restaurant",
        "types": [
          "fast_food_restaurant",
          "sandwich_shop",
          "deli",
          "meal_takeaway",
          "food_delivery",
          "american_restaurant",
          "restaurant",
          "food_store",
          "store",
          "food",
          "point_of_interest",
          "establishment"
        ],
        "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA",
        "postalAddress": {
          "regionCode": "US",
          "languageCode": "en",
          "postalCode": "94087",
          "administrativeArea": "CA",
          "locality": "Sunnyvale",
          "addressLines": [
            "601 S Bernardo Ave"
          ]
        },
        "structureType": "BUILDING",
        "location": {
          "latitude": 37.3734545,
          "longitude": -122.05693269999998
        },
        "displayPolygon": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -122.056930138027,
                37.3735253692531
              ],
              [
                -122.056960139391,
                37.3735372663597
              ],
              [
                -122.056994129366,
                37.3734828786847
              ],
              [
                -122.056969677395,
                37.3734731161089
              ],
              [
                -122.057061762447,
                37.3733261309656
              ],
              [
                -122.056979388817,
                37.3732935577128
              ],
              [
                -122.056798860285,
                37.3735818838642
              ],
              [
                -122.056875858081,
                37.3736121235316
              ],
              [
                -122.056930138027,
                37.3735253692531
              ]
            ]
          ]
        }
      },
      "containingPlaces": [
        {
          "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw",
          "displayName": {
            "text": "Cherry Chase Shopping Center",
            "languageCode": "en"
          },
          "primaryType": "shopping_mall",
          "types": [
            "shopping_mall",
            "point_of_interest",
            "establishment"
          ],
          "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA",
          "postalAddress": {
            "regionCode": "US",
            "languageCode": "en",
            "postalCode": "94087-1020",
            "administrativeArea": "CA",
            "locality": "Sunnyvale",
            "addressLines": [
              "663 S Bernardo Ave"
            ]
          },
          "structureType": "GROUNDS",
          "location": {
            "latitude": 37.3731231,
            "longitude": -122.0578211
          },
          "displayPolygon": {
            "type": "Polygon",
            "coordinates": [
              [
                [
                  -122.057112227103,
                  37.3714618008523
                ],
                [
                  -122.057076849821,
                  37.3715743611411
                ],
                [
                  -122.056963607756,
                  37.3719081793948
                ],
                [
                  -122.056865279559,
                  37.3722026053835
                ],
                [
                  -122.056687872374,
                  37.3727258358476
                ],
                [
                  -122.056580005889,
                  37.3730511370747
                ],
                [
                  -122.056498845827,
                  37.3732994782583
                ],
                [
                  -122.056338259713,
                  37.3737878663325
                ],
                [
                  -122.056618678291,
                  37.373887693582
                ],
                [
                  -122.056912102521,
                  37.3740010327191
                ],
                [
                  -122.057532418159,
                  37.3742476426462
                ],
                [
                  -122.057673926626,
                  37.3742441740031
                ],
                [
                  -122.057735663106,
                  37.3742328516943
                ],
                [
                  -122.057766531332,
                  37.3742220604378
                ],
                [
                  -122.057797572967,
                  37.37420520725
                ],
                [
                  -122.057828267759,
                  37.3741852342085
                ],
                [
                  -122.058060299297,
                  37.3740060842535
                ],
                [
                  -122.058199726081,
                  37.3737861673422
                ],
                [
                  -122.05836707267,
                  37.373524542556
                ],
                [
                  -122.058569622393,
                  37.3732018598683
                ],
                [
                  -122.0587638478,
                  37.3728890198039
                ],
                [
                  -122.058934661823,
                  37.3726036257774
                ],
                [
                  -122.059164956851,
                  37.3722498383629
                ],
                [
                  -122.058997784906,
                  37.3721804442035
                ],
                [
                  -122.057936479838,
                  37.3717605636234
                ],
                [
                  -122.057495827092,
                  37.3715860151634
                ],
                [
                  -122.057112227103,
                  37.3714618008523
                ]
              ]
            ]
          }
        }
      ],
      "landmarks": [
        {
          "place": {
            "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg",
            "displayName": {
              "text": "Chase Bank",
              "languageCode": "en"
            },
            "primaryType": "bank",
            "types": [
              "bank",
              "atm",
              "finance",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1234 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.373579,
              "longitude": -122.05752700000001
            }
          },
          "relationalDescription": {
            "text": "Near Chase Bank",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL",
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 61.182193756103516,
          "travelDistanceMeters": 63.075645446777344
        },
        {
          "place": {
            "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14",
            "displayName": {
              "text": "Safeway",
              "languageCode": "en"
            },
            "primaryType": "grocery_store",
            "types": [
              "grocery_store",
              "butcher_shop",
              "florist",
              "deli",
              "supermarket",
              "bakery",
              "food_delivery",
              "market",
              "manufacturer",
              "food_store",
              "store",
              "food",
              "service",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "639 S Bernardo Ave"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3727912,
              "longitude": -122.0581172
            }
          },
          "relationalDescription": {
            "text": "Around the corner from Safeway",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL",
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 158.65606689453125,
          "travelDistanceMeters": 131.1669921875
        },
        {
          "place": {
            "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk",
            "displayName": {
              "text": "Oil Changers",
              "languageCode": "en"
            },
            "types": [
              "car_repair",
              "service",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1240 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3743054,
              "longitude": -122.0584272
            }
          },
          "relationalDescription": {
            "text": "Down the road from Oil Changers",
            "languageCode": "en"
          },
          "tags": [
            "ARRIVAL"
          ],
          "straightLineDistanceMeters": 140.52459716796875,
          "travelDistanceMeters": 143.24220275878906
        },
        {
          "place": {
            "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0",
            "displayName": {
              "text": "Apni Mandi Farmers Market Sunnyvale",
              "languageCode": "en"
            },
            "primaryType": "grocery_store",
            "types": [
              "grocery_store",
              "cake_shop",
              "supermarket",
              "asian_grocery_store",
              "indian_restaurant",
              "meal_takeaway",
              "bakery",
              "manufacturer",
              "wholesaler",
              "restaurant",
              "food_store",
              "store",
              "food",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087-1056",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1111 W El Camino Real"
              ]
            },
            "structureType": "POINT",
            "location": {
              "latitude": 37.3737199,
              "longitude": -122.0522958
            }
          },
          "relationalDescription": {
            "text": "Near Apni Mandi Farmers Market Sunnyvale",
            "languageCode": "en"
          },
          "tags": [
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 410.37435913085938,
          "travelDistanceMeters": 479.49893188476562
        },
        {
          "place": {
            "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs",
            "displayName": {
              "text": "Starbird Chicken",
              "languageCode": "en"
            },
            "primaryType": "chicken_restaurant",
            "types": [
              "chicken_restaurant",
              "fast_food_restaurant",
              "restaurant",
              "food",
              "point_of_interest",
              "establishment"
            ],
            "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA",
            "postalAddress": {
              "regionCode": "US",
              "languageCode": "en",
              "postalCode": "94087-1028",
              "administrativeArea": "CA",
              "locality": "Sunnyvale",
              "addressLines": [
                "1241 W El Camino Real"
              ]
            },
            "structureType": "BUILDING",
            "location": {
              "latitude": 37.3746764,
              "longitude": -122.05708860000001
            },
            "displayPolygon": {
              "coordinates": [
                [
                  [
                    -122.057003840785,
                    37.3747648209809
                  ],
                  [
                    -122.057136852459,
                    37.3747919153144
                  ],
                  [
                    -122.057205005705,
                    37.3745815131859
                  ],
                  [
                    -122.057071994114,
                    37.3745544186944
                  ],
                  [
                    -122.057003840785,
                    37.3747648209809
                  ]
                ]
              ],
              "type": "Polygon"
            }
          },
          "relationalDescription": {
            "text": "Near Starbird Chicken",
            "languageCode": "en"
          },
          "tags": [
            "ADDRESS"
          ],
          "straightLineDistanceMeters": 87.348007202148438,
          "travelDistanceMeters": 214.08084106445312
        }
      ],
      "entrances": [
        {
          "location": {
            "latitude": 37.3735328,
            "longitude": -122.05694879999999
          },
          "tags": [
            "PREFERRED"
          ],
          "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
        }
      ],
      "navigationPoints": [
        {
          "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4",
          "location": {
            "latitude": 37.3738659,
            "longitude": -122.05693620000001
          },
          "travelModes": [
            "DRIVE",
            "WALK"
          ],
          "usages": [
            "PARKING"
          ]
        }
      ]
    }
  ]
}

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

  • API অনুরোধে নিম্নলিখিত ৩টি প্যারামিটারের মধ্যে একটি থাকতে হবে, যা গন্তব্য সার্চ করার জন্য ঠিকানা, জায়গা বা লোকেশন নির্দিষ্ট করে:
    • addressQuery - যে ঠিকানা সার্চ করতে হবে।
    • place - যে জায়গা সার্চ করতে হবে সেটির প্লেস আইডি।
    • locationQuery - যে লোকেশন সার্চ করতে চান তার অক্ষাংশ ও দ্রাঘিমাংশ কোঅর্ডিনেট।
  • FieldMask

    রেসপন্স ফিল্ড মাস্ক তৈরি করে রেসপন্সে ফেরত পাঠানোর জন্য ফিল্ডের তালিকা নির্দিষ্ট করুন। URL প্যারামিটার $fields বা fields অথবা HTTP হেডার X-Goog-FieldMask ব্যবহার করে পদ্ধতিতে রেসপন্স ফিল্ড মাস্ক পাস করুন। যেমন, নিচের অনুরোধটি শুধুমাত্র প্রবেশপথ, নেভিগেশন পয়েন্ট এবং প্রাথমিক গন্তব্যের প্লেস আইডি রিটার্ন করবে।

      curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \
        -H "X-Goog-Api-Key: API_KEY" \
        -H "Content-Type: application/json" \
        -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \
        https://geocode.googleapis.com/v4/geocode/destinations
      

    উত্তরে ফেরত আসা ফিল্ডের কোনও ডিফল্ট তালিকা নেই। আপনি ফিল্ড মাস্ক বাদ দিলে, মেথডটি একটি সমস্যা রিটার্ন করে। সব ফিল্ডের ভ্যালু পেতে ফিল্ড মাস্ককে * হিসেবে সেট করুন। আরও বিবরণের জন্য ফেরত পাঠানোর জন্য ফিল্ড বেছে নিন দেখুন।

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

  • travelModes

    কোন ধরনের navigationPoints ফেরত দিতে হবে তা নির্দিষ্ট করে। অন্যান্য ভ্রমণ মোডের জন্য নেভিগেশন পয়েন্ট ফিল্টার করে বাদ দেওয়া হবে। যদি travelModes সেট না করা থাকে, তাহলে সব ভ্রমণ মোডের নেভিগেশন পয়েন্ট ফেরত দেওয়া যেতে পারে।

  • languageCode

    যে ভাষায় ফলাফল দেখানো হবে।

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

    অঞ্চল কোড দুই-অক্ষরের CLDR কোড ভ্যালু হিসেবে। কোনও ডিফল্ট ভ্যালু নেই। অধিকাংশ CLDR কোড ISO 3166-1 কোডের মতোই।

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

  • placeFilter

    আপনার প্রয়োজনীয়তা অনুযায়ী locationQuery সার্চের ফলাফল ফিল্টার করতে দেয়, যেমন শুধু বিল্ডিং বা স্পষ্ট ঠিকানা আছে এমন গন্তব্য দেখানো।

    স্ট্রাকচারাল গ্র্যানুলারিটি অনুযায়ী ফিল্টার করুন

    structureType ফিল্টার আপনাকে সেইসব স্ট্রাকচারের ধরন নির্দিষ্ট করতে দেয় যেগুলি কোয়েরি থেকে রিটার্ন করা হয়:

    • বিল্ডিং আলাদা করা: ম্যাপে বিল্ডিংয়ের আউটলাইন দেখাতে বা নির্দিষ্ট কোনও স্ট্রাকচারের বিবরণ পেতে "structureType": "BUILDING" ব্যবহার করুন।
    • জটিলতা বোঝা: "structureType": "GROUNDS" ব্যবহার করে নিশ্চিত করুন যে প্রাথমিক ফলাফল হল সামগ্রিক গ্রাউন্ড। বিশ্ববিদ্যালয় ক্যাম্পাস বা শপিং মলের মতো বড় এলাকার জন্য কোয়েরি করার সময় এটি কাজে লাগে।
    • ইউনিট/সেকশনের উপর ফোকাস করা: কোনও বিল্ডিংয়ের মধ্যে সেকশন শনাক্ত করতে "structureType": "SECTION" ব্যবহার করুন।

    প্রয়োজনীয় ঠিকানা নিশ্চিত করা

    সব জায়গার রাস্তার লেভেলে স্পষ্ট ঠিকানা থাকে না। addressability ফিল্টার আপনার ফলাফলে থাকা অ্যাড্রেসের কোয়ালিটি নিয়ন্ত্রণ করতে সাহায্য করে:

    • স্পষ্ট প্রাথমিক ঠিকানা প্রয়োজন: প্রধান গন্তব্যের ফলাফলে যাতে সবসময় রাস্তার লেভেলে ঠিকানা বা নাম থাকে তা নিশ্চিত করতে, "addressability": "PRIMARY" ব্যবহার করুন। নেভিগেশন বা দেখানোর উদ্দেশ্যে এটি সহায়ক, যেখানে একটি স্পষ্ট ঠিকানা অত্যন্ত গুরুত্বপূর্ণ।
    • সাব-ডেস্টিনেশনে ঠিকানা যোগ করার অনুমতি দেওয়া: যেসব ক্ষেত্রে মূল জায়গার কোনও ঠিকানা নাও থাকতে পারে, কিন্তু তার মধ্যে থাকা ইউনিটগুলির ঠিকানা থাকে (যেমন, কোনও বিল্ডিংয়ের মধ্যে থাকা অ্যাপার্টমেন্ট), "addressability": "WEAK" নিশ্চিত করে যে অন্তত মূল জায়গা বা তার কোনও একটি সাব-ডেস্টিনেশনের ঠিকানা আছে।
    • যেকোনও ফলাফল: আপনার ব্যবহারের ক্ষেত্রে ঠিকানা থাকা প্রাসঙ্গিক না হলে, "addressability": "ANY" ব্যবহার করুন। আপনি যদি শুধুমাত্র বিল্ডিংয়ের আউটলাইন ও নেভিগেশন পয়েন্টের মতো জিওমেট্রিক অ্যাট্রিবিউট চান, তাহলে এটি অত্যন্ত সাজেস্ট করা হয়, কারণ এটি এইসব ফলাফলের নির্ভুলতা উন্নত করে।
    উদাহরণ: অ্যাড্রেসেবল বিল্ডিংয়ের জন্য ফিল্টার করা
    curl -X POST -d '{
      "locationQuery": {
        "location": {
          "latitude": 37.37348780,
          "longitude": -122.05678064
        },
        "placeFilter": {
          "structureType": "BUILDING",
          "addressability": "PRIMARY"
        }
      },
      "languageCode": "en"
    }' \\
    -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\
    -H "X-Goog-FieldMask: place" \\
    https://geocode.googleapis.com/v4/geocode/destinations