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

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

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

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

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

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

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

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

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

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

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

अन्य सभी पैरामीटर को यूआरएल पैरामीटर के तौर पर पास करें. इसके अलावा, एपीआई कुंजी या फ़ील्ड मास्क जैसे पैरामीटर के लिए, 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 का इस्तेमाल करना

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 ऑब्जेक्ट का कलेक्शन है. इससे जगह के बारे में पता चलता है.

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

  • PlusCode टाइप वाले plusCode फ़ील्ड में, ऐसा Plus Code होता है जो अनुरोध में दिए गए अक्षांश और देशांतर के सबसे करीब होता है. इसके अलावा, results कलेक्शन के हर एलिमेंट में एक Plus Code होता है. डिकोड किए गए 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, अक्सर उन भाषाओं को अपडेट करता है जिनमें Gemini का इस्तेमाल किया जा सकता है. इसलिए, हो सकता है कि इस सूची में पूरी जानकारी शामिल न हो.
    • अगर 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 यह राष्ट्रीय राजनैतिक इकाई होती है. आम तौर पर, यह Geocoder से मिलने वाला सबसे बड़ा ऑर्डर टाइप होता है.
    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.