रिवर्स जियोकोडिंग, मैप पर मौजूद जगह की जानकारी को ऐसे पते में बदलती है जिसे आसानी से पढ़ा जा सकता है. मैप पर किसी जगह को उसके अक्षांश और देशांतर के निर्देशांकों से दिखाया जाता है.
किसी जगह की रिवर्स जियोकोडिंग करने पर, जवाब में यह जानकारी शामिल होती है:
- पते का जगह का आईडी
- पते के Plus Code
- पते की जानकारी
यह एपीआई अलग-अलग तरह के पते दिखाता है. इनमें सबसे सटीक सड़क का पता और कम सटीक राजनैतिक इकाइयां शामिल हैं. जैसे, आस-पड़ोस, शहर, काउंटी, और राज्य. आम तौर पर, सबसे सटीक पता पहले नतीजे के तौर पर दिखता है. अगर आपको किसी खास तरह के पते से मिलते-जुलते पते ढूंढने हैं, तो types पैरामीटर का इस्तेमाल करें.
रिवर्स जियोकोडिंग का अनुरोध
रिवर्स जियोकोडिंग का अनुरोध, एचटीटीपी GET अनुरोध होता है. जगह की जानकारी को अनस्ट्रक्चर्ड स्ट्रिंग के तौर पर सेट किया जा सकता है:
https://geocode.googleapis.com/v4/geocode/location/LATITUDE,LONGITUDE
इसके अलावा, अक्षांश और देशांतर के स्ट्रक्चर्ड सेट के तौर पर भी निर्देशांक दिए जा सकते हैं. इन्हें क्वेरी पैरामीटर के तौर पर दिखाया जाता है:
https://geocode.googleapis.com/v4/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE
आम तौर पर, एचटीएमएल फ़ॉर्म में कैप्चर किए गए पते के कॉम्पोनेंट को प्रोसेस करने के लिए, स्ट्रक्चर्ड फ़ॉर्मैट का इस्तेमाल किया जाता है.
अन्य सभी पैरामीटर को यूआरएल पैरामीटर के तौर पर पास करें. इसके अलावा, एपीआई पासकोड या फ़ील्ड मास्क जैसे पैरामीटर के लिए, जीईटी अनुरोध के हिस्से के तौर पर हेडर में पास करें. उदाहरण के लिए:
जगह की जानकारी देने वाली स्ट्रिंग को बिना किसी स्ट्रक्चर के पास करना
बिना स्ट्रक्चर वाली जगह की जानकारी, अक्षांश और देशांतर के निर्देशांकों की कॉमा लगाकर अलग की गई स्ट्रिंग के तौर पर फ़ॉर्मैट की जाती है:
https://geocode.googleapis.com/v4/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/v4/geocode/location/37.4225508,-122.0846338"
स्ट्रक्चर्ड लोकेशन पास करना
LatLng टाइप के location क्वेरी पैरामीटर का इस्तेमाल करके, स्ट्रक्चर्ड जगह की जानकारी दें.
LatLng ऑब्जेक्ट की मदद से, अक्षांश और देशांतर को अलग-अलग क्वेरी पैरामीटर के तौर पर सेट किया जा सकता है:
https://geocode.googleapis.com/v4/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338 &key=API_KEY
अनुरोध करने के लिए OAuth का इस्तेमाल करना
Geocoding API v4, पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करता है. Geocoding API के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को सही स्कोप असाइन किया जाना चाहिए. Geocoding API, रिवर्स जियोकोडिंग के साथ इस्तेमाल करने के लिए इन स्कोप के साथ काम करता है:
https://www.googleapis.com/auth/maps-platform.geocode— इसका इस्तेमाल Geocoding API के सभी तरीकों के साथ किया जाता है.https://www.googleapis.com/auth/maps-platform.geocode.location— इसका इस्तेमाल सिर्फ़GeocodeLocationके साथ रिवर्स जियोकोडिंग के लिए करें.
इसके अलावा, Geocoding API के सभी तरीकों के लिए, सामान्य https://www.googleapis.com/auth/cloud-platform
स्कोप का इस्तेमाल किया जा सकता है. यह स्कोप डेवलपमेंट के दौरान काम आता है, लेकिन प्रोडक्शन के दौरान नहीं. ऐसा इसलिए, क्योंकि यह एक सामान्य स्कोप है, जो सभी तरीकों से ऐक्सेस करने की अनुमति देता है.
ज़्यादा जानकारी और उदाहरणों के लिए, OAuth का इस्तेमाल करना लेख पढ़ें.
रिवर्स जियोकोडिंग का जवाब
रिवर्स जियोकोडिंग, GeocodeLocationResponse ऑब्जेक्ट दिखाता है. इसमें ये शामिल होते हैं:
-
results,GeocodeResultऑब्जेक्ट का ऐरे है. इससे जगह की जानकारी मिलती है.Geocoding API के जवाबों में,
typesऐरे शामिल होते हैं. येGeocodeResultमें दो मुख्य जगहों पर मौजूद होते हैं:GeocodeResult.types: इस कलेक्शन से पता चलता है कि नतीजे किस तरह के हैं. संभावित वैल्यू, Place Types (New) पेज पर मौजूद Table A and Table B से ली जाती हैं.GeocodeResult.addressComponents[].types: पते के हर कॉम्पोनेंट मेंtypesऐरे होता है. इससे पता चलता है कि पते का वह हिस्सा किस तरह का है. ये वैल्यू, 'जगह के टाइप (नया वर्शन)' पेज पर मौजूद पते के टाइप और पते के कॉम्पोनेंट के टाइप टेबल से ली जाती हैं.
रिवर्स जियोकोडर,
resultsकलेक्शन में एक से ज़्यादा नतीजे दिखाता है. नतीजे सिर्फ़ डाक पते नहीं होते, बल्कि किसी जगह का नाम बताने का कोई भी तरीका होता है. उदाहरण के लिए, शिकागो शहर में किसी पॉइंट को जियोकोड करते समय, जियोकोड किए गए पॉइंट को सड़क के पते, शहर (शिकागो), राज्य (इलिनॉय) या देश (अमेरिका) के तौर पर दिखाया जा सकता है. ये सभी जियोकोडर के लिए "पते" हैं. रिवर्स जियोकोडर, इनमें से किसी भी टाइप को मान्य नतीजे के तौर पर दिखाता है. -
PlusCodeटाइप केplusCodeफ़ील्ड में, ऐसा Plus Code होता है जो अनुरोध में दिए गए अक्षांश और देशांतर के सबसे करीब होता है. इसके अलावा,resultsकलेक्शन के हर एलिमेंट में एक Plus Code होता है. डिकोड किए गए Plus Code और अनुरोध किए गए पॉइंट के बीच की दूरी 10 मीटर से कम है.ध्यान दें: एपीआई हमेशा Plus Code नहीं दिखाता है.
पूरा 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" } }
ज़रूरी पैरामीटर
जगह
अक्षांश और देशांतर निर्देशांक, जिनसे यह पता चलता है कि आपको सबसे नज़दीकी और आसानी से पढ़ा जा सकने वाला पता कहां चाहिए.
ज़रूरी नहीं पैरामीटर
languageCode
वह भाषा जिसमें नतीजे दिखाने हैं.
- इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google, इस सुविधा के लिए उपलब्ध भाषाओं की सूची को अक्सर अपडेट करता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी शामिल न हो.
-
अगर
languageCodeनहीं दिया गया है, तो एपीआई डिफ़ॉल्ट रूप सेenको चुनता है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआईINVALID_ARGUMENTगड़बड़ी का मैसेज दिखाता है. - एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को पूरा करने के लिए, यह स्थानीय भाषा में सड़क के पते दिखाता है. अगर ज़रूरी हो, तो यह उपयोगकर्ता की पसंदीदा भाषा में पते को लिप्यंतरित करके दिखाता है. अन्य सभी पते, पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट, एक ही भाषा में दिखाए जाते हैं. यह भाषा, पहले कॉम्पोनेंट से चुनी जाती है.
- अगर नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिले नतीजों के सेट और उनके क्रम पर पड़ता है. जियोकोडर, भाषा के हिसाब से संक्षिप्त शब्दों का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए इस्तेमाल किए गए संक्षिप्त शब्द या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
regionCode
देश/इलाके का कोड, दो वर्णों वाले CLDR कोड की वैल्यू के तौर पर. इसकी कोई डिफ़ॉल्ट वैल्यू नहीं होती. ज़्यादातर CLDR कोड, आईएसओ 3166-1 कोड के जैसे ही होते हैं.
किसी पते को जियोकोड करते समय, फ़ॉरवर्ड जियोकोडिंग की जाती है. यह पैरामीटर, सेवा से मिले नतीजों पर असर डाल सकता है. हालांकि, यह पैरामीटर, सेवा से मिले नतीजों को पूरी तरह से प्रतिबंधित नहीं करता. किसी जगह या जगह की जानकारी को जियोकोड करते समय, रिवर्स जियोकोडिंग या जगह की जियोकोडिंग करते समय, इस पैरामीटर का इस्तेमाल पते को फ़ॉर्मैट करने के लिए किया जा सकता है. सभी मामलों में, लागू होने वाले कानून के आधार पर, इस पैरामीटर का असर नतीजों पर पड़ सकता है.
जानकारी का लेवल
एक या उससे ज़्यादा लोकेशन की जानकारी, जिन्हें अलग-अलग क्वेरी पैरामीटर के तौर पर तय किया गया है. इन्हें
Granularityके हिसाब से तय किया जाता है. अगर आपने एक से ज़्यादाgranularityपैरामीटर तय किए हैं, तो एपीआई उन सभी पतों को दिखाता है जो किसी भी ग्रेन्यूलैरिटी से मेल खाते हैं.granularityपैरामीटर, खोज को बताई गई जगह की बारीकियों तक सीमित नहीं करता. इसके बजाय,granularityखोज के बाद लागू होने वाले फ़िल्टर के तौर पर काम करता है. एपीआई, तय किए गएlocationके लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो तय की गई जगह के हिसाब से नहीं होते.अगर आपने
typesऔरgranularity, दोनों को चुना है, तो एपीआई सिर्फ़ वे नतीजे दिखाएगा जो दोनों से मेल खाते हों. उदाहरण के लिए:https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP
&granularity=GEOMETRIC_CENTER &key=API_KEY प्रकार
एक या उससे ज़्यादा पते के टाइप, जिन्हें अलग-अलग क्वेरी पैरामीटर के तौर पर तय किया गया है. संभावित वैल्यू, Place Types (New) पेज पर मौजूद Address types and address component types टेबल से ली जाती हैं. एक से ज़्यादा
typesपैरामीटर तय करने पर, एपीआई उन सभी पतों को दिखाता है जो किसी भी टाइप से मेल खाते हैं.typesपैरामीटर, खोज को बताए गए पते के टाइप तक सीमित नहीं करता. इसके बजाय,typesखोज के बाद लागू होने वाले फ़िल्टर के तौर पर काम करता है. एपीआई, चुनी गई जगह के लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो चुने गए पते के टाइप से मेल नहीं खाते.अगर आपने
typesऔरgranularity, दोनों को चुना है, तो एपीआई सिर्फ़ वे नतीजे दिखाएगा जो दोनों से मेल खाते हों. उदाहरण के लिए:https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338?types=administrative_area_level_2
&types=locality &key=API_KEY -
FieldMask
जवाब में दिखाए जाने वाले फ़ील्ड तय करने के लिए, जवाब फ़ील्ड मास्क बनाएं. यूआरएल पैरामीटर
$fieldsयाfieldsका इस्तेमाल करके या एचटीटीपी हेडरX-Goog-FieldMaskका इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को तरीके से पास करें. उदाहरण के लिए, नीचे दिए गए अनुरोध से जवाब के सिर्फ़placeIDफ़ील्ड दिखेंगे. जवाब यह है:curl -X GET -H 'Content-Type: application/json' \ -H 'X-Goog-FieldMask: results.placeId' \ -H "X-Goog-Api-Key: API_KEY" \ "https://geocode.googleapis.com/v4/geocode/location/37.4225508,-122.0846338"
{ "results": [ { "placeId": "ChIJHRNUiQK6j4ARJ__Hrbt6qsE" }, { "placeId": "ChIJj38IfwK6j4ARNcyPDnEGa9g" }, { "placeId": "ChIJ1yjFJ1-7j4ARG_RVqFD1h7k" }, { "placeId": "ChIJ09H2YwK6j4ARoF7qfCBxhB8" }, ... ] }
ज़्यादा जानकारी के लिए, जवाब में शामिल करने के लिए फ़ील्ड चुनना लेख पढ़ें.