आम तौर पर, जियोकोडिंग शब्द का मतलब मैप पर किसी जगह पर ऐसे अनुवाद करना होता है जिसे कोई भी व्यक्ति आसानी से पढ़ सके. मैप पर किसी जगह को ऐसे पते में ले जाना जिससे कि वह ठीक से समझ में न आए और इस प्रक्रिया को रिवर्स जियोकोडिंग कहते हैं.
जियोकोडिंग अनुरोधों को वापस लें
ज़रूरी पैरामीटर
latlng
— अक्षांश और देशांतर के निर्देशांक, उस जगह की जानकारी देते हैं जहां आपको सबसे नज़दीकी पता चाहिए.key
— आपके ऐप्लिकेशन की एपीआई पासकोड. यह कुंजी, कोटा मैनेजमेंट के लिए आपके ऐप्लिकेशन की पहचान करती है. कुंजी पाने का तरीका जानें.
ज़रूरी नहीं पैरामीटर
ये ऐसे वैकल्पिक पैरामीटर हैं जिन्हें रिवर्स जियोकोडिंग अनुरोध में शामिल किया जा सकता है:
language
— वह भाषा जिसमें नतीजे दिखाने हैं.- इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google अक्सर काम करने वाली भाषाओं को अपडेट करता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी न हो.
- अगर
language
नहीं दिया जाता है, तो जियोकोडरAccept-Language
हेडर में बताई गई पसंदीदा भाषा या उस डोमेन की मूल भाषा का इस्तेमाल करने की कोशिश करता है जिससे अनुरोध भेजा गया है. - जियोकोडर सड़क का पता देने की पूरी कोशिश करता है, ताकि उपयोगकर्ता और स्थानीय लोग, दोनों आसानी से पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में मोहल्ले के पते दिखाता है. साथ ही, ज़रूरत पड़ने पर उसे ऐसी स्क्रिप्ट में ट्रांसलिट्रेट करता है जिसे उपयोगकर्ता पढ़ सके. साथ ही, अपनी पसंदीदा भाषा का ध्यान रखें. अन्य सभी ईमेल पतों को पसंदीदा भाषा में भेजा जाता है. पते से जुड़े सभी कॉम्पोनेंट एक ही भाषा में दिखाए जाते हैं, जिसे पहले कॉम्पोनेंट से चुना जाता है.
- अगर कोई नाम पसंदीदा भाषा में उपलब्ध नहीं है, तो जियोकोडर सबसे नज़दीकी मिलान का इस्तेमाल करता है.
region
— क्षेत्र का कोड, जिसे ccTLD ("टॉप लेवल डोमेन") की दो वर्णों वाली वैल्यू के तौर पर बताया जाता है. पैरामीटर, लागू कानून के हिसाब से नतीजों पर भी असर डाल सकता है.result_type
— एक या ज़्यादा तरह के पतों का फ़िल्टर, जिसे पाइप (|
) से अलग किया जाता है. अगर पैरामीटर में एक से ज़्यादा पते होते हैं, तो एपीआई उन सभी तरह के पतों को दिखाता है जो इनमें से किसी भी तरह के हों. प्रोसेस करने के बारे में एक जानकारी:result_type
पैरामीटर, खोज को किसी दिए गए पते के टाइप(टाइपों) तक restrict नहीं करता. इसके बजाय,result_type
खोज के बाद वाले फ़िल्टर की तरह काम करता है: एपीआई, बताए गएlatlng
के लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो दिए गए पते के टाइप से मेल नहीं खाते. इन वैल्यू का इस्तेमाल किया जा सकता है:street_address
में मोहल्ले का सटीक पता दिया जाता है.route
नाम वाले रास्ते को दिखाता है (जैसे कि "US 101").intersection
एक बड़े चौराहे को दिखाता है, जहां आम तौर पर दो मुख्य सड़कें होती हैं.political
एक राजनैतिक इकाई है. आम तौर पर, यह टाइप, कुछ सिविल एडमिनिस्ट्रेशन का पॉलीगॉन दिखाता है.country
, राष्ट्रीय राजनैतिक इकाई के बारे में बताता है. आम तौर पर, यह जियोकोडर से मिला सबसे ज़्यादा क्रम वाला ऑर्डर होता है.administrative_area_level_1
, देश के लेवल से नीचे की फ़र्स्ट ऑर्डर वाली नागरिक इकाई है. संयुक्त राज्य अमेरिका में, ये प्रशासनिक स्तर राज्य के हैं. सभी देशों में, ये प्रशासनिक स्तर नहीं दिखते. ज़्यादातर मामलों में, व्यवस्थापकीय_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
पसंदीदा जगह दिखाता है. आम तौर पर, ये "लोकप्रिय जगह" ऐसी मुख्य स्थानीय इकाइयां होती हैं जो किसी अन्य कैटगरी में आसानी से नहीं फ़िट होती हैं, जैसे कि "एंपायर स्टेट बिल्डिंग" या "आइफ़िल टावर".
location_type
— यह एक या उससे ज़्यादा लोकेशन टाइप का फ़िल्टर होता है, जिसे पाइप (|
) से अलग किया जाता है. अगर पैरामीटर में एक से ज़्यादा लोकेशन टाइप हैं, तो एपीआई इनमें से किसी भी टाइप से मेल खाने वाले सभी पते दिखाता है. प्रोसेसिंग के बारे में जानकारी:location_type
पैरामीटर, खोज को कुछ खास तरह की जगहों तक restrict नहीं करता है. इसके बजाय,location_type
खोज के बाद वाले फ़िल्टर की तरह काम करता है: एपीआई, बताए गएlatlng
के लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो बताई गई लोकेशन टाइप से मेल नहीं खाते. इन वैल्यू का इस्तेमाल किया जा सकता है:"ROOFTOP"
सिर्फ़ वही पता दिखाता है जिसकी जगह की जानकारी, Google के पास मोहल्ले का पता सटीक हो."RANGE_INTERPOLATED"
सिर्फ़ वे पते दिखाता है जो दो सटीक पॉइंट (जैसे कि चौराहे) के बीच अनुमान लगाते हैं (आम तौर पर, सड़क पर). इंटरपोलेट की गई रेंज आम तौर पर बताती है कि मोहल्ले के पते के लिए, छत पर मौजूद जियोकोड उपलब्ध नहीं हैं."GEOMETRIC_CENTER"
किसी जगह के सिर्फ़ ज्यामितीय केंद्र दिखाता है, जैसे कि पॉलीलाइन (उदाहरण के लिए, कोई सड़क) या पॉलीगॉन (क्षेत्र)."APPROXIMATE"
सिर्फ़ वे पते दिखाता है जिन्हें 'अनुमानित' के तौर पर दिखाया गया है.
अगर result_type
और location_type
, दोनों फ़िल्टर मौजूद हैं, तो एपीआई सिर्फ़ result_type
और location_type
, दोनों वैल्यू से मेल खाने वाले नतीजे दिखाता है. अगर कोई भी फ़िल्टर वैल्यू स्वीकार नहीं की जाती, तो एपीआई ZERO_RESULTS
दिखाता है.
रिवर्स जियोकोडिंग का उदाहरण
नीचे दी गई क्वेरी में, ब्रुकलिन में मौजूद किसी जगह के अक्षांश/देशांतर की वैल्यू शामिल है:
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY
ऊपर दी गई क्वेरी से ये नतीजे मिलते हैं:
{
"results" : [
{
"address_components" : [
{
"long_name" : "277",
"short_name" : "277",
"types" : [ "street_number" ]
},
{
"long_name" : "Bedford Avenue",
"short_name" : "Bedford Ave",
"types" : [ "route" ]
},
{
"long_name" : "Williamsburg",
"short_name" : "Williamsburg",
"types" : [ "neighborhood", "political" ]
},
{
"long_name" : "Brooklyn",
"short_name" : "Brooklyn",
"types" : [ "sublocality", "political" ]
},
{
"long_name" : "Kings",
"short_name" : "Kings",
"types" : [ "administrative_area_level_2", "political" ]
},
{
"long_name" : "New York",
"short_name" : "NY",
"types" : [ "administrative_area_level_1", "political" ]
},
{
"long_name" : "United States",
"short_name" : "US",
"types" : [ "country", "political" ]
},
{
"long_name" : "11211",
"short_name" : "11211",
"types" : [ "postal_code" ]
}
],
"formatted_address" : "277 Bedford Avenue, Brooklyn, NY 11211, USA",
"geometry" : {
"location" : {
"lat" : 40.714232,
"lng" : -73.9612889
},
"location_type" : "ROOFTOP",
"viewport" : {
"northeast" : {
"lat" : 40.7155809802915,
"lng" : -73.9599399197085
},
"southwest" : {
"lat" : 40.7128830197085,
"lng" : -73.96263788029151
}
}
},
"place_id" : "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"types" : [ "street_address" ]
},
... Additional <code>results[]</code> ...
ध्यान दें कि रिवर्स जियोकोडर ने एक से ज़्यादा परिणाम दिए. "formatted_address"
के नतीजे सिर्फ़ डाक पते नहीं होते, बल्कि किसी जगह को भौगोलिक रूप से नाम देने के लिए भी दिए जाते हैं. उदाहरण के लिए, शिकागो शहर में किसी पॉइंट को जियोकोड करते समय, जियोकोड किए गए पॉइंट को मोहल्ले के पते, शहर (शिकागो), उसके राज्य (इलीनॉय) या देश (संयुक्त राज्य अमेरिका) के रूप में दिखाया जा सकता है. जियोकोडर के लिए सभी "पते" हैं. रिवर्स जियोकोडर इनमें से किसी भी प्रकार को
मान्य परिणामों के रूप में लौटाता है.
रिवर्स जियोकोडर राजनैतिक इकाइयों (देशों, प्रांतों, शहरों और इलाकों), मोहल्ले के पतों, और पिन कोड से मेल खाता है.
पिछली क्वेरी से मिली formatted_address
वैल्यू की पूरी सूची यहां दिखाई गई है.
{
"plus_code" : {
"compound_code" : "P27Q+MCM New York, NY, USA",
"global_code" : "87G8P27Q+MCM"
},
"results" : [
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "street_address" ]
},
{
"formatted_address" : "279 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "premise" ]
},
{
"formatted_address" : "277 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "establishment", "point_of_interest" ]
},
{
"formatted_address" : "291-275 Bedford Ave, Brooklyn, NY 11211, USA",
...
"types" : [ "route" ]
},
{
"formatted_address" : "P27Q+MC New York, NY, USA",
...
"types" : [ "plus_code" ]
},
{
"formatted_address" : "South Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Brooklyn, NY 11211, USA",
...
"types" : [ "postal_code" ]
},
{
"formatted_address" : "Williamsburg, Brooklyn, NY, USA",
...
"types" : [ "neighborhood", "political" ]
},
{
"formatted_address" : "Kings County, Brooklyn, NY, USA",
...
"types" : [ "administrative_area_level_2", "political" ]
},
{
"formatted_address" : "Brooklyn, NY, USA",
...
"types" : [ "political", "sublocality", "sublocality_level_1" ]
},
{
"formatted_address" : "New York, NY, USA",
...
"types" : [ "locality", "political" ]
},
{
"formatted_address" : "New York, USA",
...
"types" : [ "administrative_area_level_1", "political" ]
},
{
"formatted_address" : "United States",
...
"types" : [ "country", "political" ]
}
],
"status" : "OK"
}
यह एपीआई अलग-अलग तरह के पते दिखाता है. इनमें मोहल्ले, शहर, काउंटी, और राज्य जैसी कम खास राजनैतिक इकाइयां शामिल होती हैं. आम तौर पर, खोज के नतीजों में ज़्यादा सटीक पता दिखाने के लिए, खोज के नतीजे को मुख्य तौर पर दिखाया जाता है, जैसा कि इस मामले में होता है. अगर आपको किसी खास तरह के पते का मिलान करना है, तो नतीजों को टाइप के हिसाब से सीमित करने के बारे में नीचे दिया गया सेक्शन देखें. इस वजह से, नतीजे अलग-अलग जगह पर दिख सकते हैं.
टाइप के हिसाब से फ़िल्टर की गई रिवर्स जियोकोडिंग
नीचे दिए गए उदाहरण में, फ़िल्टर करके लौटाए गए पतों को फ़िल्टर किया गया है. ऐसा सिर्फ़ उन पतों को शामिल करने के लिए किया गया है जिनकी जगह की जानकारी का टाइप ROOFTOP
और पता टाइप street_address
है.
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452
&location_type=ROOFTOP&result_type=street_address&key=YOUR_API_KEY
ध्यान दें: ये फ़िल्टर सिर्फ़ रिवर्स जियोकोडिंग के लिए मान्य हैं.
रिवर्स जियोकोडिंग प्रतिक्रियाएं
रिवर्स जियोकोडिंग रिस्पॉन्स का फ़ॉर्मैट, जियोकोडिंग रिस्पॉन्स जैसा ही है. जियोकोडिंग जवाब देखें. नीचे रिवर्स जियोकोडिंग प्रतिक्रिया में संभव स्थिति कोड दिए गए हैं.
जियोकोडिंग स्थिति कोड उलटना
जियोकोडिंग रिस्पॉन्स ऑब्जेक्ट के "status"
फ़ील्ड में,
अनुरोध की स्थिति होती है. साथ ही, इसमें डीबग करने की जानकारी भी हो सकती है, ताकि आप यह पता लगा सकें कि रिवर्स जियोकोडिंग क्यों काम नहीं कर रहा है. "status"
फ़ील्ड में ये वैल्यू हो सकती हैं:
"OK"
बताता है कि कोई गड़बड़ी नहीं हुई और कम से कम एक पता दिया गया."ZERO_RESULTS"
बताता है कि रिवर्स जियोकोडिंग सफल रही, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब जियोकोडर को किसी रिमोट जगह परlatlng
पास किया गया हो."OVER_QUERY_LIMIT"
बताता है कि आपका कोटा खत्म हो गया है."REQUEST_DENIED"
से पता चलता है कि अनुरोध अस्वीकार कर दिया गया था. ऐसा इसलिए हो सकता है, क्योंकि अनुरोध मेंresult_type
याlocation_type
पैरामीटर शामिल हो, लेकिन एपीआई पासकोड शामिल न हो.- आम तौर पर,
"INVALID_REQUEST"
में इनमें से कोई एक जानकारी होती है:- क्वेरी (
address
,components
याlatlng
) मौजूद नहीं है. - गलत
result_type
याlocation_type
दिया गया था.
- क्वेरी (
"UNKNOWN_ERROR"
से पता चलता है कि सर्वर की गड़बड़ी की वजह से अनुरोध को प्रोसेस नहीं किया जा सका. फिर से कोशिश करने पर हो सकता है कि अनुरोध पूरा हो जाए.
रिवर्स जियोकोडिंग प्लस कोड
जियोकोडिंग जवाब में plus_code
फ़ील्ड में एक प्लस कोड होता है, जो क्वेरी किए गए अक्षांश और देशांतर का सबसे सही अनुमान लगाता है.
इसके अलावा, ज़्यादातर मामलों में JSON नतीजों के कलेक्शन में पूरा जियोकोड मौजूद होता है. इसमें plus_code
टाइप और प्लस कोड वाला पता शामिल होता है. डिकोड किए गए प्लस कोड और अनुरोध पॉइंट के बीच की दूरी 10 मीटर से कम होने की गारंटी दी जाती है.