जियोकोडिंग का अनुरोध और जवाब

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

अनुरोध

Geocoding API का अनुरोध इस तरह का होता है:

https://maps.googleapis.com/maps/api/geocode/outputFormat?parameters

जहां outputFormat इनमें से कोई भी वैल्यू हो सकती है:

  • json (सुझाया गया) से पता चलता है कि आउटपुट, JavaScript Object Notation (JSON) में है; या
  • xml से पता चलता है कि आउटपुट एक्सएमएल में है

एचटीटीपीएस ज़रूरी है.

कुछ पैरामीटर ज़रूरी होते हैं, जबकि कुछ ज़रूरी नहीं होते. यूआरएल में स्टैंडर्ड के तौर पर, पैरामीटर को एंपरसैंड (&) वर्ण का इस्तेमाल करके अलग किया जाता है.

इस पेज के बाकी हिस्से में, जियोकोडिंग और रिवर्स जियोकोडिंग के बारे में अलग-अलग बताया गया है. ऐसा इसलिए है, क्योंकि हर तरह के अनुरोध के लिए अलग-अलग पैरामीटर उपलब्ध हैं.

जियोकोडिंग (अक्षांश/देशांतर लुकअप) पैरामीटर

जियोकोडिंग के अनुरोध में ज़रूरी पैरामीटर:

  • key — आपके ऐप्लिकेशन का एपीआई पासकोड. इस कुंजी से, कोटा मैनेज करने के लिए आपके ऐप्लिकेशन की पहचान की जाती है. कुंजी पाने का तरीका जानें.
  • आपको अनुरोध में address या components या दोनों की जानकारी देनी होगी:

    • address — मोहल्ले का पता या Plus Code, जिसे आपको जियोकोड करना है. ध्यान दें: पते की जियोकोडिंग से, अक्षांश और देशांतर के निर्देशांक या अन्य ऐसी स्ट्रिंग का पता नहीं चलता जो किसी पते या Plus Code को नहीं दिखाती हैं. इस तरह की स्ट्रिंग का इस्तेमाल करने वाले अनुरोधों को स्वीकार नहीं किया जाता. साथ ही, इनकी वजह से गड़बड़ी के जवाब मिल सकते हैं या अनचाही गड़बड़ियां हो सकती हैं. जिन क्वेरी का इस्तेमाल नहीं किया जा सकता उनके उदाहरण यहां दिए गए हैं:
      क्वेरी का टाइप उदाहरण
      अक्षांश और देशांतर निर्देशांक. इसके बजाय, रिवर्स जियोकोडिंग का इस्तेमाल करें. "37.422131,-122.084801"
      एक ही क्वेरी में कई जगहों, सड़कों या शहरों के नाम जैसी कई अवधारणाएं या पाबंदियां शामिल हों "Market Street San Francisco San Jose Airport"
      डाक पते के एलिमेंट, Google Maps पर नहीं दिखाए गए हैं "C/O जॉन स्मिथ 123 मेन स्ट्रीट"
      "पी॰ओ॰ बॉक्स 13 सैन फ़्रांसिस्को"
      कारोबारों, चेन या कैटगरी के नाम के साथ ऐसी जगहों के नाम जोड़ना जहां ये इकाइयां उपलब्ध नहीं हैं "डैलस, टेक्सस के पास टेस्को"
      ऐसी क्वेरी जिनके कई मतलब निकल सकते हैं "चार्जर ड्रॉप-ऑफ़"
      पुराने नाम, जो अब इस्तेमाल नहीं किए जाते "मिडलसेक्स यूनाइटेड किंगडम"
      नॉन-जियोस्पेशल एलिमेंट या इंटेंट "वेंचुरा हार्बर में कितनी नावें हैं?"
      गैर-आधिकारिक या वैनिटी नेम "द जेंगा"
      "द हेल्टर स्केल्टर"
      पते उस फ़ॉर्मैट के मुताबिक डालें जो संबंधित देश की राष्ट्रीय डाक सेवा इस्तेमाल करती है. पते में कारोबार के नाम और यूनिट, सुइट या फ़्लोर नंबर जैसी अतिरिक्त जानकारी शामिल करने से बचें. मोहल्ले के पते के एलिमेंट को स्पेस से अलग किया जाना चाहिए. यहां इसे यूआरएल-एस्केप करके %20 के तौर पर दिखाया गया है:
      address=24%20Sussex%20Drive%20Ottawa%20ON
      Plus Code को यहां दिखाए गए तरीके से फ़ॉर्मैट करें. प्लस के निशान को यूआरएल में %2B के तौर पर और स्पेस को %20 के तौर पर दिखाया जाता है:
      • global code चार वर्णों का एरिया कोड और छह या उससे ज़्यादा वर्णों का लोकल कोड होता है (849VCWC8+R9, 849VCWC8%2BR9 है).
      • कंपाउंड कोड छह या उससे ज़्यादा वर्णों का स्थानीय कोड होता है. इसमें जगह की जानकारी साफ़ तौर पर दी गई होती है (CWC8+R9 Mountain View, CA, USA, CWC8%2BR9%20Mountain%20View%20CA%20USA है).
    • components — कॉम्पोनेंट फ़िल्टर, जिसमें एलिमेंट को पाइप (|) से अलग किया जाता है. अगर address दिया गया है, तो कॉम्पोनेंट फ़िल्टर को वैकल्पिक पैरामीटर के तौर पर भी स्वीकार किया जाता है. कॉम्पोनेंट फ़िल्टर के हर एलिमेंट में एक component:value पेयर होता है. साथ ही, यह जियोकोडर से मिलने वाले नतीजों को पूरी तरह से सीमित करता है. कॉम्पोनेंट फ़िल्टर करने के बारे में ज़्यादा जानकारी नीचे देखें.

ज़्यादा जानकारी के लिए, अक्सर पूछे जाने वाले सवाल देखें.

जियोकोडिंग के अनुरोध में इस्तेमाल किए जाने वाले वैकल्पिक पैरामीटर:

  • bounds — व्यूपोर्ट का बाउंडिंग बॉक्स, जिसमें जियोकोड के नतीजों को ज़्यादा प्रमुखता से दिखाया जाता है. यह पैरामीटर, जियोकोडर से मिलने वाले नतीजों पर सिर्फ़ असर डालेगा, उन्हें पूरी तरह से प्रतिबंधित नहीं करेगा. (ज़्यादा जानकारी के लिए, नीचे दिया गया व्यूपोर्ट बायसिंग देखें.)
  • language — वह भाषा जिसमें नतीजे दिखाए जाएंगे.
    • उपलब्ध भाषाओं की सूची देखें. Google अक्सर उन भाषाओं को अपडेट करता रहता है जिनमें यह सुविधा उपलब्ध है. इसलिए, हो सकता है कि इस सूची में सभी भाषाएं शामिल न हों.
    • अगर language नहीं दिया गया है, तो जियोकोडर Accept-Language हेडर में बताई गई पसंदीदा भाषा या उस डोमेन की मूल भाषा का इस्तेमाल करने की कोशिश करता है जिससे अनुरोध भेजा गया है.
    • जियोकोडर, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में मोहल्ले के पते दिखाता है. साथ ही, अगर ज़रूरी हो, तो उपयोगकर्ता की पसंदीदा भाषा को ध्यान में रखते हुए, उसे ऐसी स्क्रिप्ट में ट्रांसलिट्रेट करता है जिसे उपयोगकर्ता पढ़ सके. अन्य सभी पते, आपकी पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट उसी भाषा में दिखाए जाते हैं जो पहले कॉम्पोनेंट के लिए चुनी गई है.
    • अगर पसंदीदा भाषा में कोई नाम उपलब्ध नहीं है, तो जियोकोडर सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
    • पसंदीदा भाषा का असर, एपीआई से मिलने वाले नतीजों के सेट और उनके क्रम पर थोड़ा पड़ता है. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए शॉर्ट फ़ॉर्म या समानार्थी शब्द, जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं. उदाहरण के लिए, हंगेरियन भाषा में utca और tér, स्ट्रीट और स्क्वेयर के समानार्थी शब्द हैं.
  • region — देश/इलाके का कोड, जिसे ccTLD ("टॉप-लेवल डोमेन") की दो वर्णों वाली वैल्यू के तौर पर बताया गया है. यह पैरामीटर, जियोकोडर से मिलने वाले नतीजों को सिर्फ़ प्रभावित करेगा, पूरी तरह से प्रतिबंधित नहीं करेगा. (ज़्यादा जानकारी के लिए, नीचे दिया गया क्षेत्र के हिसाब से नतीजे दिखाना लेख पढ़ें.) लागू कानून के आधार पर, पैरामीटर से नतीजों पर भी असर पड़ सकता है.
  • components — कॉम्पोनेंट फ़िल्टर, जिसमें एलिमेंट को पाइप (|) से अलग किया जाता है. अगर अनुरोध में address शामिल नहीं है, तो कॉम्पोनेंट फ़िल्टर ज़रूरी है. कॉम्पोनेंट फ़िल्टर के हर एलिमेंट में एक component:value पेयर होता है. यह जियोकोडर से मिलने वाले नतीजों को पूरी तरह से सीमित करता है. कॉम्पोनेंट फ़िल्टर करने के बारे में ज़्यादा जानकारी नीचे देखें.
  • extra_computations — जवाब में इन अतिरिक्त सुविधाओं के बारे में बताने के लिए, इस पैरामीटर का इस्तेमाल करें: एक ही एपीआई अनुरोध के लिए इनमें से कई सुविधाएं चालू करने के लिए, हर सुविधा के अनुरोध में extra_computations पैरामीटर शामिल करें. उदाहरण के लिए:
    extra_computations=ADDRESS_DESCRIPTORS&extra_computations=BUILDING_AND_ENTRANCES

जवाब

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

इस उदाहरण में, Geocoding API "1600 Amphitheatre Parkway, Mountain View, CA" पते पर क्वेरी के लिए, json रिस्पॉन्स का अनुरोध करता है.

इस अनुरोध में, JSON output फ़्लैग का इस्तेमाल दिखाया गया है:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

इस अनुरोध में, एक्सएमएल output फ़्लैग का इस्तेमाल दिखाया गया है:

https://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

JSON और एक्सएमएल रिस्पॉन्स के सैंपल देखने के लिए, यहां दिए गए टैब चुनें.

JSON

{
    "results": [
        {
            "address_components": [
                {
                    "long_name": "1600",
                    "short_name": "1600",
                    "types": [
                        "street_number"
                    ]
                },
                {
                    "long_name": "Amphitheatre Parkway",
                    "short_name": "Amphitheatre Pkwy",
                    "types": [
                        "route"
                    ]
                },
                {
                    "long_name": "Mountain View",
                    "short_name": "Mountain View",
                    "types": [
                        "locality",
                        "political"
                    ]
                },
                {
                    "long_name": "Santa Clara County",
                    "short_name": "Santa Clara County",
                    "types": [
                        "administrative_area_level_2",
                        "political"
                    ]
                },
                {
                    "long_name": "California",
                    "short_name": "CA",
                    "types": [
                        "administrative_area_level_1",
                        "political"
                    ]
                },
                {
                    "long_name": "United States",
                    "short_name": "US",
                    "types": [
                        "country",
                        "political"
                    ]
                },
                {
                    "long_name": "94043",
                    "short_name": "94043",
                    "types": [
                        "postal_code"
                    ]
                },
                {
                    "long_name": "1351",
                    "short_name": "1351",
                    "types": [
                        "postal_code_suffix"
                    ]
                }
            ],
            "formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
            "geometry": {
                "location": {
                    "lat": 37.4222804,
                    "lng": -122.0843428
                },
                "location_type": "ROOFTOP",
                "viewport": {
                    "northeast": {
                        "lat": 37.4237349802915,
                        "lng": -122.083183169709
                    },
                    "southwest": {
                        "lat": 37.4210370197085,
                        "lng": -122.085881130292
                    }
                }
            },
            "place_id": "ChIJRxcAvRO7j4AR6hm6tys8yA8",
            "plus_code": {
                "compound_code": "CWC8+W7 Mountain View, CA",
                "global_code": "849VCWC8+W7"
            },
            "types": [
                "street_address"
            ]
        }
    ],
    "status": "OK"
}

ध्यान दें कि JSON रिस्पॉन्स में दो रूट एलिमेंट होते हैं:

  • "status" में अनुरोध का मेटाडेटा शामिल होता है. नीचे दिए गए स्टेटस कोड देखें.
  • "results" में जियोकोड किए गए पते की जानकारी और ज्यामिति की जानकारी का कलेक्शन होता है.

आम तौर पर, पते की खोज के लिए "results" कलेक्शन में सिर्फ़ एक एंट्री दिखती है. हालांकि, पते की क्वेरी साफ़ तौर पर न होने पर, जियोकोडर कई नतीजे दिखा सकता है.

XML

<GeocodeResponse>
    <status>OK</status>
    <result>
        <type>street_address</type>
        <formatted_address>1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA</formatted_address>
        <address_component>
            <long_name>1600</long_name>
            <short_name>1600</short_name>
            <type>street_number</type>
        </address_component>
        <address_component>
            <long_name>Amphitheatre Parkway</long_name>
            <short_name>Amphitheatre Pkwy</short_name>
            <type>route</type>
        </address_component>
        <address_component>
            <long_name>Mountain View</long_name>
            <short_name>Mountain View</short_name>
            <type>locality</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>Santa Clara County</long_name>
            <short_name>Santa Clara County</short_name>
            <type>administrative_area_level_2</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>California</long_name>
            <short_name>CA</short_name>
            <type>administrative_area_level_1</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>United States</long_name>
            <short_name>US</short_name>
            <type>country</type>
            <type>political</type>
        </address_component>
        <address_component>
            <long_name>94043</long_name>
            <short_name>94043</short_name>
            <type>postal_code</type>
        </address_component>
        <geometry>
            <location>
                <lat>37.4224428</lat>
                <lng>-122.0842467</lng>
            </location>
            <location_type>ROOFTOP</location_type>
            <viewport>
                <southwest>
                    <lat>37.4212648</lat>
                    <lng>-122.0856069</lng>
                </southwest>
                <northeast>
                    <lat>37.4239628</lat>
                    <lng>-122.0829089</lng>
                </northeast>
            </viewport>
        </geometry>
        <place_id>ChIJeRpOeF67j4AR9ydy_PIzPuM</place_id>
        <plus_code>
            <global_code>849VCWC8+X8</global_code>
            <compound_code>CWC8+X8 Mountain View, CA</compound_code>
        </plus_code>
    </result>
</GeocodeResponse>

ध्यान दें कि एक्सएमएल रिस्पॉन्स में एक <GeocodeResponse> और दो टॉप-लेवल एलिमेंट होते हैं:

  • <status> में अनुरोध का मेटाडेटा शामिल होता है. नीचे दिए गए स्टेटस कोड देखें.
  • शून्य या उससे ज़्यादा <result> एलिमेंट. हर एलिमेंट में, जियोकोड किए गए पते की जानकारी और ज्यामिति की जानकारी का एक सेट होता है.

एक्सएमएल रिस्पॉन्स, JSON रिस्पॉन्स की तुलना में काफ़ी लंबा होता है. इसलिए, हमारा सुझाव है कि आप json को पसंदीदा आउटपुट फ़्लैग के तौर पर इस्तेमाल करें. हालांकि, अगर आपकी सेवा को किसी वजह से xml की ज़रूरत है, तो उसका इस्तेमाल करें. इसके अलावा, एक्सएमएल ट्री को प्रोसेस करते समय कुछ बातों का ध्यान रखना ज़रूरी है, ताकि आप सही नोड और एलिमेंट का रेफ़रंस दे सकें. आउटपुट प्रोसेसिंग के लिए, सुझाए गए कुछ डिज़ाइन पैटर्न के बारे में जानने के लिए, XPath की मदद से एक्सएमएल को पार्स करना लेख पढ़ें.

  • एक्सएमएल के नतीजे, रूट <GeocodeResponse> एलिमेंट में रैप किए जाते हैं.
  • JSON, कई एलिमेंट वाली एंट्री को प्लूरल अरे (types) से दिखाता है. वहीं, एक्सएमएल इन्हें कई सिंगुलर एलिमेंट (<type>) का इस्तेमाल करके दिखाता है.
  • खाली एलिमेंट को JSON में खाली कलेक्शन से दिखाया जाता है. हालांकि, एक्सएमएल में ऐसे किसी एलिमेंट की मौजूदगी नहीं होती. उदाहरण के लिए, अगर किसी रिस्पॉन्स में कोई नतीजा जनरेट नहीं होता है, तो JSON में खाली results कलेक्शन दिखेगा. हालांकि, एक्सएमएल में कोई <result> एलिमेंट नहीं दिखेगा.

स्टेटस कोड

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

  • "OK" से पता चलता है कि कोई गड़बड़ी नहीं हुई. पते को पार्स कर लिया गया है और कम से कम एक जियोकोड मिला है.
  • "ZERO_RESULTS" से पता चलता है कि जियोकोड की प्रोसेस पूरी हो गई है, लेकिन कोई नतीजा नहीं मिला. ऐसा तब हो सकता है, जब जियोकोडर को कोई ऐसा address पास किया गया हो जो मौजूद नहीं है.
  • OVER_DAILY_LIMIT का मतलब इनमें से कोई एक हो सकता है:
    • एपीआई पासकोड मौजूद नहीं है या अमान्य है.
    • आपके खाते के लिए बिलिंग की सुविधा चालू नहीं की गई है.
    • आपने इस्तेमाल की जो सीमा तय की थी वह पूरी हो गई है.
    • पेमेंट का दिया गया तरीका अब मान्य नहीं है. उदाहरण के लिए, क्रेडिट कार्ड की समयसीमा खत्म हो गई है.

    इसे ठीक करने का तरीका जानने के लिए, Maps के बारे में अक्सर पूछे जाने वाले सवाल देखें.

  • "OVER_QUERY_LIMIT" से पता चलता है कि आपने कोटे से ज़्यादा स्टोरेज इस्तेमाल कर लिया है.
  • "REQUEST_DENIED" का मतलब है कि आपका अनुरोध अस्वीकार कर दिया गया है.
  • "INVALID_REQUEST" से आम तौर पर यह पता चलता है कि क्वेरी (address, components या latlng) मौजूद नहीं है.
  • "UNKNOWN_ERROR" से पता चलता है कि सर्वर की गड़बड़ी की वजह से, अनुरोध को प्रोसेस नहीं किया जा सका. फिर से कोशिश करने पर, अनुरोध पूरा हो सकता है.

गड़बड़ी के मैसेज

जब जियोकोडर, OK के अलावा कोई दूसरा स्टेटस कोड दिखाता है, तो जियोकोडिंग रिस्पॉन्स ऑब्जेक्ट में एक और error_message फ़ील्ड हो सकता है. इस फ़ील्ड में, दिए गए स्टेटस कोड की वजहों के बारे में ज़्यादा जानकारी होती है.

नतीजे

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

आम तौर पर, नतीजे में ये फ़ील्ड शामिल होते हैं:

  • types[] कलेक्शन से, दिखाए गए नतीजे के टाइप का पता चलता है. इस कलेक्शन में, शून्य या उससे ज़्यादा टैग का सेट होता है. इससे नतीजे में दिखाई गई सुविधा के टाइप की पहचान की जाती है. उदाहरण के लिए, "शिकागो" का जियोकोड "locality" दिखाता है. इससे पता चलता है कि "शिकागो" एक शहर है. साथ ही, यह "political" दिखाता है, जिससे पता चलता है कि यह एक राजनैतिक इकाई है. ज़्यादा जानकारी के लिए, पते के टाइप और पते के कॉम्पोनेंट के टाइप देखें.
  • formatted_address एक स्ट्रिंग है, जिसमें इस जगह का किसी व्यक्ति के लिए आसानी से पढ़ा जा सकने वाला डेटा पता होता है.

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

    फ़ॉर्मैट किया गया पता, लॉजिकल तौर पर एक या उससे ज़्यादा पते के कॉम्पोनेंट से बना होता है. उदाहरण के लिए, पते "111 8th Avenue, New York, NY" में ये कॉम्पोनेंट शामिल हैं: "111" (सड़क का नंबर), "8th Avenue" (रास्ता), "New York" (शहर), और "NY" (अमेरिका का राज्य).

    फ़ॉर्मैट किए गए पते को प्रोग्राम के हिसाब से पार्स न करें. इसके बजाय, आपको पते के अलग-अलग कॉम्पोनेंट का इस्तेमाल करना चाहिए. एपीआई से मिली जानकारी में, फ़ॉर्मैट किए गए पते के फ़ील्ड के साथ-साथ ये कॉम्पोनेंट भी शामिल होते हैं.

  • address_components[] एक कलेक्शन है, जिसमें इस पते पर लागू होने वाले अलग-अलग कॉम्पोनेंट शामिल होते हैं.

    पते के हर कॉम्पोनेंट में आम तौर पर ये फ़ील्ड होते हैं:

    • types[] एक ऐरे है, जो पते के कॉम्पोनेंट का टाइप दिखाता है. अगर पते के कॉम्पोनेंट के लिए कोई टाइप मौजूद नहीं है, तो हो सकता है कि पते के कॉम्पोनेंट में टाइप का कलेक्शन खाली हो. एपीआई, ज़रूरत के हिसाब से नई टाइप वैल्यू जोड़ सकता है. ज़्यादा जानकारी के लिए, पते के टाइप और पते के कॉम्पोनेंट के टाइप देखें.
    • long_name, पते के कॉम्पोनेंट का पूरा टेक्स्ट ब्यौरा या नाम है, जैसा कि Geocoder ने दिखाया है.
    • short_name, पते के कॉम्पोनेंट का छोटा नाम है. यह नाम तब दिखता है, जब यह उपलब्ध हो. उदाहरण के लिए, अलास्का राज्य के पते के कॉम्पोनेंट में, long_name "अलास्का" और short_name "AK" हो सकता है. इसमें दो अक्षरों वाले डाक पते के संक्षिप्त नाम का इस्तेमाल किया जाता है.

    address_components[] अरे के बारे में यहां दी गई बातों का ध्यान रखें:

    • पते के कॉम्पोनेंट के कलेक्शन में, formatted_address से ज़्यादा कॉम्पोनेंट हो सकते हैं.
    • यह ज़रूरी नहीं है कि कलेक्शन में, पते वाली सभी राजनैतिक इकाइयां शामिल हों. इसमें formatted_address में शामिल इकाइयां शामिल नहीं होती हैं. किसी खास पते वाली सभी राजनैतिक इकाइयों को वापस पाने के लिए, आपको रिवर्स जियोकोडिंग का इस्तेमाल करना चाहिए. इसके लिए, अनुरोध में पैरामीटर के तौर पर पते का अक्षांश/देशांतर पास करें.
    • इस बात की कोई गारंटी नहीं है कि अनुरोधों के बीच, जवाब का फ़ॉर्मैट एक जैसा रहेगा. खास तौर पर, address_components की संख्या, अनुरोध किए गए पते के हिसाब से अलग-अलग होती है. साथ ही, एक ही पते के लिए समय के साथ बदल सकती है. अरे में किसी कॉम्पोनेंट की पोज़िशन बदली जा सकती है. कॉम्पोनेंट का टाइप बदल सकता है. ऐसा हो सकता है कि बाद में मिलने वाले जवाब में कोई कॉम्पोनेंट मौजूद न हो.

    कॉम्पोनेंट के कलेक्शन को मैनेज करने के लिए, आपको रिस्पॉन्स को पार्स करना चाहिए. साथ ही, एक्सप्रेशन के ज़रिए सही वैल्यू चुननी चाहिए. रिस्पॉन्स को पार्स करने की गाइड देखें.

  • postcode_localities[] एक कलेक्शन है, जिसमें किसी पिन कोड में मौजूद 100 मोहल्लों की जानकारी होती है. यह सिर्फ़ तब मौजूद होता है, जब नतीजे में ऐसा पिन कोड हो जिसमें कई इलाके शामिल हों.
  • geometry में यह जानकारी शामिल है:
    • location में जियोकोड किए गए अक्षांश और देशांतर की वैल्यू शामिल होती है. सामान्य पते खोजने के लिए, आम तौर पर यह फ़ील्ड सबसे अहम होता है.
    • location_type, चुनी गई जगह के बारे में अतिरिक्त डेटा सेव करता है. फ़िलहाल, ये वैल्यू इस्तेमाल की जा सकती हैं:

      • "ROOFTOP" से पता चलता है कि दिखाया गया नतीजा एक सटीक जियोकोड है. इसके लिए, हमारे पास जगह की जानकारी है जो मोहल्ले के पते तक सटीक है.
      • "RANGE_INTERPOLATED" से पता चलता है कि जवाब में मिला नतीजा, दो सटीक पॉइंट (जैसे, चौराहे) के बीच इंटरपोलेट किए गए अनुमान (आम तौर पर, सड़क पर) को दिखाता है. इंटरपोलेट किए गए नतीजे आम तौर पर तब दिखाए जाते हैं, जब किसी मोहल्ले के पते के लिए रूफ़टॉप जियोकोड उपलब्ध नहीं होते.
      • "GEOMETRIC_CENTER" से पता चलता है कि नतीजे में मिली जगह, किसी पॉलीलाइन (उदाहरण के लिए, सड़क) या पॉलीगॉन (इलाका) जैसे नतीजे का ज्यामितीय केंद्र है.
      • "APPROXIMATE" से पता चलता है कि दिखाया गया नतीजा अनुमानित है.
    • viewport में, दिखाए गए नतीजे को दिखाने के लिए सुझाया गया व्यूपोर्ट शामिल होता है. इसे दो अक्षांश, देशांतर वैल्यू के तौर पर दिखाया जाता है. ये वैल्यू, व्यूपोर्ट के बाउंडिंग बॉक्स के southwest और northeast कोने को तय करती हैं. आम तौर पर, व्यूपोर्ट का इस्तेमाल किसी नतीजे को उपयोगकर्ता को दिखाते समय, उसे फ़्रेम करने के लिए किया जाता है.
    • bounds (ज़रूरी नहीं है) बाउंडिंग बॉक्स को सेव करता है. इसमें, दिखाए गए नतीजे को पूरी तरह से शामिल किया जा सकता है. ध्यान दें कि हो सकता है कि ये सीमाएं, सुझाए गए व्यूपोर्ट से मेल न खाएं. (उदाहरण के लिए, सैन फ़्रांसिस्को में फ़ैरालोन द्वीप शामिल हैं. ये तकनीकी तौर पर शहर का हिस्सा हैं, लेकिन शायद इन्हें व्यूपोर्ट में नहीं दिखाया जाना चाहिए.)
  • plus_code (ओपन लोकेशन कोड और प्लस कोड देखें) एक एन्कोड किया गया लोकेशन रेफ़रंस है. इसे अक्षांश और देशांतर निर्देशांक से लिया जाता है. यह किसी इलाके को दिखाता है: डिग्री के 1/8000वें हिस्से से लेकर डिग्री के 1/8000वें हिस्से तक (भूमध्य रेखा पर करीब 14 मीटर x 14 मीटर) या इससे छोटा. Plus Codes का इस्तेमाल, उन जगहों पर मोहल्ले के पते के तौर पर किया जा सकता है जहां पते मौजूद नहीं हैं. जैसे, जहां इमारतों को नंबर नहीं दिए गए हैं या सड़कों के नाम नहीं हैं. एपीआई हमेशा Plus Code नहीं दिखाता.

    जब सेवा कोई Plus Code दिखाती है, तो उसे ग्लोबल कोड और कंपाउंड कोड के तौर पर फ़ॉर्मैट किया जाता है:

    • global_code चार वर्णों का एरिया कोड और छह या उससे ज़्यादा वर्णों का लोकल कोड होता है (849VCWC8+R9).
    • compound_code छह या उससे ज़्यादा वर्णों का स्थानीय कोड होता है. इसमें जगह की सटीक जानकारी होती है (CWC8+R9, Mountain View, CA, USA). इस कॉन्टेंट को प्रोग्राम के हिसाब से पार्स न करें.
    जहां उपलब्ध हो वहां एपीआई, ग्लोबल कोड और कंपाउंड कोड, दोनों दिखाता है. हालांकि, अगर नतीजा किसी दूर की जगह (उदाहरण के लिए, कोई महासागर या रेगिस्तान) का है, तो सिर्फ़ ग्लोबल कोड दिखाया जा सकता है.
  • partial_match से पता चलता है कि जियोकोडर ने मूल अनुरोध के लिए एग्ज़ैक्ट मैच नहीं दिखाया. हालांकि, वह अनुरोध किए गए पते के कुछ हिस्से से मैच कर पाया. आपको मूल अनुरोध की जांच करनी चाहिए, ताकि यह पता चल सके कि उसमें गलत वर्तनी और/या अधूरा पता तो नहीं है.

    अधूरे मैच अक्सर उन मोहल्लों के पतों के लिए होते हैं जो अनुरोध में पास किए गए इलाके में मौजूद नहीं होते. जब कोई अनुरोध एक ही इलाके में मौजूद दो या उससे ज़्यादा जगहों से मैच करता है, तब भी कुछ हद तक मैच होने वाले नतीजे दिखाए जा सकते हैं. उदाहरण के लिए, "Hillpar St, Bristol, UK" के लिए, हेनरी स्ट्रीट और हेनरिएटा स्ट्रीट, दोनों के लिए आंशिक तौर पर मैच होने वाला नतीजा दिखेगा. ध्यान दें कि अगर किसी अनुरोध में पते के कॉम्पोनेंट की स्पेलिंग गलत है, तो जियोकोडिंग सेवा कोई दूसरा पता सुझा सकती है. इस तरह से ट्रिगर किए गए सुझावों को भी कुछ हद तक मैच होने वाले सुझाव के तौर पर मार्क किया जाएगा.

  • place_id एक यूनीक आइडेंटिफ़ायर है. इसका इस्तेमाल, Google के अन्य एपीआई के साथ किया जा सकता है. उदाहरण के लिए, किसी स्थानीय कारोबार की जानकारी पाने के लिए, Places API अनुरोध में place_id का इस्तेमाल किया जा सकता है. जैसे, फ़ोन नंबर, कारोबार के खुले होने का समय, उपयोगकर्ताओं की समीक्षाएं वगैरह. जगह के आईडी के बारे में खास जानकारी देखें.

पते के टाइप और पते के कॉम्पोनेंट के टाइप

जवाब में मौजूद types कलेक्शन, पते के टाइप के बारे में बताता है. पते के टाइप के उदाहरणों में, मोहल्ले का पता, देश या राजनैतिक इकाई शामिल है. address_component फ़ील्ड में मौजूद 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.

ऊपर दिए गए कॉम्पोनेंट के अलावा, पते के कॉम्पोनेंट में यहां दिए गए टाइप भी शामिल हो सकते हैं.

पते के कॉम्पोनेंट का टाइप ब्यौरा
floor किसी इमारत के पते का फ़्लोर.
establishment आम तौर पर, ऐसी जगह जिसे अब तक किसी कैटगरी में नहीं रखा गया है.
landmark आस-पास की कोई ऐसी जगह जिसका इस्तेमाल रेफ़रंस के तौर पर किया जाता है, ताकि नेविगेशन में मदद मिल सके.
point_of_interest किसी लोकप्रिय जगह का नाम.
parking पार्किंग लॉट या पार्किंग स्ट्रक्चर.
post_box कोई खास पोस्टल बॉक्स.
postal_town भौगोलिक इलाकों का ग्रुप, जैसे कि locality और sublocality. कुछ देशों में, डाक पते के लिए इनका इस्तेमाल किया जाता है.
room इमारत के पते में मौजूद कमरा.
street_number सड़क का सटीक नंबर.
bus_station, train_station, और transit_station बस, ट्रेन या सार्वजनिक परिवहन के स्टॉप की जगह.

व्यूपोर्ट बायसिंग

जियोकोडिंग के अनुरोध में, जियोकोडिंग सेवा को निर्देश दिया जा सकता है कि वह दिए गए व्यूपोर्ट (बाउंडिंग बॉक्स के तौर पर दिखाया गया) के अंदर के नतीजों को प्राथमिकता दे. इसके लिए, अनुरोध के यूआरएल में bounds पैरामीटर सेट करें.

bounds पैरामीटर, इस बाउंडिंग बॉक्स के दक्षिण-पश्चिम और उत्तर-पूर्व कोनों के अक्षांश/देशांतर निर्देशांकों को तय करता है. इसके लिए, निर्देशांकों को अलग करने के लिए पाइप (|) वर्ण का इस्तेमाल किया जाता है.

उदाहरण के लिए, "Washington" के लिए जियोकोड, आम तौर पर अमेरिका के वॉशिंगटन राज्य की जानकारी दिखाता है:

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "WA",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            },
            "location" : {
               "lat" : 47.7510741,
               "lng" : -120.7401385
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 49.0024442,
                  "lng" : -116.91558
               },
               "southwest" : {
                  "lat" : 45.543541,
                  "lng" : -124.8489739
               }
            }
         },
         "place_id" : "ChIJ-bDD5__lhVQRuvNfbGh4QpQ",
         "types" : [ "administrative_area_level_1", "political" ]
      }
   ],
   "status" : "OK"
}

हालांकि, अमेरिका के उत्तर-पूर्वी हिस्से के आस-पास बाउंडिंग बॉक्स तय करने वाला bounds आर्ग्युमेंट जोड़ने पर, यह जियोकोड वॉशिंगटन, डी॰सी॰ शहर दिखाता है:

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?address=Washington&bounds=36.47,-84.72%7C43.39,-65.90&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washington",
               "short_name" : "Washington",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "District of Columbia",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "District of Columbia",
               "short_name" : "DC",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Washington, DC, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            },
            "location" : {
               "lat" : 38.9071923,
               "lng" : -77.03687069999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 38.9958641,
                  "lng" : -76.90939299999999
               },
               "southwest" : {
                  "lat" : 38.7916449,
                  "lng" : -77.119759
               }
            }
         },
         "place_id" : "ChIJW-T2Wt7Gt4kRKl2I1CJFUsI",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

इलाके के हिसाब से नतीजे दिखाना

जियोकोडिंग के अनुरोध में, जियोकोडिंग सेवा को region पैरामीटर का इस्तेमाल करके, किसी खास इलाके के हिसाब से नतीजे दिखाने का निर्देश दिया जा सकता है. यह पैरामीटर, ccTLD (देश के कोड के हिसाब से टॉप लेवल डोमेन) आर्ग्युमेंट लेता है. इससे, इलाके के हिसाब से नतीजे दिखाने की सुविधा चालू होती है. ज़्यादातर ccTLD कोड, ISO 3166-1 कोड से मिलते-जुलते होते हैं. हालांकि, कुछ अपवाद भी होते हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका आईएसओ 3166-1 कोड "gb" है. तकनीकी तौर पर, यह कोड "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन और नॉर्दर्न आयरलैंड" के लिए है.

जियोकोडिंग के नतीजे, हर उस डोमेन के लिए पक्षपातपूर्ण हो सकते हैं जिसमें मुख्य Google Maps ऐप्लिकेशन को आधिकारिक तौर पर लॉन्च किया गया है. ध्यान दें कि बायस करने से, सिर्फ़ किसी खास डोमेन के नतीजों को प्राथमिकता दी जाती है. अगर इस डोमेन के बाहर ज़्यादा काम के नतीजे मौजूद हैं, तो उन्हें शामिल किया जा सकता है.

उदाहरण के लिए, "Toledo" के लिए जियोकोड यह नतीजा दिखाता है, क्योंकि Geocoding API के लिए डिफ़ॉल्ट डोमेन, अमेरिका पर सेट है. अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Lucas County",
               "short_name" : "Lucas County",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Ohio",
               "short_name" : "OH",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United States",
               "short_name" : "US",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, OH, USA",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            },
            "location" : {
               "lat" : 41.6639383,
               "lng" : -83.55521200000001
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 41.732844,
                  "lng" : -83.454229
               },
               "southwest" : {
                  "lat" : 41.580266,
                  "lng" : -83.69423700000002
               }
            }
         },
         "place_id" : "ChIJeU4e_C2HO4gRRcM6RZ_IPHw",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

region=es (स्पेन) के साथ "टोलेडो" के लिए जियोकोडिंग अनुरोध करने पर, स्पेन का शहर दिखेगा.

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?address=Toledo&region=es&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Toledo",
               "short_name" : "Toledo",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Toledo",
               "short_name" : "TO",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Castile-La Mancha",
               "short_name" : "CM",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Toledo, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            },
            "location" : {
               "lat" : 39.8628316,
               "lng" : -4.027323099999999
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 39.88605099999999,
                  "lng" : -3.9192423
               },
               "southwest" : {
                  "lat" : 39.8383676,
                  "lng" : -4.0796176
               }
            }
         },
         "place_id" : "ChIJ8f21C60Lag0R_q11auhbf8Y",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

कॉम्पोनेंट फ़िल्टर करना

Geocoding API, Geocoding के जवाब में किसी खास इलाके तक सीमित पते के नतीजे दिखा सकता है. components फ़िल्टर का इस्तेमाल करके, पाबंदी तय की जा सकती है. फ़िल्टर में, पाइप (|) से अलग किए गए component:value पेयर की सूची होती है. फ़िल्टर वैल्यू, स्पेलिंग में सुधार और कुछ हद तक मैच करने के लिए, अन्य जियोकोडिंग अनुरोधों की तरह ही काम करती हैं. अगर जियोकोडर को किसी कॉम्पोनेंट फ़िल्टर के लिए कुछ हद तक मैच मिलता है, तो जवाब में partial_match फ़ील्ड शामिल होगा.

इन components को फ़िल्टर किया जा सकता है:

  • postal_code, postal_code और postal_code_prefix से मेल खाता है.
  • country, देश के नाम या दो अक्षर वाले ISO 3166-1 देश के कोड से मेल खाता है. एपीआई, देशों को तय करने के लिए आईएसओ स्टैंडर्ड का पालन करता है. साथ ही, देश के आईएसओ कोड का इस्तेमाल करने पर, फ़िल्टर करने की सुविधा सबसे बेहतर तरीके से काम करती है.

नतीजों पर असर डालने के लिए, इन components का इस्तेमाल किया जा सकता है. हालांकि, इन्हें लागू नहीं किया जाएगा:

  • route, किसी रूट के लंबे या छोटे नाम से मैच करता है.
  • locality, locality और sublocality टाइप से मैच करता है.
  • administrative_area, administrative_area के सभी लेवल से मेल खाता है.

कॉम्पोनेंट फ़िल्टर करने के बारे में अहम जानकारी:

  • अनुरोधों में इन कॉम्पोनेंट फ़िल्टर को न दोहराएं. ऐसा करने पर, एपीआई Invalid_request: country, postal_code, route दिखाएगा
  • अगर अनुरोध में बार-बार इस्तेमाल होने वाले कॉम्पोनेंट फ़िल्टर शामिल हैं, तो एपीआई उन फ़िल्टर का आकलन AND के तौर पर करता है, न कि OR के तौर पर.
  • नतीजे, Google Maps के मुताबिक होते हैं. हालांकि, कभी-कभी ZERO_RESULTS से अनचाहे जवाब मिल सकते हैं. किसी जगह के शुरुआती अक्षर लिखने पर पूरा नाम सुझाने की सुविधा का इस्तेमाल करने से, कुछ मामलों में बेहतर नतीजे मिल सकते हैं. ज़्यादा जानने के लिए, अक्सर पूछे जाने वाले सवाल देखें.
  • पते के हर कॉम्पोनेंट के लिए, उसे address पैरामीटर या components फ़िल्टर में से किसी एक में ही डालें, दोनों में नहीं. दोनों में एक जैसी वैल्यू डालने पर, ZERO_RESULTS हो सकता है.

components=country:GB के साथ "High St, Hastings" के लिए जियोकोड, अमेरिका के हेस्टिंग्स-ऑन-हडसन के बजाय, इंग्लैंड के हेस्टिंग्स का नतीजा दिखाता है.

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?address=high+st+hasting&components=country:GB&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "High Street",
               "short_name" : "High St",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Hastings",
               "short_name" : "Hastings",
               "types" : [ "postal_town" ]
            },
            {
               "long_name" : "East Sussex",
               "short_name" : "East Sussex",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "England",
               "short_name" : "England",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "United Kingdom",
               "short_name" : "GB",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "TN34 3EY",
               "short_name" : "TN34 3EY",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "High St, Hastings TN34 3EY, UK",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            },
            "location" : {
               "lat" : 50.85830319999999,
               "lng" : 0.5924594
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 50.8601041,
                  "lng" : 0.5957329
               },
               "southwest" : {
                  "lat" : 50.8559061,
                  "lng" : 0.5906163
               }
            }
         },
         "partial_match" : true,
         "place_id" : "ChIJ-Ws929sa30cRKgsMNVkPyws",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}

components=country:ES के साथ "सांता क्रूज़" इलाके के लिए जियोकोड का अनुरोध करने पर, स्पेन के कनेरी द्वीप समूह में सांता क्रूज़ डे टेनरीफ़ का पता मिलता है.

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?components=locality:santa+cruz|country:ES&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "Santa Cruz de Tenerife",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Santa Cruz de Tenerife",
               "short_name" : "TF",
               "types" : [ "administrative_area_level_2", "political" ]
            },
            {
               "long_name" : "Canary Islands",
               "short_name" : "CN",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Spain",
               "short_name" : "ES",
               "types" : [ "country", "political" ]
            }
         ],
         "formatted_address" : "Santa Cruz de Tenerife, Spain",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            },
            "location" : {
               "lat" : 28.4636296,
               "lng" : -16.2518467
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 28.487616,
                  "lng" : -16.2356646
               },
               "southwest" : {
                  "lat" : 28.4280248,
                  "lng" : -16.3370045
               }
            }
         },
         "place_id" : "ChIJcUElzOzMQQwRLuV30nMUEUM",
         "types" : [ "locality", "political" ]
      }
   ],
   "status" : "OK"
}

कॉम्पोनेंट फ़िल्टर करने पर, ZERO_RESULTS रिस्पॉन्स सिर्फ़ तब मिलता है, जब ऐसे फ़िल्टर दिए जाएं जो एक-दूसरे को बाहर रखते हों.

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?components=administrative_area:TX|country:FR&key=YOUR_API_KEY

जवाब:

{
   "results" : [],
   "status" : "ZERO_RESULTS"
}

components फ़िल्टर का इस्तेमाल करके, पते के पैरामीटर के बिना भी मान्य क्वेरी की जा सकती हैं. (पूरे पते को जियोकोड करते समय, address पैरामीटर की ज़रूरत तब होती है, जब अनुरोध में इमारतों के नाम और नंबर शामिल हों.)

अनुरोध:

https://maps.googleapis.com/maps/api/geocode/json?components=route:Annankatu|administrative_area:Helsinki|country:Finland&key=YOUR_API_KEY

जवाब:

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Annankatu",
               "short_name" : "Annankatu",
               "types" : [ "route" ]
            },
            {
               "long_name" : "Helsinki",
               "short_name" : "HKI",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Finland",
               "short_name" : "FI",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "00101",
               "short_name" : "00101",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Annankatu, 00101 Helsinki, Finland",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            },
            "location" : {
               "lat" : 60.1657808,
               "lng" : 24.938451
            },
            "location_type" : "GEOMETRIC_CENTER",
            "viewport" : {
               "northeast" : {
                  "lat" : 60.168997,
                  "lng" : 24.9433353
               },
               "southwest" : {
                  "lat" : 60.16226160000001,
                  "lng" : 24.9332897
               }
            }
         },
         "place_id" : "ChIJARW7C8sLkkYRgl4je4-RPUM",
         "types" : [ "route" ]
      }
   ],
   "status" : "OK"
}