रिवर्स जियोकोडिंग, मैप पर मौजूद किसी जगह की जानकारी को ऐसे पते में बदलती है जिसे कोई व्यक्ति आसानी से पढ़ सके. मैप पर जगह की जानकारी को, उस जगह के अक्षांश और देशांतर के निर्देशांकों से दिखाया जाता है.
किसी जगह को रिवर्स जियोकोड करने पर, जवाब में यह जानकारी शामिल होती है:
- पते की जगह का आईडी
- पते का Plus Code
- पते की जानकारी
यह एपीआई अलग-अलग तरह के पते दिखाता है. इनमें मोहल्ले के पते जैसी सटीक जानकारी से लेकर, मोहल्लों, शहरों, काउंटी, और राज्यों जैसी कम सटीक जानकारी वाली राजनैतिक इकाइयां शामिल हैं. आम तौर पर, सबसे सटीक पता पहले नतीजे के तौर पर दिखता है. अगर आपको किसी खास तरह के पते से मैच करना है, तो types पैरामीटर का इस्तेमाल करें.
रिवर्स जियोकोडिंग का अनुरोध
रिवर्स जियोकोडिंग का अनुरोध, एचटीटीपी जीईटी अनुरोध होता है. जगह की जानकारी को अनस्ट्रक्चर्ड स्ट्रिंग के तौर पर बताया जा सकता है:
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 कमांड में:
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 ऑब्जेक्ट दिखाता है. इसमें ये शामिल होते हैं:
-
GeocodeResultऑब्जेक्ट काresultsऐरे, जो जगह के बारे में बताता है.Geocoding API से मिले जवाबों में,
GeocodeResultमें दो मुख्य जगहों परtypesकलेक्शन शामिल होते हैं:GeocodeResult.types: यह कलेक्शन, नतीजे के टाइप के बारे में बताता है. संभावित वैल्यू, Places API के इस्तेमाल किए गए जगह के टाइप से ली जाती हैं. ज़्यादा जानकारी के लिए, जगह के टाइप की टेबल A और B देखें.GeocodeResult.addressComponents[].types: पते के हर कॉम्पोनेंट में एकtypesकलेक्शन होता है, जो पते के उस हिस्से के टाइप के बारे में बताता है. ये वैल्यू, Places API में इस्तेमाल की जाने वाली पते के टाइप और पते के कॉम्पोनेंट टाइप की टेबल से ली जाती हैं.
रिवर्स जियोकोडर,
resultsकलेक्शन में एक से ज़्यादा नतीजे दिखाता है. नतीजों में सिर्फ़ डाक पते नहीं, बल्कि किसी जगह को भौगोलिक तौर पर नाम देने का कोई भी तरीका शामिल होता है. उदाहरण के लिए, शिकागो शहर में किसी जगह को जियोकोड करते समय, जियोकोड की गई जगह को मोहल्ले के पते, शहर (शिकागो), राज्य (इलिनॉय) या देश (अमेरिका) के तौर पर दिखाया जा सकता है. जियोकोडर के लिए, ये सभी "पते" हैं. रिवर्स जियोकोडर, इनमें से किसी भी टाइप को मान्य नतीजे के तौर पर दिखाता है. -
plusCodeफ़ील्ड,PlusCodeटाइप का है. इसमें वह Plus Code शामिल है जो अनुरोध में दिए गए अक्षांश और देशांतर के सबसे करीब है. इसके अलावा,resultsकलेक्शन के हर एलिमेंट में एक Plus Code होता है. डिकोड किए गए Plus Code और अनुरोध किए गए पॉइंट के बीच की दूरी 10 मीटर से कम हो.ध्यान दें: एपीआई हमेशा Plus Codes नहीं दिखाता.
पूरा 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नहीं दिया जाता है, तो एपीआई डिफ़ॉल्ट रूप से जगह की स्थानीय भाषा और स्क्रिप्ट का इस्तेमाल करता है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआईINVALID_ARGUMENTगड़बड़ी का मैसेज दिखाता है. - एपीआई, मोहल्ले का ऐसा पता उपलब्ध कराने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में मोहल्ले के पते दिखाता है. साथ ही, अगर ज़रूरी हो, तो उपयोगकर्ता की पसंदीदा भाषा को ध्यान में रखते हुए, उसे ऐसी लिपि में ट्रांसलिट्रेट करता है जिसे उपयोगकर्ता पढ़ सके. अन्य सभी पते, आपकी पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट उसी भाषा में दिखाए जाते हैं जो पहले कॉम्पोनेंट के लिए चुनी गई है.
- अगर पसंदीदा भाषा में कोई नाम उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिलने वाले नतीजों के सेट और उनके क्रम पर थोड़ा पड़ता है. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए इस्तेमाल किए जाने वाले शॉर्ट फ़ॉर्म या समानार्थी शब्द, जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
regionCode
देश/इलाके का कोड, दो वर्णों वाले CLDR कोड की वैल्यू के तौर पर. इसकी कोई डिफ़ॉल्ट वैल्यू नहीं होती. ज़्यादातर CLDR कोड, ISO 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) पेज पर मौजूद पते के टाइप और पते के कॉम्पोनेंट के टाइप टेबल से ली जाती हैं. अगर आपने एक से ज़्यादा
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" }, ... ] }
ज़्यादा जानकारी के लिए, नतीजों में दिखाए जाने वाले फ़ील्ड चुनें देखें.