জিওকোডিং v3 থেকে v4 এ স্থানান্তর করুন

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

জিওকোডিং API v4 বেশ কিছু নতুন এন্ডপয়েন্ট প্রবর্তন করে যা API এর v3 এর কার্যকারিতা প্রতিস্থাপন করে। এই নির্দেশিকাটি আপনাকে দেখায় যে কীভাবে নতুন v4 এন্ডপয়েন্ট ব্যবহার করার জন্য আপনার অ্যাপটি মাইগ্রেট করবেন।

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

v3 থেকে মাইগ্রেট করুন ফরোয়ার্ড জিওকোডিং

যদি আপনি জিওকোডিং ব্যবহার করে ঠিকানাগুলিকে জিওকোড করেন, তাহলে আপনাকে v4 জিওকোড একটি ঠিকানার শেষ বিন্দুতে স্থানান্তর করতে হবে, যা একটি GET অনুরোধ গ্রহণ করে।

v4 API বিভিন্ন প্যারামিটারের নাম, কাঠামো এবং সমর্থন পরিবর্তন করে। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি প্রতিক্রিয়ায় যে ক্ষেত্রগুলি ফেরত চান তা নির্দিষ্ট করার জন্য একটি ফিল্ড মাস্ক ব্যবহার করুন

প্যারামিটার পরিবর্তনের অনুরোধ করুন

v3 প্যারামিটার v4 প্যারামিটার মন্তব্য
address , components address অসংগঠিত ঠিকানা (v3 address ) এখন URL পাথে পাস করা হয়েছে। কম্পোনেন্ট ফিল্টার (v3 components ) এখন address.* কোয়েরি প্যারামিটার হিসাবে পাস করা হয়েছে।
bounds locationBias.rectangle নাম পরিবর্তন করা হয়েছে; কাঠামোটি বস্তুতে পরিবর্তিত হয়েছে।
language languageCode নাম পরিবর্তন করা হয়েছে।
region regionCode নাম পরিবর্তন করা হয়েছে।
extra_computations সরানো হয়েছে

প্রতিক্রিয়া ক্ষেত্রের পরিবর্তন

v3 ক্ষেত্র v4 ক্ষেত্র মন্তব্য
status , error_message সরানো হয়েছে v4 HTTP স্ট্যাটাস কোড এবং ত্রুটি বডি ব্যবহার করে
results.address_components.long_name / results.address_components.short_name results.addressComponents.longText / results.addressComponents.shortText নাম পরিবর্তন করা হয়েছে।
results.geometry.location_type results.granularity নাম পরিবর্তন করা হয়েছে।
results.geometry.location results.location ক্ষেত্রের নাম: lat / lng -> latitude / longitude
results.geometry.viewport results.viewport ক্ষেত্রের নাম: northeast / southwest -> high / low
results.postcode_localities results.postalCodeLocalities পুনঃনামকরণ করা হয়েছে। এখন এক বা একাধিক এলাকার জন্য ফিরে এসেছে (v3 প্রয়োজন >1)।
results.partial_match সরানো হয়েছে
নতুন results.addressComponents.languageCode নির্দিষ্ট ঠিকানা উপাদানের ভাষা।
নতুন results.bounds high / low ব্যবহার করে স্পষ্ট সীমানা।
নতুন results.place স্থানের জন্য সম্পদের নাম।
নতুন results.postalAddress স্ট্রাকচার্ড PostalAddress অবজেক্ট।

v3 রিভার্স জিওকোডিং থেকে মাইগ্রেট করুন

যদি আপনি স্থানাঙ্কগুলিকে ঠিকানায় রূপান্তর করার জন্য রিভার্স জিওকোডিং ব্যবহার করেন, তাহলে আপনার v4 রিভার্স জিওকোডে একটি অবস্থানের শেষ বিন্দুতে স্থানান্তর করা উচিত, যা একটি GET অনুরোধ গ্রহণ করে।

v4 API বিভিন্ন প্যারামিটারের নাম, কাঠামো এবং সমর্থন পরিবর্তন করে। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি প্রতিক্রিয়ায় যে ক্ষেত্রগুলি ফেরত চান তা নির্দিষ্ট করার জন্য একটি ফিল্ড মাস্ক ব্যবহার করুন

প্যারামিটার পরিবর্তনের অনুরোধ করুন

v3 প্যারামিটার v4 প্যারামিটার মন্তব্য
language languageCode নাম পরিবর্তন করা হয়েছে।
region regionCode নাম পরিবর্তন করা হয়েছে।
result_type types পুনঃনামকরণ করা হয়েছে; বারবার কোয়েরি প্যারামিটার ব্যবহার করে।
location_type granularity পুনঃনামকরণ করা হয়েছে; বারবার কোয়েরি প্যারামিটার ব্যবহার করে।
extra_computations সরানো হয়েছে

প্রতিক্রিয়া ক্ষেত্রের পরিবর্তন

v3 ক্ষেত্র v4 ক্ষেত্র মন্তব্য
status , error_message সরানো হয়েছে v4 HTTP স্ট্যাটাস কোড এবং ত্রুটি বডি ব্যবহার করে
results.address_components.long_name / results.address_components.short_name results.addressComponents.longText / results.addressComponents.shortText নাম পরিবর্তন করা হয়েছে।
results.geometry.location_type results.granularity নাম পরিবর্তন করা হয়েছে।
results.geometry.location results.location ক্ষেত্রের নাম: lat / lng -> latitude / longitude
results.geometry.viewport results.viewport ক্ষেত্রের নাম: northeast / southwest -> high / low
নতুন results.addressComponents.languageCode নির্দিষ্ট ঠিকানা উপাদানের ভাষা।
নতুন results.bounds high / low ব্যবহার করে স্পষ্ট সীমানা।
নতুন results.place স্থানের জন্য সম্পদের নাম।
নতুন results.postalAddress স্ট্রাকচার্ড PostalAddress অবজেক্ট।

v3 প্লেস জিওকোডিং থেকে মাইগ্রেট করুন

যদি আপনি জিওকোডিং v3 ব্যবহার করে একটি নির্দিষ্ট প্লেস আইডির ঠিকানা পেতে place_id ব্যবহার করেন, তাহলে আপনাকে v4 প্লেস জিওকোডিং এন্ডপয়েন্টে মাইগ্রেট করতে হবে, যা একটি GET অনুরোধ গ্রহণ করে।

v4 API বিভিন্ন প্যারামিটারের নাম, কাঠামো এবং সমর্থন পরিবর্তন করে। আমরা দৃঢ়ভাবে সুপারিশ করছি যে আপনি প্রতিক্রিয়ায় যে ক্ষেত্রগুলি ফেরত চান তা নির্দিষ্ট করার জন্য একটি ফিল্ড মাস্ক ব্যবহার করুন

প্যারামিটার পরিবর্তনের অনুরোধ করুন

v3 প্যারামিটার v4 প্যারামিটার মন্তব্য
place_id অনুরোধের ক্ষেত্রের প্রোটো place প্লেস আইডি এখন একটি পাথ প্যারামিটার places/{place} হিসেবে প্রদান করা হয়েছে, উদাহরণস্বরূপ: https://geocode.googleapis.com/v4beta/geocode/places/ChIJj61dQgK6j4AR4GeTYWZsKWw । এটি অন্তর্নিহিত অনুরোধের প্লেস ফিল্ডে ম্যাপ করে।
language languageCode নাম পরিবর্তন করা হয়েছে।
region regionCode নাম পরিবর্তন করা হয়েছে।

প্রতিক্রিয়া ক্ষেত্রের পরিবর্তন

v3 ক্ষেত্র v4 ক্ষেত্র মন্তব্য
status , error_message সরানো হয়েছে v4 HTTP স্ট্যাটাস কোড এবং ত্রুটি বডি ব্যবহার করে
results (মূল) v4 একটি একক ফলাফল বস্তু প্রদান করে, একটি results অ্যারে নয়।
results.address_components.long_name / results.address_components.short_name addressComponents.longText / addressComponents.shortText নাম পরিবর্তন করা হয়েছে।
results.geometry.location_type granularity নাম পরিবর্তন করা হয়েছে।
results.geometry.location location ক্ষেত্রের নাম: lat / lng -> latitude / longitude
results.geometry.viewport viewport ক্ষেত্রের নাম: northeast / southwest -> high / low
results.postcode_localities postalCodeLocalities পুনঃনামকরণ করা হয়েছে। এখন এক বা একাধিক এলাকার জন্য ফিরে এসেছে (v3 প্রয়োজন >1)।
নতুন addressComponents.languageCode নির্দিষ্ট ঠিকানা উপাদানের ভাষা।
নতুন bounds high / low ব্যবহার করে স্পষ্ট সীমানা।
নতুন place স্থানের জন্য সম্পদের নাম।
নতুন postalAddress স্ট্রাকচার্ড PostalAddress অবজেক্ট।

জিওকোডিং হাইপারলোকাল ডেটা থেকে গন্তব্যে স্থানান্তর করুন

জিওকোডিং API v3-এর নিম্নলিখিত বৈশিষ্ট্যগুলি জিওকোডিং API v4-এর SearchDestinations এন্ডপয়েন্ট দ্বারা প্রতিস্থাপিত হচ্ছে:

  • প্রবেশপথ
  • নেভিগেশন পয়েন্ট
  • ভবনের রূপরেখা
  • মাঠ

যদি আপনি উপরের বৈশিষ্ট্যগুলির জন্য Geocoding API v3 ব্যবহার করে থাকেন, তাহলে এই বৈশিষ্ট্যগুলি পেতে SearchDestinations endpoint ব্যবহার করতে সাহায্য করার জন্য এই ডকুমেন্টটি ব্যবহার করুন। এই ডকুমেন্টটি ব্যাখ্যা করে যে SearchDestinations API প্রতিক্রিয়ায় কোথায় এই বৈশিষ্ট্যগুলি খুঁজে পাওয়া যায় এবং Geocoding API v3 এবং Geocoding API v4 এর SearchDestinations endpoint এর মধ্যে API প্রতিক্রিয়াগুলিতে এই বৈশিষ্ট্যগুলি কীভাবে উপস্থাপন করা হয় তার পার্থক্য।

প্রবেশপথ

একটি destination সাথে যুক্ত প্রবেশপথগুলি পেতে, destination.entrances ক্ষেত্রটি ব্যবহার করুন।

মনে রাখবেন যে একটি entrance ফর্ম্যাট Geocoding API v3 এর প্রবেশপথের ফর্ম্যাট থেকে কিছুটা আলাদা। destination.entrances এর প্রতিটি প্রবেশপথে নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:

  • displayName - এটি একটি নতুন ঐচ্ছিক ক্ষেত্র যেখানে প্রবেশদ্বারের জন্য একটি মানুষের পঠনযোগ্য নাম থাকবে, উদাহরণস্বরূপ "Gate B"।
  • location - এটি LatLng ধরণের একটি অবস্থান, যা Geocoding API v3 তে ব্যবহৃত ফর্ম্যাট থেকে আলাদা।
  • tags - এটি জিওকোডিং API v3 এর প্রবেশপথের tags ক্ষেত্রের মতোই।
  • place - Geocoding API v3 থেকে প্রবেশপথের buildingPlaceId ক্ষেত্রের অনুরূপ। তবে, এই ক্ষেত্রের Place ID যেকোনো ধরণের স্থানের জন্য হতে পারে, শুধুমাত্র একটি ভবনের জন্য নয়।

একটি destination সাথে সম্পর্কিত নেভিগেশন পয়েন্টগুলি পেতে, destination.navigationPoints ক্ষেত্রটি ব্যবহার করুন।

মনে রাখবেন যে navigationPoint এর ফর্ম্যাট Geocoding API v3 এর নেভিগেশন পয়েন্ট ফর্ম্যাট থেকে কিছুটা আলাদা। destination.navigationPoints এর প্রতিটি নেভিগেশন পয়েন্টে নিম্নলিখিত ক্ষেত্রগুলি থাকে:

  • displayName - এটি একটি নতুন ঐচ্ছিক ক্ষেত্র যেখানে নেভিগেশন পয়েন্টের জন্য একটি মানুষের পঠনযোগ্য নাম থাকবে, উদাহরণস্বরূপ "৫ম এভিনিউ"।
  • location - এটি LatLng ধরণের একটি অবস্থান, যা Geocoding API v3 তে ব্যবহৃত ফর্ম্যাট থেকে আলাদা।
  • travelModes - এটি Geocoding API v3 থেকে নেভিগেশন পয়েন্টের restrictedTravelModes ফিল্ডের অনুরূপ। সম্ভাব্য enum মানগুলি একই, একমাত্র পার্থক্য হল এই ক্ষেত্রটি এখন নেভিগেশন পয়েন্টের জন্য গ্রহণযোগ্য ভ্রমণ মোডগুলিকে প্রতিনিধিত্ব করে, সীমাবদ্ধ ভ্রমণ মোডগুলির পরিবর্তে।
  • usage - এটি একটি নতুন ক্ষেত্র যেখানে নেভিগেশন পয়েন্ট দ্বারা সমর্থিত ব্যবহারের কেসগুলি রয়েছে। মনে রাখবেন যে বেশিরভাগ নেভিগেশন পয়েন্টের একটি UNKNOWN ব্যবহার থাকবে, তবে এর অর্থ এই নয় যে নেভিগেশন পয়েন্টের ব্যবহার কোনওভাবেই সীমাবদ্ধ।

ভবনের রূপরেখা

কোনও destination সাথে সম্পর্কিত ভবনের রূপরেখা পেতে, আপনার destination placeView অবজেক্টের displayPolygon ফিল্ড ব্যবহার করা উচিত যা ভবনগুলিকে প্রতিনিধিত্ব করে। প্রতিটি placeView এর জন্য, আপনি placeView.structureType ফিল্ড ব্যবহার করে এটি একটি ভবন কিনা তা পরীক্ষা করতে পারেন। যদি কাঠামোর ধরণ BUILDING হয়, তাহলে আপনি placeView.displayPolygon ফিল্ড থেকে রূপরেখা পেতে পারেন। placeView ভবনের জন্য অতিরিক্ত ক্ষেত্রও থাকবে যা Geocoding API v3 তে ছিল না।

একটি destination একটি placeView অবজেক্ট থাকতে পারে যা নিম্নলিখিত ক্ষেত্রগুলিতে একটি ভবনকে প্রতিনিধিত্ব করে:

  • destination.primary - এটি গন্তব্যের প্রাথমিক স্থান।
  • destination.containingPlaces - এটি একটি পুনরাবৃত্ত ক্ষেত্র যা বৃহত্তর স্থানগুলিকে ধরে রাখতে পারে যা প্রাথমিক স্থানটিকে "ধারণ করে"। উদাহরণস্বরূপ, যদি প্রাথমিক স্থানটি একটি subpremise হয়, তাহলে containingPlaces সাধারণত ভবনের প্রতিনিধিত্বকারী placeView ধারণ করবে।
  • destination.subDestinations - এটি একটি পুনরাবৃত্ত ক্ষেত্র যা প্রাথমিক স্থানের উপ-গন্তব্য ধারণ করতে পারে। উদাহরণস্বরূপ, একটি ভবনের পৃথক অ্যাপার্টমেন্ট ইউনিট। এই ক্ষেত্রটিতে সাধারণত একটি ভবনের প্রতিনিধিত্বকারী কোনও placeView থাকবে না।

মনে রাখবেন যে placeView.displayPolygon এর ফর্ম্যাটটি RFC 7946 ফর্ম্যাট ব্যবহার করে Geocoding API v3, যা GeoJSON ফর্ম্যাট, এর বিল্ডিং আউটলাইন ফর্ম্যাটের সাথে মেলে।

মাঠ

বিল্ডিং আউটলাইনের মতো, কোনও destination সাথে সম্পর্কিত গ্রাউন্ডগুলি পেতে, আপনার destination placeView অবজেক্টের displayPolygon ফিল্ড ব্যবহার করা উচিত যা গ্রাউন্ডগুলি উপস্থাপন করে। প্রতিটি placeView জন্য, আপনি placeView.structureType ফিল্ড দিয়ে এটি গ্রাউন্ড কিনা তা পরীক্ষা করতে পারেন। যদি স্ট্রাকচারের ধরণটি GROUNDS হয়, তাহলে আপনি placeView.displayPolygon ফিল্ড থেকে রূপরেখাটি পেতে পারেন। placeView জিওকোডিং API v3 তে না থাকা গ্রাউন্ডগুলির জন্য অতিরিক্ত ক্ষেত্রও থাকবে।

একটি destination একটি placeView অবজেক্ট থাকতে পারে যা নিম্নলিখিত ক্ষেত্রগুলিতে একটি ভিত্তি উপস্থাপন করে:

  • destination.primary
  • destination.containingPlaces
  • destination.subDestinations

মনে রাখবেন যে placeView.displayPolygon এর ফর্ম্যাটটি RFC 7946 ফর্ম্যাট ব্যবহার করে Geocoding API v3, যা GeoJSON ফর্ম্যাট, এর গ্রাউন্ডস আউটলাইন ফর্ম্যাটের সাথে মেলে।

এই বৈশিষ্ট্যগুলি অনুরোধ করতে একটি ফিল্ড মাস্ক ব্যবহার করুন

SearchDestinations এন্ডপয়েন্টের জন্য একটি ফিল্ড মাস্ক প্রয়োজন, যেমনটি Choose fields to return এ ব্যাখ্যা করা হয়েছে। সমস্ত ফিল্ড ফেরত দেওয়ার জন্য ফিল্ড মাস্কটি * তে সেট করা যেতে পারে, অথবা আপনি যে নির্দিষ্ট ফিল্ডগুলি পেতে চান তাতে সেট করতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত API অনুরোধটি ফিল্ড মাস্কটিকে একটি গন্তব্যের প্রবেশপথ, নেভিগেশন পয়েন্ট, বিল্ডিং আউটলাইন এবং ভিত্তি পেতে প্রয়োজনীয় সমস্ত ফিল্ডগুলি গ্রহণ করার জন্য সেট করে:

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,destinations.containingPlaces,destinations.subDestinations" \
  https://geocode.googleapis.com/v4alpha/geocode/destinations