একটি Destination বলতে একটি উল্লেখযোগ্য আকর্ষণীয় স্থান বা নির্দিষ্ট স্থানকে বোঝায় যেখানে একজন ব্যবহারকারী পৌঁছাতে বা নেভিগেট করতে চান। একটি Destination নেভিগেশন পয়েন্ট, ল্যান্ডমার্ক, প্রবেশপথ এবং ভবনের রূপরেখার মতো তথ্য অন্তর্ভুক্ত থাকতে পারে।
জিওকোডিং এপিআই-এর SearchDestinations এন্ডপয়েন্ট আপনাকে বিভিন্ন ইনপুট মানদণ্ডের উপর ভিত্তি করে বিভিন্ন গন্তব্য সম্পর্কে বিস্তারিত তথ্য পুনরুদ্ধার করতে দেয়, যেমন ঠিকানা, স্থান আইডি, অথবা অক্ষাংশ ও দ্রাঘিমাংশ স্থানাঙ্ক।
গন্তব্যস্থল অনুসন্ধানের অনুরোধ
একটি অনুসন্ধান গন্তব্য অনুরোধ হল একটি URL-এ একটি HTTP POST অনুরোধ যা এই ফর্মে থাকে:
https://geocode.googleapis.com/v4alpha/geocode/destinations
POST অনুরোধের অংশ হিসেবে JSON অনুরোধের বডিতে অথবা হেডারে সমস্ত প্যারামিটার পাস করুন। উদাহরণস্বরূপ:
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/v4alpha/geocode/destinations
আপনি ৩টি উপায়ের যেকোনো একটিতে গন্তব্য অনুসন্ধানের জন্য অবস্থান নির্দিষ্ট করতে পারেন:
- জানুন
- স্থান আইডি
- অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক
ঠিকানা অনুসারে একটি গন্তব্য অনুসন্ধান করুন
আপনি ঠিকানাটিকে একটি অসংগঠিত স্ট্রিং হিসেবে নির্দিষ্ট করতে পারেন:
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/v4alpha/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/v4alpha/geocode/destinations
HTML ফর্ম্যাটে ক্যাপচার করা ঠিকানা উপাদানগুলি প্রক্রিয়া করার সময় আপনি সাধারণত postalAddress ফর্ম্যাট ব্যবহার করেন।
স্থান আইডি অনুসারে একটি গন্তব্য অনুসন্ধান করুন
আপনি একটি স্থান আইডি প্রদান করে একটি গন্তব্য পুনরুদ্ধার করতে পারেন:
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/v4alpha/geocode/destinations
অবস্থান অনুসারে একটি গন্তব্য অনুসন্ধান করুন
অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক প্রদান করে আপনি একটি গন্তব্য অনুসন্ধান করতে পারেন:
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/v4alpha/geocode/destinations
অনুরোধ করতে OAuth ব্যবহার করুন
Geocoding API v4 প্রমাণীকরণের জন্য OAuth 2.0 সমর্থন করে। Geocoding API-এর সাথে OAuth ব্যবহার করার জন্য, OAuth টোকেনটিকে সঠিক স্কোপ বরাদ্দ করতে হবে। Geocoding API গন্তব্যস্থলের শেষ বিন্দুর সাথে ব্যবহারের জন্য নিম্নলিখিত স্কোপগুলিকে সমর্থন করে:
-
https://www.googleapis.com/auth/maps-platform.geocode— সকল জিওকোডিং API এন্ডপয়েন্টের সাথে ব্যবহার করুন।
এছাড়াও, আপনি সমস্ত জিওকোডিং এপিআই এন্ডপয়েন্টের জন্য সাধারণ https://www.googleapis.com/auth/cloud-platform স্কোপ ব্যবহার করতে পারেন। এই স্কোপটি ডেভেলপমেন্টের সময় কার্যকর, কিন্তু উৎপাদনের সময় নয়, কারণ এটি একটি সাধারণ স্কোপ যা সমস্ত এন্ডপয়েন্টে অ্যাক্সেসের অনুমতি দেয়।
আরও তথ্য এবং উদাহরণের জন্য, OAuth ব্যবহার দেখুন।
গন্তব্যস্থল অনুসন্ধানের প্রতিক্রিয়া
SearchDestinations একটি SearchDestinationsResponse প্রদান করে। সম্পূর্ণ JSON অবজেক্টটি এই আকারে রয়েছে:
{ "destinations": [ { "primary": { "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w", "displayName": { "text": "Arby's", "languageCode": "en" }, "primaryType": "fast_food_restaurant", "types": [ "fast_food_restaurant", "sandwich_shop", "deli", "american_restaurant", "meal_takeaway", "restaurant", "food_store", "food", "point_of_interest", "store", "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/ChIJteQ0Fum2j4ARGi3tqK4Zm14", "displayName": { "text": "Safeway", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "florist", "butcher_shop", "deli", "bakery", "food_delivery", "supermarket", "market", "food_store", "food", "point_of_interest", "store", "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 } }, "tags": [ "ARRIVAL", "ADDRESS" ] }, { "place": { "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs", "displayName": { "text": "Starbird Chicken", "languageCode": "en" }, "types": [ "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": { "type": "Polygon", "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ] } }, "tags": [ "ARRIVAL", "ADDRESS" ] }, { "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 } }, "tags": [ "ARRIVAL", "ADDRESS" ] }, { "place": { "place": "places/ChIJlbIO1Oi2j4ARp17Uf24xkHk", "displayName": { "text": "Madras Café", "languageCode": "en" }, "primaryType": "indian_restaurant", "types": [ "indian_restaurant", "coffee_shop", "cafe", "restaurant", "food_store", "food", "point_of_interest", "store", "establishment" ], "formattedAddress": "Madras Café, 1177 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1026", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1177 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3743, "longitude": -122.0549333 } }, "tags": [ "ARRIVAL", "ADDRESS" ] } ], "entrances": [ { "location": { "latitude": 37.373531299999996, "longitude": -122.05694519999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "UNKNOWN" ] } ] } ] }
প্রয়োজনীয় পরামিতি
- নিম্নলিখিত ৩টি প্যারামিটারের মধ্যে একটি API অনুরোধে থাকা আবশ্যক, যা একটি গন্তব্য অনুসন্ধানের জন্য ঠিকানা, স্থান বা অবস্থান নির্দিষ্ট করে:
-
addressQuery- যে ঠিকানাটি অনুসন্ধান করতে হবে। -
place- যে স্থানটি অনুসন্ধান করতে হবে তার স্থান আইডি। -
locationQuery- যে অবস্থানটি অনুসন্ধান করতে হবে তার অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক।
-
ফিল্ডমাস্ক
একটি রেসপন্স ফিল্ড মাস্ক তৈরি করে রেসপন্সে ফেরত পাঠানোর জন্য ফিল্ডের তালিকা নির্দিষ্ট করুন। 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/v4alpha/geocode/destinationsপ্রতিক্রিয়ায় ফেরত দেওয়া ফিল্ডের কোনও ডিফল্ট তালিকা নেই। যদি আপনি ফিল্ড মাস্কটি বাদ দেন, তাহলে পদ্ধতিটি একটি ত্রুটি ফেরত পাঠাবে। সমস্ত ফিল্ড ফেরত দেওয়ার জন্য ফিল্ড মাস্কটি
*তে সেট করুন। আরও বিস্তারিত জানার জন্য "ফিল্ডগুলি ফেরত দেওয়ার জন্য নির্বাচন করুন" দেখুন।
ঐচ্ছিক পরামিতি
ভ্রমণমোড
কোন ধরণের
navigationPointsফেরত দিতে হবে তা নির্দিষ্ট করে। অন্যান্য ভ্রমণ মোডের জন্য নেভিগেশনপয়েন্ট ফিল্টার করা হবে। যদিtravelModesসেট না করা থাকে, তাহলে সমস্ত ভ্রমণ মোডের নেভিগেশনপয়েন্ট ফেরত দেওয়া যেতে পারে।ভাষা কোড
যে ভাষায় ফলাফল দেখাতে হবে।
- সমর্থিত ভাষার তালিকা দেখুন। গুগল প্রায়শই সমর্থিত ভাষাগুলি আপডেট করে, তাই এই তালিকাটি সম্পূর্ণ নাও হতে পারে।
- যদি
languageCodeসরবরাহ করা না থাকে, তাহলে API ডিফল্টভাবেenতে সেট করা হবে। যদি আপনি একটি অবৈধ ভাষা কোড উল্লেখ করেন, তাহলে API একটিINVALID_ARGUMENTত্রুটি প্রদান করবে। - API এমন একটি রাস্তার ঠিকানা প্রদানের জন্য যথাসাধ্য চেষ্টা করে যা ব্যবহারকারী এবং স্থানীয় উভয়ের জন্যই পঠনযোগ্য। এই লক্ষ্য অর্জনের জন্য, এটি স্থানীয় ভাষায় রাস্তার ঠিকানাগুলি ফেরত দেয়, প্রয়োজনে ব্যবহারকারীর দ্বারা পঠনযোগ্য স্ক্রিপ্টে লিপ্যন্তরিত করে, পছন্দের ভাষা পর্যবেক্ষণ করে। অন্যান্য সমস্ত ঠিকানা পছন্দের ভাষায় ফেরত দেওয়া হয়। ঠিকানার উপাদানগুলি একই ভাষায় ফেরত দেওয়া হয়, যা প্রথম উপাদান থেকে নির্বাচিত হয়।
- যদি পছন্দের ভাষায় কোনও নাম পাওয়া না যায়, তাহলে API সবচেয়ে কাছের মিল ব্যবহার করে।
- API কোন ফলাফলগুলি ফেরত দিতে বেছে নেয় এবং কোন ক্রমে সেগুলি ফেরত দেওয়া হয় তার উপর পছন্দের ভাষার প্রভাব খুব কম থাকে। জিওকোডার ভাষার উপর নির্ভর করে সংক্ষিপ্ত রূপগুলিকে ভিন্নভাবে ব্যাখ্যা করে, যেমন রাস্তার ধরণের সংক্ষিপ্ত রূপ, অথবা প্রতিশব্দ যা এক ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়।
অঞ্চল কোড
অঞ্চল কোডটি দুই-অক্ষরের CLDR কোড মান। কোনও ডিফল্ট মান নেই। বেশিরভাগ CLDR কোড ISO 3166-1 কোডের অনুরূপ।
কোনও ঠিকানা জিওকোডিং করার সময়, জিওডকোডিং ফরোয়ার্ড করার সময় , এই প্যারামিটারটি নির্দিষ্ট অঞ্চলে পরিষেবা থেকে ফলাফলকে প্রভাবিত করতে পারে, কিন্তু সম্পূর্ণরূপে সীমাবদ্ধ করতে পারে না। কোনও অবস্থান বা স্থানের জিওকোডিং করার সময়, জিওকোডিং বিপরীত করার সময় বা স্থান জিওকোডিং করার সময় , এই প্যারামিটারটি ঠিকানাটি ফর্ম্যাট করতে ব্যবহার করা যেতে পারে। সমস্ত ক্ষেত্রে, এই প্যারামিটার প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।
প্রতিক্রিয়া
এটি জিওকোডিং API-এর একটি পরীক্ষামূলক শেষ বিন্দু। geocoding-feedback-channel@google.com ঠিকানায় প্রতিক্রিয়া জানালে আমরা কৃতজ্ঞ থাকব।