किसी जगह को जियोकोड में बदलना

रिवर्स जियोकोडिंग, मैप पर मौजूद जगह की जानकारी को ऐसे पते में बदलती है जिसे कोई भी पढ़ सकता है. मैप पर जगह की जानकारी, अक्षांश और देशांतर के निर्देशांक के ज़रिए दी जाती है.

किसी जगह का रिवर्स जियोकोड करने पर, जवाब में ये चीज़ें शामिल होती हैं:

यह एपीआई अलग-अलग तरह के पते दिखाता है. इनमें सड़क के सबसे सटीक पते से लेकर, कम सटीक राजनैतिक इकाइयां, जैसे कि इलाके, शहर, ज़िले, और राज्य शामिल हैं. आम तौर पर, सबसे सटीक पता पहले नतीजे में दिखता है. अगर आपको किसी खास तरह के पते से मैच करना है, तो types पैरामीटर का इस्तेमाल करें.

रिवर्स जियोकोडिंग का अनुरोध

रिवर्स जियोकोडिंग का अनुरोध, एचटीटीपी GET अनुरोध होता है. जगह की जानकारी को अनस्ट्रक्चर्ड स्ट्रिंग के तौर पर भी दिया जा सकता है:

https://geocode.googleapis.com/v4beta/geocode/location/LATITUDE,LONGITUDE

इसके अलावा, अक्षांश और देशांतर के निर्देशांकों को क्वेरी पैरामीटर की मदद से, स्ट्रक्चर्ड सेट के तौर पर भी दिखाया जा सकता है:

https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=LATITUDE&location.longitude=LONGITUDE

आम तौर पर, एचटीएमएल फ़ॉर्म में कैप्चर किए गए जगह के कॉम्पोनेंट को प्रोसेस करते समय, स्ट्रक्चर्ड फ़ॉर्मैट का इस्तेमाल किया जाता है.

अन्य सभी पैरामीटर को यूआरएल पैरामीटर के तौर पर पास करें. इसके अलावा, एपीआई पासकोड या फ़ील्ड मास्क जैसे पैरामीटर के लिए, जीईटी अनुरोध के हिस्से के तौर पर हेडर में पास करें. उदाहरण के लिए:

जगह की जानकारी वाली ऐसी स्ट्रिंग पास करना जो स्ट्रक्चर्ड न हो

बिना स्ट्रक्चर वाली जगह की जानकारी, अक्षांश और देशांतर के निर्देशांक के तौर पर कॉमा लगाकर लिखी गई स्ट्रिंग के तौर पर फ़ॉर्मैट की जाती है:

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"

स्ट्रक्चर्ड जगह की जानकारी देना

location क्वेरी पैरामीटर का इस्तेमाल करके, स्ट्रक्चर्ड जगह की जानकारी दें. इस पैरामीटर का टाइप LatLng होना चाहिए. LatLng ऑब्जेक्ट की मदद से, अक्षांश और देशांतर को अलग-अलग क्वेरी पैरामीटर के तौर पर तय किया जा सकता है:

https://geocode.googleapis.com/v4beta/geocode/location?location.latitude=37.4225508&location.longitude=-122.0846338&key=API_KEY

अनुरोध करने के लिए OAuth का इस्तेमाल करना

Geocoding API v4, पुष्टि करने के लिए OAuth 2.0 के साथ काम करता है. जियोकोडिंग एपीआई के साथ 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 कलेक्शन.

    रिवर्स जियोकोडर, results कलेक्शन में एक से ज़्यादा नतीजे दिखाता है. नतीजों में सिर्फ़ डाक पते ही नहीं, बल्कि किसी जगह का नाम बताने का कोई भी तरीका शामिल होता है. उदाहरण के लिए, शिकागो शहर के किसी पॉइंट को जियोकोड करते समय, जियोकोड किए गए पॉइंट को सड़क के पते, शहर (शिकागो), राज्य (इलिनॉय) या देश (अमेरिका) के तौर पर दिखाया जा सकता है. ये सभी, जियोकोडर के लिए "पते" हैं. रिवर्स जियोकोडर, इनमें से किसी भी तरह के मान्य नतीजे दिखाता है.

  • PlusCode टाइप के plusCode फ़ील्ड में, अनुरोध में दिए गए अक्षांश और देशान्तर के सबसे करीब का प्लस कोड होता है. इसके अलावा, results कलेक्शन के हर एलिमेंट में एक Plus Code होता है. डिकोड किए गए प्लस कोड और अनुरोध किए गए पॉइंट के बीच की दूरी 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"
  }
}

ज़रूरी पैरामीटर

  • जगह

    अक्षांश और देशांतर के निर्देशांक, जिनसे पता चलता है कि आपको सबसे नज़दीकी और आसानी से पढ़ा जा सकने वाला पता कहां चाहिए.

ज़रूरी नहीं पैरामीटर

  • languageCode

    वह भाषा जिसमें नतीजे दिखाने हैं.

    • इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google, इस्तेमाल की जा सकने वाली भाषाओं की सूची को अक्सर अपडेट करता है. इसलिए, हो सकता है कि यह पूरी सूची न हो.
    • अगर languageCode नहीं दिया जाता है, तो एपीआई डिफ़ॉल्ट रूप से en पर सेट हो जाता है. अगर आपने भाषा का अमान्य कोड डाला है, तो एपीआई INVALID_ARGUMENT गड़बड़ी का मैसेज दिखाता है.
    • एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में सड़क के पते दिखाता है. साथ ही, ज़रूरत पड़ने पर, उपयोगकर्ता की पसंदीदा भाषा के हिसाब से, पते को ऐसी स्क्रिप्ट में बदल देता है जिसे उपयोगकर्ता पढ़ सके. बाकी सभी पते, पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट, एक ही भाषा में दिखाए जाते हैं. यह भाषा, पहले कॉम्पोनेंट से चुनी जाती है.
    • अगर कोई नाम आपकी पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
    • पसंदीदा भाषा का असर, उन नतीजों के सेट पर पड़ता है जिन्हें एपीआई दिखाता है. साथ ही, इस बात पर भी असर पड़ता है कि नतीजे किस क्रम में दिखाए जाते हैं. भाषा के हिसाब से, जियोकोडर, अंग्रेज़ी के संक्षिप्त रूपों को अलग-अलग तरीके से समझता है. जैसे, सड़क के टाइप के लिए अंग्रेज़ी के संक्षिप्त रूप या ऐसे समानार्थी शब्द जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
  • regionCode

    इलाके का कोड, दो वर्णों वाले CLDR कोड की वैल्यू के तौर पर. कोई डिफ़ॉल्ट वैल्यू नहीं है. ज़्यादातर CLDR कोड, ISO 3166-1 कोड से मेल खाते हैं.

    किसी पते को जियोकोड करते समय, फ़ॉरवर्ड जियोकोडिंग पैरामीटर का इस्तेमाल किया जा सकता है. इससे, सेवा के नतीजों पर असर पड़ सकता है. हालांकि, यह नतीजों पर पूरी तरह से पाबंदी नहीं लगा सकता. किसी जगह या जगह की जानकारी को रिवर्स जियोकोडिंग या जगह की जियोकोडिंग के ज़रिए जियोकोड करते समय, इस पैरामीटर का इस्तेमाल करके पते को फ़ॉर्मैट किया जा सकता है. सभी मामलों में, लागू कानून के आधार पर इस पैरामीटर से नतीजों पर असर पड़ सकता है.

  • जानकारी का लेवल

    Granularity के मुताबिक, एक या उससे ज़्यादा जगह की जानकारी, अलग-अलग क्वेरी पैरामीटर के तौर पर दी गई हो. अगर आपने कई granularity पैरामीटर तय किए हैं, तो एपीआई उन सभी पतों को दिखाता है जो किसी भी जानकारी से मेल खाते हैं.

    granularity पैरामीटर, खोज को जगह की जानकारी के हिसाब से सीमित नहीं करता. इसके बजाय, granularity, खोज के बाद फ़िल्टर के तौर पर काम करता है. एपीआई, तय की गई location के लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो तय की गई जगह की जानकारी से मेल नहीं खाते.

    अगर types और granularity, दोनों को शामिल किया जाता है, तो एपीआई सिर्फ़ उन नतीजों को दिखाता है जो दोनों से मेल खाते हैं. उदाहरण के लिए:

    https://geocode.googleapis.com/v4beta/geocode/location/37.4225508,-122.0846338?granularity=ROOFTOP&granularity=GEOMETRIC_CENTER&key=API_KEY
  • प्रकार

    अलग-अलग क्वेरी पैरामीटर के तौर पर बताए गए एक या उससे ज़्यादा पते के टाइप. अगर आपने एक से ज़्यादा types पैरामीटर तय किए हैं, तो एपीआई उन सभी पतों को दिखाता है जो किसी भी टाइप से मैच करते हैं.

    types पैरामीटर, खोज को किसी खास तरह के पते तक सीमित नहीं करता. इसके बजाय, types, खोज के बाद फ़िल्टर के तौर पर काम करता है. एपीआई, बताई गई जगह के लिए सभी नतीजे फ़ेच करता है. इसके बाद, उन नतीजों को खारिज कर देता है जो बताए गए पते के टाइप से मेल नहीं खाते.

    अगर types और granularity, दोनों को शामिल किया जाता है, तो एपीआई सिर्फ़ उन नतीजों को दिखाता है जो दोनों से मेल खाते हैं. उदाहरण के लिए:

    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 लोकप्रिय जगह का नाम. आम तौर पर, ये "पीओआई" ऐसी लोकप्रिय स्थानीय इकाइयां होती हैं जिन्हें आसानी से किसी दूसरी कैटगरी में नहीं रखा जा सकता. जैसे, "एम्पायर स्टेट बिल्डिंग" या "एफ़िल टावर".

    टाइप की खाली सूची से पता चलता है कि पते के किसी खास कॉम्पोनेंट (उदाहरण के लिए, फ़्रांस में Lieu-dit) के लिए कोई टाइप नहीं है.