বিপরীত জিওকোডিং একটি মানচিত্র অবস্থানকে একটি মানব-পাঠযোগ্য ঠিকানায় অনুবাদ করে। আপনি অবস্থানের অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক দ্বারা মানচিত্রের অবস্থানটি উপস্থাপন করেন।
যখন আপনি একটি অবস্থানকে জিওকোড বিপরীত করেন, তখন প্রতিক্রিয়াতে থাকে:
- ঠিকানার জায়গা আইডি
- ঠিকানার প্লাস কোড
- ঠিকানার বিবরণ
এই API সবচেয়ে নির্দিষ্ট রাস্তার ঠিকানা থেকে কম নির্দিষ্ট রাজনৈতিক সত্তা যেমন আশেপাশের, শহর, কাউন্টি এবং রাজ্যগুলিতে বিভিন্ন ধরনের ঠিকানা ফেরত দেয়। সবচেয়ে সঠিক ঠিকানা সাধারণত প্রথম ফলাফল. আপনি যদি একটি নির্দিষ্ট ধরনের ঠিকানার সাথে মিল করতে চান তবে types প্যারামিটার ব্যবহার করুন।
রিভার্স জিওকোডিং অনুরোধ
একটি বিপরীত জিওকোডিং অনুরোধ হল একটি HTTP GET অনুরোধ৷ আপনি একটি অসংগঠিত স্ট্রিং হিসাবে অবস্থান নির্দিষ্ট করতে পারেন:
https://geocode.googleapis.com/v4beta/geocode/location/LATITUDE,LONGITUDE
অথবা কোয়েরি প্যারামিটার দ্বারা উপস্থাপিত অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কের একটি কাঠামোগত সেট হিসাবে:
https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE
HTML ফর্মে ক্যাপচার করা অবস্থান উপাদানগুলি প্রক্রিয়া করার সময় আপনি সাধারণত কাঠামোগত বিন্যাস ব্যবহার করেন।
অন্য সব প্যারামিটারকে URL প্যারামিটার হিসেবে পাস করুন বা, API কী বা ফিল্ড মাস্কের মতো প্যারামিটারের জন্য, GET অনুরোধের অংশ হিসেবে হেডারে। যেমন:
একটি অসংগঠিত অবস্থান স্ট্রিং পাস
একটি অসংগঠিত অবস্থান হল একটি অবস্থান যা অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কগুলির একটি কমা দ্বারা পৃথক স্ট্রিং হিসাবে বিন্যাসিত:
https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?key=API_KEY
অথবা একটি কার্ল কমান্ডে:
curl -X GET -H 'Content-Type: application/json' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338"
একটি কাঠামোগত অবস্থান পাস
LatLng টাইপের location কোয়েরি প্যারামিটার ব্যবহার করে কাঠামোগত অবস্থান নির্দিষ্ট করুন। LatLng অবজেক্ট আপনাকে আলাদা ক্যোয়ারী প্যারামিটার হিসাবে অক্ষাংশ এবং দ্রাঘিমাংশ নির্দিষ্ট করতে দেয়:
https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338 &key=API_KEY
একটি অনুরোধ করতে OAuth ব্যবহার করুন
জিওকোডিং API v4 প্রমাণীকরণের জন্য OAuth 2.0 সমর্থন করে। জিওকোডিং API এর সাথে OAuth ব্যবহার করতে, OAuth টোকেনকে অবশ্যই সঠিক সুযোগ বরাদ্দ করতে হবে। জিওকোডিং API বিপরীত জিওকোডিংয়ের সাথে ব্যবহারের জন্য নিম্নলিখিত সুযোগগুলিকে সমর্থন করে:
-
https://www.googleapis.com/auth/maps-platform.geocode— সমস্ত জিওকোডিং API এন্ডপয়েন্টের সাথে ব্যবহার করুন। -
https://www.googleapis.com/auth/maps-platform.geocode.location— বিপরীত জিওকোডিংয়ের জন্য শুধুমাত্রGeocodeLocationসাথে ব্যবহার করুন।
এছাড়াও, আপনি সমস্ত জিওকোডিং API এন্ডপয়েন্টের জন্য সাধারণ https://www.googleapis.com/auth/cloud-platform সুযোগ ব্যবহার করতে পারেন। এই সুযোগটি বিকাশের সময় কার্যকর, তবে উত্পাদন নয়, কারণ এটি একটি সাধারণ সুযোগ যা সমস্ত প্রান্তে অ্যাক্সেসের অনুমতি দেয়।
আরও তথ্য এবং উদাহরণের জন্য, OAuth ব্যবহার করুন দেখুন।
বিপরীত জিওকোডিং প্রতিক্রিয়া
বিপরীত জিওকোডিং একটি GeocodeLocationResponse অবজেক্ট প্রদান করে যাতে রয়েছে:
GeocodeResultঅবজেক্টেরresultsঅ্যারে যা স্থানটিকে প্রতিনিধিত্ব করে।বিপরীত জিওকোডার
resultsঅ্যারেতে একাধিক ফলাফল প্রদান করে। ফলাফল শুধুমাত্র ডাক ঠিকানা নয়, কিন্তু ভৌগলিকভাবে একটি অবস্থানের নামকরণের যেকোনো উপায়। উদাহরণ স্বরূপ, শিকাগো শহরের একটি পয়েন্ট জিওকোড করার সময়, জিওকোড করা পয়েন্টটিকে রাস্তার ঠিকানা হিসাবে, শহর (শিকাগো), এর রাজ্য (ইলিনয়) বা একটি দেশ (মার্কিন যুক্তরাষ্ট্র) হিসাবে চিহ্নিত করা যেতে পারে। সমস্ত জিওকোডারের "ঠিকানা"। বিপরীত জিওকোডার এই ধরনের যেকোনো একটিকে বৈধ ফলাফল হিসেবে প্রদান করে।plusCodeক্ষেত্র,PlusCodeটাইপের, প্লাস কোড ধারণ করে যা অনুরোধে অক্ষাংশ এবং দ্রাঘিমাংশের সর্বোত্তম অনুমান করে। উপরন্তু,resultsঅ্যারের প্রতিটি উপাদানে একটি প্লাস কোড রয়েছে। ডিকোড করা প্লাস কোড এবং অনুরোধ পয়েন্টের মধ্যে দূরত্ব 10 মিটারের নিচে।
সম্পূর্ণ JSON অবজেক্টটি ফর্মে রয়েছে:
{ "results": [ { "place": "//places.googleapis.com/places/ChIJV-FZF7i7j4ARo4ZOUoecZFU", "placeId": "ChIJV-FZF7i7j4ARo4ZOUoecZFU", "location": { "latitude": 37.422588300000008, "longitude": -122.0846489 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.421239319708512, "longitude": -122.0859978802915 }, "high": { "latitude": 37.423937280291511, "longitude": -122.08329991970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "street_address" ], "plusCode": { "globalCode": "849VCW83+PM", "compoundCode": "CW83+PM Mountain View, CA, USA" } }, { "place": "//places.googleapis.com/places/ChIJj61dQgK6j4AR4GeTYWZsKWw", "placeId": "ChIJj61dQgK6j4AR4GeTYWZsKWw", "location": { "latitude": 37.4220541, "longitude": -122.08532419999999 }, "granularity": "ROOFTOP", "viewport": { "low": { "latitude": 37.4207051197085, "longitude": -122.08667318029148 }, "high": { "latitude": 37.423403080291493, "longitude": -122.08397521970851 } }, "formattedAddress": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA", "addressComponents": [ { "longText": "1600", "shortText": "1600", "types": [ "street_number" ] }, { "longText": "Amphitheatre Parkway", "shortText": "Amphitheatre Pkwy", "types": [ "route" ], "languageCode": "en" }, { "longText": "Mountain View", "shortText": "Mountain View", "types": [ "locality", "political" ], "languageCode": "en" }, { "longText": "Santa Clara County", "shortText": "Santa Clara County", "types": [ "administrative_area_level_2", "political" ], "languageCode": "en" }, { "longText": "California", "shortText": "CA", "types": [ "administrative_area_level_1", "political" ], "languageCode": "en" }, { "longText": "United States", "shortText": "US", "types": [ "country", "political" ], "languageCode": "en" }, { "longText": "94043", "shortText": "94043", "types": [ "postal_code" ] } ], "types": [ "establishment", "point_of_interest" ], "plusCode": { "globalCode": "849VCWC7+RV", "compoundCode": "CWC7+RV Mountain View, CA, USA" } }, ... ], "plusCode": { "globalCode": "849VCWF8+24H", "compoundCode": "CWF8+24H Mountain View, CA, USA" } }
প্রয়োজনীয় পরামিতি
অবস্থান
অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্কগুলি নির্দিষ্ট করে যেখানে আপনি সবচেয়ে কাছের, মানুষের-পাঠযোগ্য ঠিকানাটি চান৷
ঐচ্ছিক পরামিতি
ভাষা কোড
যে ভাষায় ফলাফল দিতে হবে।
- সমর্থিত ভাষার তালিকা দেখুন। Google প্রায়ই সমর্থিত ভাষা আপডেট করে, তাই এই তালিকাটি সম্পূর্ণ নাও হতে পারে।
-
languageCodeসরবরাহ করা না হলে, API ডিফল্টen। আপনি যদি একটি অবৈধ ভাষা কোড নির্দিষ্ট করেন, API একটিINVALID_ARGUMENTত্রুটি প্রদান করে৷ - API একটি রাস্তার ঠিকানা প্রদান করার জন্য যথাসাধ্য চেষ্টা করে যা ব্যবহারকারী এবং স্থানীয় উভয়ের জন্যই পাঠযোগ্য। সেই লক্ষ্য অর্জনের জন্য, এটি স্থানীয় ভাষায় রাস্তার ঠিকানা ফেরত দেয়, পছন্দের ভাষা পর্যবেক্ষণ করে প্রয়োজনে ব্যবহারকারীর দ্বারা পাঠযোগ্য একটি স্ক্রিপ্টে প্রতিলিপি করা হয়। অন্য সব ঠিকানা পছন্দের ভাষায় ফেরত দেওয়া হয়। ঠিকানার উপাদানগুলি একই ভাষায় ফেরত দেওয়া হয়, যা প্রথম উপাদান থেকে বেছে নেওয়া হয়।
- পছন্দের ভাষায় একটি নাম উপলব্ধ না হলে, API সবচেয়ে কাছের মিল ব্যবহার করে।
- পছন্দের ভাষাটির ফলাফলের সেটের উপর একটি ছোট প্রভাব রয়েছে যা API ফেরত দিতে বেছে নেয় এবং যে ক্রমে সেগুলি ফেরত দেওয়া হয়। জিওকোডার ভাষার উপর নির্ভর করে সংক্ষেপণগুলিকে ভিন্নভাবে ব্যাখ্যা করে, যেমন রাস্তার প্রকারের সংক্ষিপ্ত রূপ, বা প্রতিশব্দ যা এক ভাষায় বৈধ হতে পারে কিন্তু অন্য ভাষায় নয়।
অঞ্চল কোড
দুই-অক্ষরের CLDR কোড মান হিসাবে অঞ্চল কোড। কোন ডিফল্ট মান নেই। বেশিরভাগ CLDR কোডগুলি ISO 3166-1 কোডগুলির সাথে অভিন্ন৷
যখন একটি ঠিকানা জিওকোডিং, ফরওয়ার্ড জিওডকোডিং , এই প্যারামিটারটি নির্দিষ্ট অঞ্চলে পরিষেবা থেকে ফলাফলগুলিকে প্রভাবিত করতে পারে, কিন্তু সম্পূর্ণরূপে সীমাবদ্ধ করতে পারে না৷ একটি অবস্থান বা স্থান জিওকোডিং করার সময়, বিপরীত জিওকোডিং বা স্থান জিওকোডিং , এই প্যারামিটারটি ঠিকানা ফর্ম্যাট করতে ব্যবহার করা যেতে পারে। সব ক্ষেত্রে, এই প্যারামিটারটি প্রযোজ্য আইনের উপর ভিত্তি করে ফলাফলকে প্রভাবিত করতে পারে।
কণিকা
Granularityদ্বারা সংজ্ঞায়িত এক বা একাধিক অবস্থানের গ্রানুলারিটি, পৃথক ক্যোয়ারী প্যারামিটার হিসাবে নির্দিষ্ট করা হয়েছে। আপনি যদি একাধিকgranularityপ্যারামিটার উল্লেখ করেন, তাহলে এপিআই এমন সব ঠিকানা প্রদান করে যা যেকোনো গ্রানুলিটির সাথে মেলে।granularityপ্যারামিটার অনুসন্ধানটিকে নির্দিষ্ট অবস্থানের গ্রানুলারিটিতে সীমাবদ্ধ করে না। বরং,granularityপোস্ট-সার্চ ফিল্টার হিসেবে কাজ করে। API নির্দিষ্টlocationজন্য সমস্ত ফলাফল নিয়ে আসে, তারপর সেই ফলাফলগুলি বাতিল করে যা নির্দিষ্ট অবস্থানের গ্রানুলিটির সাথে মেলে না।আপনি যদি উভয়
typesএবংgranularityনির্দিষ্ট করেন তবে API শুধুমাত্র সেই ফলাফলগুলি প্রদান করে যা উভয়ের সাথে মেলে। যেমন:https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP
&granularity=GEOMETRIC_CENTER &key=API_KEY প্রকার
এক বা একাধিক ঠিকানার ধরন, আলাদা ক্যোয়ারী প্যারামিটার হিসেবে নির্দিষ্ট করা হয়েছে। আপনি যদি একাধিক
typesপরামিতি নির্দিষ্ট করেন, তাহলে এপিআই সমস্ত ঠিকানা প্রদান করে যা যেকোনো প্রকারের সাথে মেলে।typesপরামিতি নির্দিষ্ট ঠিকানা প্রকার(গুলি) অনুসন্ধানকে সীমাবদ্ধ করে না। বরং,typesপোস্ট-সার্চ ফিল্টার হিসাবে কাজ করে। API নির্দিষ্ট অবস্থানের জন্য সমস্ত ফলাফল নিয়ে আসে, তারপর সেই ফলাফলগুলি বাতিল করে যা নির্দিষ্ট ঠিকানা প্রকার(গুলি) এর সাথে মেলে না।আপনি যদি উভয়
typesএবংgranularityনির্দিষ্ট করেন তবে API শুধুমাত্র সেই ফলাফলগুলি প্রদান করে যা উভয়ের সাথে মেলে। যেমন:https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?types=administrative_area_level_2
&types=locality &key=API_KEY নিম্নলিখিত মানগুলি সমর্থিত:
ঠিকানার ধরন এবং ঠিকানা উপাদান প্রকার
প্রতিক্রিয়াতে
GeocodeResultবডিতেtypesঅ্যারে ঠিকানার ধরন নির্দেশ করে। ঠিকানার ধরনগুলির উদাহরণগুলির মধ্যে একটি রাস্তার ঠিকানা, একটি দেশ বা একটি রাজনৈতিক সত্তা অন্তর্ভুক্ত।GeocodeResultবডিরAddressComponentsক্ষেত্রেরtypesঅ্যারে ঠিকানার প্রতিটি অংশের ধরন নির্দেশ করে। উদাহরণগুলির মধ্যে রয়েছে রাস্তার নম্বর বা দেশ৷ঠিকানার একাধিক প্রকার থাকতে পারে। প্রকারগুলি 'ট্যাগ' হিসাবে বিবেচিত হতে পারে। উদাহরণস্বরূপ, অনেক শহর
politicalএবংlocalityপ্রকারের সাথে ট্যাগ করা হয়।নিম্নলিখিত প্রকারগুলি সমর্থিত এবং ঠিকানার ধরন এবং ঠিকানা উপাদান টাইপ অ্যারে উভয় ক্ষেত্রেই ফেরত দেওয়া হয়:
ঠিকানার ধরন বর্ণনা street_addressএকটি সুনির্দিষ্ট রাস্তার ঠিকানা। routeএকটি নামযুক্ত রুট (যেমন "US 101")। intersectionএকটি প্রধান চৌরাস্তা, সাধারণত দুটি প্রধান রাস্তা। politicalএকটি রাজনৈতিক সত্তা। সাধারণত, এই ধরনের কিছু বেসামরিক প্রশাসনের বহুভুজ নির্দেশ করে। countryজাতীয় রাজনৈতিক সত্তা, এবং এটি সাধারণত জিওকোডার দ্বারা প্রত্যাবর্তিত সর্বোচ্চ ক্রম প্রকার। administrative_area_level_1দেশের স্তরের নীচে একটি প্রথম-ক্রম নাগরিক সত্তা। মার্কিন যুক্তরাষ্ট্রের মধ্যে, এই প্রশাসনিক স্তরগুলি হল রাজ্য। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। বেশিরভাগ ক্ষেত্রে, administrative_area_level_1সংক্ষিপ্ত নামগুলি ISO 3166-2 উপবিভাগ এবং অন্যান্য ব্যাপকভাবে প্রচারিত তালিকাগুলির সাথে ঘনিষ্ঠভাবে মিলবে; তবে এটি নিশ্চিত নয় কারণ আমাদের জিওকোডিং ফলাফল বিভিন্ন সংকেত এবং অবস্থান ডেটার উপর ভিত্তি করে।administrative_area_level_2দেশের স্তরের নীচে একটি দ্বিতীয়-ক্রম নাগরিক সত্তা। মার্কিন যুক্তরাষ্ট্রের মধ্যে, এই প্রশাসনিক স্তরগুলি হল কাউন্টি। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_3দেশের স্তরের নীচে একটি তৃতীয়-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_4দেশের স্তরের নীচে একটি চতুর্থ ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_5দেশের স্তরের নীচে একটি পঞ্চম-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_6দেশের স্তরের নীচে একটি ষষ্ঠ-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। administrative_area_level_7দেশের স্তরের নীচে একটি সপ্তম-ক্রম নাগরিক সত্তা। এই ধরনের একটি ছোট নাগরিক বিভাগ নির্দেশ করে। সমস্ত জাতি এই প্রশাসনিক স্তর প্রদর্শন করে না। colloquial_areaসত্তার জন্য একটি সাধারণভাবে ব্যবহৃত বিকল্প নাম। localityএকটি নিগমিত শহর বা শহরের রাজনৈতিক সত্তা। sublocalityএকটি এলাকার নীচে একটি প্রথম-ক্রম নাগরিক সত্তা। কিছু অবস্থানের জন্য অতিরিক্ত প্রকারের একটি পেতে পারে: sublocality_level_1থেকেsublocality_level_5। প্রতিটি উপ-স্থানীয় স্তর একটি নাগরিক সত্তা। বড় সংখ্যা একটি ছোট ভৌগলিক এলাকা নির্দেশ করে।neighborhoodএকটি নাম করা পাড়া। premiseএকটি নামযুক্ত অবস্থান, সাধারণত একটি বিল্ডিং বা একটি সাধারণ নাম সহ বিল্ডিংগুলির সংগ্রহ৷ subpremiseপ্রিমাইজ লেভেলের নীচে একটি ঠিকানাযোগ্য সত্তা, যেমন একটি অ্যাপার্টমেন্ট, ইউনিট বা স্যুট। plus_codeএকটি এনকোড করা অবস্থানের রেফারেন্স, অক্ষাংশ এবং দ্রাঘিমাংশ থেকে প্রাপ্ত। প্লাস কোডগুলি এমন জায়গায় রাস্তার ঠিকানাগুলির প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে যেখানে সেগুলি বিদ্যমান নেই (যেখানে বিল্ডিংগুলি সংখ্যাযুক্ত নয় বা রাস্তার নাম দেওয়া হয়নি)। বিস্তারিত জানার জন্য https://plus.codes দেখুন। postal_codeএকটি পোস্টাল কোড যা দেশের মধ্যে পোস্টাল মেল ঠিকানার জন্য ব্যবহৃত হয়। natural_featureএকটি বিশিষ্ট প্রাকৃতিক বৈশিষ্ট্য। airportএকটি বিমানবন্দর। parkনামের একটি পার্ক। point_of_interestআগ্রহের একটি নামকৃত পয়েন্ট। সাধারণত, এই "POI"গুলি হল বিশিষ্ট স্থানীয় সত্ত্বা যা "এম্পায়ার স্টেট বিল্ডিং" বা "আইফেল টাওয়ার" এর মতো অন্য বিভাগে সহজে ফিট করে না। প্রকারের একটি খালি তালিকা নির্দেশ করে যে নির্দিষ্ট ঠিকানা উপাদানের জন্য কোন পরিচিত প্রকার নেই (উদাহরণস্বরূপ, ফ্রান্সে লিউ-ডিট)।