जियोकोडिंग सेवा

खास जानकारी

जियोकोडिंग, पतों को बदलने की प्रक्रिया है (जैसे "1600 Amphitheatre Parkway, Mountain View, CA") भौगोलिक निर्देशांक में (जैसे अक्षांश 37.423021 और देशांतर -122.083739), जिसका इस्तेमाल करके आप मार्कर लगाने या मैप को सही जगह पर सेट करने का विकल्प होता है.

रिवर्स जियोकोडिंग भौगोलिक स्थिति को बदलने की प्रोसेस है किसी ऐसे पते के निर्देशांक में कोऑर्डिनेट करता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है (रिवर्स जियोकोडिंग (पता लुकअप) देखें).

आप जियोकोडर का उपयोग करके जगह का आईडी दिया गया हो.

Maps JavaScript API, इसके लिए जियोकोडर क्लास उपयोगकर्ता के इनपुट से डाइनैमिक तौर पर जियोकोडिंग और रिवर्स जियोकोडिंग. अगर इसके बजाय अगर आपको स्टैटिक, जाने-पहचाने पतों को जियोकोड करना है, तो जियोकोडिंग वेब सेवा.

शुरू करना

Maps JavaScript API में जियोकोडिंग सेवा का इस्तेमाल करने से पहले, पक्का कर लें कि कि Geocoding API को Google Cloud Console में चालू किया गया है. का सेट अप किया जाता है.

अपने चालू एपीआई की सूची देखने के लिए:

  1. YouTube Studio के Google Cloud Console.
  2. प्रोजेक्ट चुनें बटन पर क्लिक करें. इसके बाद, वही प्रोजेक्ट चुनें जिसे आपने सेट अप किया है Maps JavaScript API के लिए, खोलें पर क्लिक करें.
  3. डैशबोर्ड पर एपीआई की सूची से, जियोकोडिंग एपीआई.
  4. अगर आपको सूची में एपीआई दिखता है, तो इसका मतलब है कि आपका काम हो गया है. अगर एपीआई सूची में नहीं है, इसे चालू करें:
    1. पेज के सबसे ऊपर, एपीआई चालू करें चुनें, ताकि लाइब्रेरी टैब. इसके अलावा, बाईं ओर दिए गए मेन्यू से, लाइब्रेरी चुनें.
    2. जियोकोडिंग एपीआई खोजें, फिर इसे नतीजों की सूची.
    3. चालू करें को चुनें. प्रोसेस पूरी होने के बाद, जियोकोडिंग एपीआई, डैशबोर्ड.

कीमत और नीतियां

कीमत

16 जुलाई, 2018 से, इस्तेमाल के हिसाब से पैसे चुकाने का नया प्राइसिंग प्लान लागू किया गया था मैप, रास्तों, और जगहों के लिए उपलब्ध है. नई कीमतों और इस्तेमाल के बारे में ज़्यादा जानने के लिए JavaScript जियोकोडिंग सेवा के आपके उपयोग की सीमाएं देखें. इस्तेमाल और बिलिंग के लिए इस्तेमाल किया जा सकता है.

नीतियां

जियोकोडिंग सेवा का इस्तेमाल बताई गई नीतियों के बारे में जानकारी भौगोलिक कोडिंग API के लिए भी उपलब्ध है.

जियोकोडिंग अनुरोध

जियोकोडिंग सेवा को ऐक्सेस करना एसिंक्रोनस होता है, क्योंकि Google Maps API किसी बाहरी सर्वर को कॉल करने की आवश्यकता है. इस वजह से, आपको ज़रूरी शर्तें पूरी करनी होंगी कॉलबैक तरीका, जिसे अनुरोध पूरा होने पर एक्ज़ीक्यूट किया जा सके. यह कॉलबैक का तरीका नतीजे को प्रोसेस करता है. ध्यान दें कि जियोकोडर वापस आ सकता है एक से ज़्यादा परिणाम हैं.

आप अपने कोड में Google Maps API की जियोकोडिंग सेवा को ऐक्सेस करते हैं: google.maps.Geocoder कंस्ट्रक्टर ऑब्जेक्ट. कॉन्टेंट बनाने Geocoder.geocode() तरीका, जियोकोडिंग के लिए अनुरोध शुरू करता है सेवा की मदद से, इसे GeocoderRequest ऑब्जेक्ट लिटरल वैल्यू के साथ पास किया जाता है इनपुट शर्तों और कॉलबैक मेथड का इस्तेमाल, रिस्पॉन्स मिलने के बाद किया जा सकता है.

GeocoderRequest ऑब्जेक्ट लिटरल में ये फ़ील्ड शामिल हैं:

{
 address: string,
 location: LatLng,
 placeId: string,
 bounds: LatLngBounds,
 componentRestrictions: GeocoderComponentRestrictions,
 region: string
}

ज़रूरी पैरामीटर: आपको इनमें से सिर्फ़ एक के बारे में बताना होगा ये फ़ील्ड शामिल होंगे:

  • address — वह पता जिसे आपको जियोकोड करना है.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है या
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है location — द LatLng (या LatLngLiteral) जिसके लिए सबसे नज़दीकी, ऐसा ईमेल पता जिसे कोई भी व्यक्ति आसानी से पढ़ सके. जियोकोडर रिवर्स जियोकोड करता है. यहां जाएं: ज़्यादा जानकारी के लिए जियोकोडिंग को रिवर्स करें.
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है या
    अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है placeId — किसी जगह के लिए उस जगह का आईडी जिसके लिए आपको जानकारी चाहिए सबसे नज़दीकी और पढ़ने में आसान पता पाने के लिए. इसके बारे में ज़्यादा देखें किसी जगह के आईडी के लिए पता वापस पाना.

वैकल्पिक पैरामीटर:

  • bounds — यह LatLngBounds जिसमें जियोकोड के नतीजों को ज़्यादा प्रमुखता से शामिल किया जाए. bounds पैरामीटर जियोकोडर से मिलने वाले नतीजों पर सिर्फ़ असर होगा, उन पर पूरी तरह से पाबंदी नहीं होगी. यहां जाएं: इसके बारे में ज़्यादा जानकारी व्यूपोर्ट बायटिंग नीचे दी गई है.
  • componentRestrictions — इसका इस्तेमाल नतीजों को के हिसाब से फ़िल्टर करें. इसके बारे में ज़्यादा जानकारी देखें कॉम्पोनेंट को फ़िल्टर करने की सुविधा नीचे दी गई है.
  • region — क्षेत्र का कोड, जिसे जिसे दो-वर्ण (गैर-संख्यात्मक) यूनिकोड क्षेत्र सब-टैग के रूप में बताया गया है. ज़्यादातर मामलों में, ये टैग सीधे तौर पर जाने-पहचाने ccTLD ("टॉप लेवल डोमेन") से मैप करते हैं दो वर्ण वाले मान. region पैरामीटर से सिर्फ़ इन सुझावों पर असर पड़ेगा, पूरी तरह से प्रतिबंधित नहीं करते हैं, जियोकोडर से परिणाम मिलते हैं. इसके बारे में ज़्यादा जानकारी देखें क्षेत्र के कोड के हिसाब से तय करना नीचे दिया गया है.
  • extraComputations — इसके लिए, सिर्फ़ स्वीकार की गई वैल्यू पैरामीटर ADDRESS_DESCRIPTORS है. देखें पता डिस्क्रिप्टर का इस्तेमाल करें.
  • fulfillOnZeroResults — इस जवाब. यह ज़रूरी है, क्योंकि जियोकोडिंग के शून्य नतीजे होने पर भी ऐसा हो सकता है रिस्पॉन्स लेवल के अतिरिक्त फ़ील्ड दिखाए गए. देखें ज़्यादा जानकारी के लिए, कोई नतीजा नहीं मिलने पर ऑर्डर पूरा करें.

जियोकोडिंग जवाब

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

जियोकोडिंग के नतीजे

GeocoderResult ऑब्जेक्ट, सिंगल जियोकोडिंग परिणाम. जियोकोड के अनुरोध पर नतीजे के कई ऑब्जेक्ट दिख सकते हैं:

results[]: {
 types[]: string,
 formatted_address: string,
 address_components[]: {
   short_name: string,
   long_name: string,
   postcode_localities[]: string,
   types[]: string
 },
 partial_match: boolean,
 place_id: string,
 postcode_localities[]: string,
 geometry: {
   location: LatLng,
   location_type: GeocoderLocationType
   viewport: LatLngBounds,
   bounds: LatLngBounds
 }
}

इन फ़ील्ड को नीचे समझाया गया है:

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

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

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

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

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

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

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

    address_components[] के बारे में इन बातों का ध्यान रखें कलेक्शन:

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

    इसके बारे में ज़्यादा जानकारी देखें पते के टाइप और पते के कॉम्पोनेंट प्रकार नीचे दिए गए हैं.

  • partial_match बताता है कि जियोकोडर वापस नहीं आया मूल अनुरोध के लिए एग्ज़ैक्ट मैच है. हालांकि, यह किया गया है. हो सकता है कि आप गलत स्पेलिंग के लिए मूल अनुरोध और/या अधूरा पता.

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

  • place_idकिसी जगह का यूनीक आइडेंटिफ़ायर होता है. इसका इस्तेमाल किया जा सकता है के साथ काम करता है. उदाहरण के लिए, place_id का इस्तेमाल किया जा सकता है Google स्थल के साथ एपीआई लाइब्रेरी का इस्तेमाल करके स्थानीय कारोबार के बारे में जानकारी मिलती है, जैसे कि फ़ोन नंबर, कारोबार के खुले होने का समय, उपयोगकर्ताओं की समीक्षाएं वगैरह. ज़्यादा जानकारी के लिए, जगह के आईडी की खास जानकारी.
  • postcode_localities[] एक कलेक्शन है, जो सभी इलाकों को दिखाता है पिन कोड में शामिल होता है और सिर्फ़ तब मौजूद होता है, जब नतीजा कोई पिन हो जिसमें कई स्थान शामिल हों.
  • geometry में यह जानकारी शामिल है:

    • location में जियोकोड किए गए अक्षांश,देशांतर की वैल्यू शामिल होती है. ध्यान दें कि हम इस जगह को LatLng ऑब्जेक्ट के तौर पर दिखाते हैं, न कि .
    • location_type में दी गई जानकारी के बारे में अतिरिक्त डेटा सेव होता है स्थान. फ़िलहाल, ये वैल्यू इस्तेमाल की जा सकती हैं:
      • ROOFTOP संकेत देता है कि लौटाए गए नतीजे में सटीक जियोकोड दिखता है.
      • RANGE_INTERPOLATED अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह बताता है कि रिटर्न किया गया नतीजा, अनुमान को दिखाता है (आमतौर पर सड़क पर) दो सटीक बिंदुओं (जैसे चौराहों के रूप में). इंटरपोलेट किए गए नतीजे आम तौर पर तब दिखाए जाते हैं, जब मोहल्ले के पते के लिए, छत पर जियोकोड उपलब्ध नहीं है.
      • GEOMETRIC_CENTER अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है बताता है कि दिया गया परिणाम नतीजा, जैसे कि पॉलीगॉन (उदाहरण के लिए, सड़क) या पॉलीगॉन (क्षेत्र).
      • APPROXIMATE अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है बताता है कि लौटाया गया परिणाम अनुमानित है.

    • viewport इसके लिए सुझाया गया व्यूपोर्ट संग्रहित करता है परिणाम मिला.
    • bounds (वैकल्पिक रूप से लौटाया गया) यह स्टोर करता है LatLngBounds, जिसमें दिखाया गया नतीजा पूरी तरह शामिल हो सकता है. ध्यान दें कि हो सकता है कि ये सीमाएं सुझाए गए व्यूपोर्ट से मेल न खाएं. (इसके लिए उदाहरण के लिए, सैन फ़्रांसिस्को में Farallon द्वीप समूह, जो तकनीकी रूप से शहर का हिस्सा हैं, लेकिन इन्हें को व्यूपोर्ट में दिखाया जाएगा.)

जियोकोडर, ब्राउज़र की पसंदीदा सेटिंग का इस्तेमाल करके पते दिखाएगा भाषा की सेटिंग या एपीआई JavaScript लोड करते समय तय की गई भाषा language पैरामीटर का इस्तेमाल करके. (ज़्यादा जानकारी के लिए, स्थानीय भाषा के अनुसार.)

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

types[] कलेक्शन में GeocoderResult यह बताता है कि पते का टाइप. types[] कलेक्शन भी दिखाया जा सकता है के अंदर GeocoderAddressComponent डालें. पते वापस किए गए जियोकोडर के पास कई तरह के विकल्प हो सकते हैं; इस टाइप को टैग माना जा सकता है. उदाहरण के लिए, कई शहर political और locality टाइप.

नीचे दिए गए टाइप, जियोकोडर के ज़रिए दोनों भाषाओं में काम करते हैं पता टाइप और पते के कॉम्पोनेंट:

  • street_address सटीक मोहल्ले का पता दिखाता है.
  • route नाम वाले रास्ते के बारे में बताता है (जैसे कि "US 101").
  • intersection एक मुख्य चौराहे को दिखाता है, जिसमें आम तौर पर दो शामिल हैं मुख्य सड़कें.
  • political किसी राजनैतिक इकाई के बारे में बताता है. आम तौर पर, इस तरह के कुछ सिविल एडमिनिस्ट्रेशन के पॉलीगॉन को दिखाता है.
  • country किसी राष्ट्रीय राजनैतिक इकाई का मतलब है और आम तौर पर, जियोकोडर के लौटाए गए ऑर्डर का सबसे ज़्यादा टाइप.
  • administrative_area_level_1 का मतलब है, पहले ऑर्डर की सिविल इकाई देश के स्तर से कम है. अमेरिका के अंदर, राज्य स्तर का मतलब राज्य है. सभी देशों में यह जानकारी नहीं दिखती एडमिन वाले लेवल की शर्तें पूरी करता है. ज़्यादातर मामलों में, admin_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_5 के लिए sublocality_level_1. हर मोहल्ले का स्तर एक नागरिक इकाई होता है. बड़ी संख्या का मतलब है कि छोटी संख्या भौगोलिक क्षेत्र.
  • neighborhood, आस-पड़ोस का नाम दिखाता है
  • premise नाम वाली जगह के बारे में बताता है. आम तौर पर, यह एक इमारत होती है या एक ही नाम वाली इमारतों का संग्रह
  • subpremise किसी नाम के नीचे, पहले ऑर्डर की गई इकाई के बारे में बताता है स्थान, आमतौर पर इमारतों के समूह के अंदर एक अकेला इमारत होता है. कोई सामान्य नाम
  • plus_code, कोड में बदले गए जगह के रेफ़रंस को दिखाता है, जो कि अक्षांश और देशांतर से. प्लस कोड का इस्तेमाल इनकी जगह पर किया जा सकता है उन स्थानों के पते जहां वे मौजूद नहीं हैं (जहां इमारतों को क्रमांकित न किया गया हो या सड़कों के नाम नहीं दिए गए हैं). https://plus.codes पर जाएं देखें.
  • postal_code, डाक पते के तौर पर इस्तेमाल किए जाने वाले पिन कोड के बारे में बताता है मेल भेजे जाते हैं.
  • natural_feature एक प्रमुख प्राकृतिक सुविधा दिखाता है.
  • airport, हवाई अड्डे का मतलब है.
  • park, नाम वाले पार्क के बारे में बताता है.
  • point_of_interest, नाम वाले पसंदीदा विषय को दिखाता है. आम तौर पर, ये "लोकप्रिय जगह" ऐसी प्रमुख स्थानीय इकाइयां होती हैं जो किसी भी जगह पर आसानी से फ़िट नहीं होती हैं किसी अन्य कैटगरी में डालें, जैसे कि "एंपायर स्टेट बिल्डिंग" या "कुतुब मीनार" के रूप में जाना जाता है.

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

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

ध्यान दें: इस सूची में पूरी जानकारी नहीं है और इनमें बदलाव हो सकता है.

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

स्थिति कोड

status कोड इनमें से कोई एक वैल्यू दिखा सकता है:

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

इस उदाहरण में, हम एक पते को जियोकोड करते हैं और लौटाए गए स्थान पर एक मार्कर लगाते हैं अक्षांश और देशांतर की वैल्यू. ध्यान दें कि हैंडलर को अनाम फ़ंक्शन लिटरल.

  var geocoder;
  var map;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var mapOptions = {
      zoom: 8,
      center: latlng
    }
    map = new google.maps.Map(document.getElementById('map'), mapOptions);
  }

  function codeAddress() {
    var address = document.getElementById('address').value;
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == 'OK') {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location
        });
      } else {
        alert('Geocode was not successful for the following reason: ' + status);
      }
    });
  }

<body onload="initialize()">
 <div id="map" style="width: 320px; height: 480px;"></div>
  <div>
    <input id="address" type="textbox" value="Sydney, NSW">
    <input type="button" value="Encode" onclick="codeAddress()">
  </div>
</body>

उदाहरण देखें.

व्यूपोर्ट मापदंड तय करना

आप जियोकोडिंग सेवा को दिए गए में से परिणामों को प्राथमिकता देने के लिए निर्देश दे सकते हैं. व्यूपोर्ट (इसे बाउंडिंग बॉक्स के तौर पर दिखाया जाता है). ऐसा करने के लिए आपको GeocoderRequest ऑब्जेक्ट में bounds पैरामीटर इस व्यूपोर्ट की सीमाओं को परिभाषित करने के लिए लिटरल है. ध्यान दें कि केवल पक्षपात करना सीमाओं के अंदर के नतीजों को प्राथमिकता देता हो; अगर ज़्यादा काम के नतीजे मौजूद हैं इन्हें शामिल किया जा सकता है.

उदाहरण के लिए, "Winnetka" के लिए जियोकोड आम तौर पर शिकागो के इस उप-नगरीय इलाके को लौटाता है:

{
  "types":["locality","political"],
  "formatted_address":"Winnetka, IL, USA",
  "address_components":[{
    "long_name":"Winnetka",
    "short_name":"Winnetka",
    "types":["locality","political"]
  },{
    "long_name":"Illinois",
    "short_name":"IL",
    "types":["administrative_area_level_1","political"]
  },{
    "long_name":"United States",
    "short_name":"US",
    "types":["country","political"]
  }],
  "geometry":{
    "location":[ -87.7417070, 42.1083080],
    "location_type":"APPROXIMATE"
  },
  "place_id": "ChIJW8Va5TnED4gRY91Ng47qy3Q"
}

हालांकि, बाउंडिंग बॉक्स की जानकारी देने वाला bounds पैरामीटर तय करना लॉस एंजेलिस की सैन फ़र्नांडो वैली के लिए, यह जियोकोड वापस आ रहा है "विनेटका" नाम के पड़ोस का नाम उस जगह पर:

{
  "types":["sublocality","political"],
  "formatted_address":"Winnetka, California, USA",
  "address_components":[{
    "long_name":"Winnetka",
    "short_name":"Winnetka",
    "types":["sublocality","political"]
  },{
    "long_name":"Los Angeles",
    "short_name":"Los Angeles",
    "types":["administrative_area_level_3","political"]
  },{
    "long_name":"Los Angeles",
    "short_name":"Los Angeles",
    "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"]
  }],
  "geometry":{
    "location": [34.213171,-118.571022],
    "location_type":"APPROXIMATE"
  },
  "place_id": "ChIJ0fd4S_KbwoAR2hRDrsr3HmQ"
}

क्षेत्र कोड मापदंड तय करना

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

region पैरामीटर का इस्तेमाल करते समय:

  • सिर्फ़ एक देश या इलाके के बारे में बताएं. एक से ज़्यादा वैल्यू को अनदेखा किया जाता है और हो सकता है कि अनुरोध पूरा न हो पाए.
  • सिर्फ़ दो वर्ण वाले क्षेत्र सब-टैग (यूनिकोड CLDR फ़ॉर्मैट) का इस्तेमाल करें. अन्य सभी इनपुट के कारण गड़बड़ियां हो सकती हैं.
  • सिर्फ़ उन देशों और इलाकों के नाम जो Google पर उपलब्ध हैं इसमें Maps Platform के कवरेज की जानकारी शामिल की जा सकती है.

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

उदाहरण के लिए, "टोलेडो" के लिए जियोकोड डिफ़ॉल्ट रूप से, इस नतीजे को दिखाता है डोमेन अमेरिका पर सेट है:

{
  "types":["locality","political"],
  "formatted_address":"Toledo, OH, USA",
  "address_components":[{
    "long_name":"Toledo",
    "short_name":"Toledo",
    "types":["locality","political"]
  },{
    "long_name":"Ohio",
    "short_name":"OH",
    "types":["administrative_area_level_1","political"]
  },{
    "long_name":"United States",
    "short_name":"US",
    "types":["country","political"]
  }],
  "place_id": "ChIJeU4e_C2HO4gRRcM6RZ_IPHw"
}

"टोलेडो" के लिए जियोकोड इसमें region फ़ील्ड को इस पर सेट किया गया है 'es' (स्पेन), स्पेन का शहर वापस लौटेगा:

{
  "types":["locality","political"],
  "formatted_address":"Toledo, España",
  "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":"Castilla-La Mancha",
    "short_name":"CM",
    "types":["administrative_area_level_1","political"]
  },{
    "long_name":"España",
    "short_name":"ES",
    "types":["country","political"]
  }],
  "place_id": "ChIJ8f21C60Lag0R_q11auhbf8Y"
}

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

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

जियोकोडर सिर्फ़ ऐसे नतीजे दिखाता है जो सभी कॉम्पोनेंट से मेल खाते हैं फ़िल्टर. इसका मतलब है कि यह फ़िल्टर की खास जानकारी का आकलन एक AND के तौर पर करता है, न कि या.

कॉम्पोनेंट के फ़िल्टर में, इनमें से एक या एक से ज़्यादा आइटम होते हैं:

  • route, रास्ते के बड़े या छोटे नाम से मेल खाता है.
  • मोहल्ला और मोहल्ला किस तरह के हैं, locality से मैच होता है.
  • administrativeArea सभी से मेल खाता है राज्य स्तर की जानकारी दिए जाते हैं.
  • postalCode, पिन कोड और पिन कोड के प्रीफ़िक्स से मेल खाता है.
  • country देश के नाम या दो अक्षर से मेल खाता है आईएसओ 3166-1 देश कोड. ध्यान दें: एपीआई, इन चीज़ों के लिए ISO मानक का पालन करता है और फ़िल्टर का उपयोग करने के बारे में सबसे अच्छा काम करता है देश के आईएसओ कोड का इस्तेमाल करें.

नीचे दिए गए उदाहरण में componentRestrictions पैरामीटर, जिसके हिसाब से फ़िल्टर करना है country और postalCode:

function codeAddress() {
geocoder.geocode({
  componentRestrictions: {
    country: 'AU',
    postalCode: '2000'
  }
}, function(results, status) {
  if (status == 'OK') {
    map.setCenter(results[0].geometry.location);
    var marker = new google.maps.Marker({
      map: map,
      position: results[0].geometry.location
    });
  } else {
    window.alert('Geocode was not successful for the following reason: ' + status);
  }
});
}

कोई नतीजा न मिलने पर भी ऑर्डर पूरा करें

रिवर्स जियोकोडिंग के लिए, डिफ़ॉल्ट रूप से status=ZERO_RESULTS पर प्रॉमिस ब्रीद होता है. हालांकि, plus_code और address_descriptor के जवाब के लेवल वाले अतिरिक्त फ़ील्ड अब भी इस मामले में जानकारी अपने-आप भर जाती है. अगर fulfillOnZeroResults पैरामीटर के लिए सही दिया गया है, प्रॉमिस पूरा नहीं होता है और अगर प्रॉमिस मौजूद है, तो इन अतिरिक्त फ़ील्ड को वहां से ऐक्सेस किया जा सकता है.

अंटार्कटिका में अक्षांश/देशांतर के लिए इस व्यवहार का एक उदाहरण नीचे दिया गया है. रिवर्स जियोकोडिंग के नतीजे न होने पर भी हम प्लस कोड को प्रिंट कर सकते हैं अगर हम fulfillOnZeroResults=true को सेट करेंगे, तो यह वादा किया जाएगा.

    function addressDescriptorReverseGeocoding() {
      var latlng = new google.maps.LatLng(-75.290330, 38.653861);
      geocoder
        .geocode({
          'location': latlng,
          'fulfillOnZeroResults': true,
        })
        .then((response) => {
          console.log(response.plus_code);
        })
        .catch((error) => {
          window.alert(`Error`);
        });
    }
  

पते की जानकारी

पते के डिस्क्रिप्टर में ऐसी अतिरिक्त जानकारी शामिल होती है जिससे किसी जगह के बारे में जानने में मदद मिलती है लैंडमार्क और एरिया का इस्तेमाल करके. पता डिस्क्रिप्टर का डेमो देखें का इस्तेमाल करें.

extraComputations का इस्तेमाल करके, पते के डिस्क्रिप्टर चालू किए जा सकते हैं पैरामीटर. जियोकोडिंग के अनुरोध में extra_computations=ADDRESS_DESCRIPTORS शामिल करें , रिवर्स जियोकोडिंग अनुरोध , या जगहों के आधार पर जियोकोड करने का अनुरोध ताकि आपको अपने जवाब में पते के डिस्क्रिप्टर मिल सकें.

जगहों के लिए जियोकोडिंग के उदाहरण

नीचे दी गई क्वेरी में दिल्ली के किसी जगह का पता शामिल है.

function addressDescriptorPlaceIdLookup() {
  geocoder.geocode({ 
    'placeId': 'ChIJyxAX8Bj9DDkRgBfAnBYa66Q',
    'extraComputations': ['ADDRESS_DESCRIPTORS']
    }, function(results, status) {
    if (status == 'OK') {
      console.log(results[0].address_descriptor);
    } else {
      window.alert('Geocode was not successful for the following reason: ' + status);
    }
  });
}

रिवर्स जियोकोडिंग में उदाहरण

नीचे दी गई क्वेरी में किसी जगह के अक्षांश/देशांतर की वैल्यू शामिल है दिल्ली.

    function addressDescriptorReverseGeocoding() {
      var latlng = new google.maps.LatLng(28.640964,77.235875);
      geocoder
        .geocode({
          'location': latlng,
          'extraComputations': ["ADDRESS_DESCRIPTORS"],
        })
        .then((response) => {
          console.log(response.address_descriptor);
        })
        .catch((error) => {
          window.alert(`Error`);
        });
    }
  

पते की जानकारी देने वाले का उदाहरण

address_descriptor का एक उदाहरण यहां दिया गया है.

  {
    "address_descriptor" : {
       "areas" : [
          {
             "containment" : "OUTSKIRTS",
             "display_name" : {
                "language_code" : "en",
                "text" : "Turkman Gate"
             },
             "place_id" : "ChIJ_7LLvyb9DDkRMKKxP9YyXgs"
          },
          {
             "containment" : "OUTSKIRTS",
             "display_name" : {
                "language_code" : "en",
                "text" : "Chandni Chowk"
             },
             "place_id" : "ChIJWcXciBr9DDkRUb4dCDykTwI"
          },
          {
             "containment" : "NEAR",
             "display_name" : {
                "language_code" : "en",
                "text" : "Katar Ganj"
             },
             "place_id" : "ChIJH3cWUyH9DDkRaw-9CjvcRvY"
          }
       ],
       "landmarks" : [
          {
             "display_name" : {
                "language_code" : "en",
                "text" : "Delite Cinema"
             },
             "straight_line_distance_meters" : 29.9306755065918,
             "place_id" : "ChIJLfiYDCT9DDkROoEa7NdupUM",
             "travel_distance_meters" : 418.7794799804688,
             "spatial_relationship" : "ACROSS_THE_ROAD",
             "types" : [ "establishment", "movie_theater", "point_of_interest" ]
          },
          {
             "display_name" : {
                "language_code" : "en",
                "text" : "YES Bank"
             },
             "straight_line_distance_meters" : 66.83731079101562,
             "place_id" : "ChIJFYHM3yb9DDkRRKGkZl2mpSQ",
             "travel_distance_meters" : 489.0340270996094,
             "spatial_relationship" : "DOWN_THE_ROAD",
             "types" : [ "bank", "establishment", "finance", "point_of_interest" ]
          },
          {
             "display_name" : {
                "language_code" : "en",
                "text" : "UCO Bank"
             },
             "straight_line_distance_meters" : 25.38849639892578,
             "place_id" : "ChIJ-c6_wCb9DDkRjIk1LeqRtGM",
             "travel_distance_meters" : 403.2246398925781,
             "spatial_relationship" : "ACROSS_THE_ROAD",
             "types" : [ "atm", "bank", "establishment", "finance", "point_of_interest" ]
          },
          {
             "display_name" : {
                "language_code" : "en",
                "text" : "Delhi By Cycle Meeting Point"
             },
             "straight_line_distance_meters" : 44.02867126464844,
             "place_id" : "ChIJNxVfkSb9DDkRJD22l-eGFdM",
             "travel_distance_meters" : 97.41281890869141,
             "spatial_relationship" : "AROUND_THE_CORNER",
             "types" : [
                "establishment",
                "point_of_interest",
                "tourist_attraction",
                "travel_agency"
             ]
          },
          {
             "display_name" : {
                "language_code" : "en",
                "text" : "Axis Bank Branch"
             },
             "straight_line_distance_meters" : 102.3495178222656,
             "place_id" : "ChIJr3uaDCT9DDkR8roHTVSn1x4",
             "travel_distance_meters" : 330.8566284179688,
             "spatial_relationship" : "DOWN_THE_ROAD",
             "types" : [ "bank", "establishment", "finance", "point_of_interest" ]
          }
       ]
    }
  }

हर address_descriptor ऑब्जेक्ट में दो अरे होते हैं: landmarks और areas. landmarks कलेक्शन में ज़्यादा से ज़्यादा पांच नतीजे होते हैं. ये नतीजे इस क्रम में रैंक किए जाते हैं अनुरोध किए गए निर्देशांक की निकटता को ध्यान में रखते हुए, लैंडमार्क की प्रसार और उसकी विज़िबिलिटी. हर लैंडमार्क नतीजे में नीचे दिए गए मान:

  • लैंडमार्क नतीजे में, जगह का आईडी place_id होता है. स्थान आईडी देखें खास जानकारी पर टैप करें.
  • display_name, लैंडमार्क का डिसप्ले नेम है. इसमें language_code और text शामिल हैं.
  • straight_line_distance_meters, इनपुट कोऑर्डिनेट और लैंडमार्क के नतीजे के बीच, पॉइंट की दूरी मीटर में है.
  • travel_distance_meters इनपुट निर्देशांक और लैंडमार्क परिणाम के बीच सड़क नेटवर्क के माध्यम से तय की गई दूरी (सड़क की सीमाओं को अनदेखा करते हुए) मीटर में है.
  • spatial_relationship, इनपुट कोऑर्डिनेट और लैंडमार्क के नतीजे के बीच अनुमानित संबंध है:
    • इनमें से कोई भी लागू न होने पर, "NEAR" डिफ़ॉल्ट संबंध होता है.
    • "WITHIN" जब इनपुट कोऑर्डिनेट, लैंडमार्क से जुड़े स्ट्रक्चर के दायरे में शामिल हो.
    • "BESIDE", जब इनपुट कोऑर्डिनेट, लैंडमार्क या लैंडमार्क के ऐक्सेस पॉइंट के ठीक बगल में होता है.
    • "ACROSS_THE_ROAD" जब इनपुट कोऑर्डिनेट, रास्ते के दूसरी तरफ़ मौजूद लैंडमार्क के ठीक सामने होता है.
    • "DOWN_THE_ROAD", जब इनपुट कोऑर्डिनेट उसी रास्ते पर हो जहां लैंडमार्क है, लेकिन "BESIDES" या "ACROSS_THE_ROAD" नहीं.
    • "AROUND_THE_CORNER", जब इनपुट कोऑर्डिनेट, लैंडमार्क के तौर पर वर्टिकल रास्ते पर हो (एक मोड़ तक सीमित).
    • "BEHIND" जब इनपुट कोऑर्डिनेट जगह के हिसाब से लैंडमार्क के पास, लेकिन इसके ऐक्सेस पॉइंट से दूर हो.
  • types लैंडमार्क के जगहों के प्रकार हैं.

areas ऑब्जेक्ट में ज़्यादा से ज़्यादा तीन रिस्पॉन्स होते हैं. साथ ही, यह खुद को ऐसी जगहों तक सीमित करता है जहां छोटे क्षेत्रों का प्रतिनिधित्व करते हों, जैसे कि आस-पड़ोस, मोहल्ला, और बड़े जटिलों का पता लगाना. जिन इलाकों में अनुरोध किए गए निर्देशांक शामिल हैं उन्हें पहले सूची में रखा जाता है और सबसे छोटे से सबसे बड़े के क्रम में. हर areas नतीजे में ये चीज़ें शामिल होती हैं मान:

  • इलाकों के नतीजे का जगह का आईडी place_id है. स्थान आईडी देखें खास जानकारी पर टैप करें.
  • display_name, इलाके का डिसप्ले नेम है. इसमें language_code और text शामिल हैं.
  • containment, इनपुट कोऑर्डिनेट और एरिया के नतीजों के बीच कंटेनमेंट संबंध का अनुमानित संबंध है:
    • इनमें से कोई भी लागू न होने पर, "NEAR" डिफ़ॉल्ट संबंध होता है.
    • "WITHIN" जब इनपुट कोऑर्डिनेट, इलाके के बीच में हो.
    • "OUTSKIRTS" जब इनपुट निर्देशांक, क्षेत्र के किनारे के पास हो.

पते की पूरी जानकारी वाला कवरेज

यह सुविधा केवल चुनिंदा देश हैं.

यह सिर्फ़ झलक के लिए बनी सुविधा है. आपके सुझाव या राय हमारे लिए मायने रखते हैं. कृपया ईमेल करें हमें address-descriptors-feedback@google.com पर भेजें.

रिवर्स जियोकोडिंग (पता लुकअप)

जियोकोडिंग का मतलब आम तौर पर ऐसे टेक्स्ट का अनुवाद होता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है मैप पर किसी जगह पर जोड़ें. बातचीत करने की प्रोसेस, मैप पर किसी स्थान का ऐसे पते में अनुवाद करना जिसे लोग पढ़ सकें, इसे रिवर्स जियोकोडिंग.

टेक्स्ट address के बजाय, कॉमा लगाकर अलग करें location पैरामीटर में अक्षांश/देशांतर का जोड़ा.

नीचे दिए गए उदाहरण में अक्षांश/देशांतर मान को जियोकोड करता है और उस स्थान पर मैप करें, जिससे प्रारूपित पते के साथ एक जानकारी विंडो खुलेगी:

TypeScript

function initMap(): void {
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      zoom: 8,
      center: { lat: 40.731, lng: -73.997 },
    }
  );
  const geocoder = new google.maps.Geocoder();
  const infowindow = new google.maps.InfoWindow();

  (document.getElementById("submit") as HTMLElement).addEventListener(
    "click",
    () => {
      geocodeLatLng(geocoder, map, infowindow);
    }
  );
}

function geocodeLatLng(
  geocoder: google.maps.Geocoder,
  map: google.maps.Map,
  infowindow: google.maps.InfoWindow
) {
  const input = (document.getElementById("latlng") as HTMLInputElement).value;
  const latlngStr = input.split(",", 2);
  const latlng = {
    lat: parseFloat(latlngStr[0]),
    lng: parseFloat(latlngStr[1]),
  };

  geocoder
    .geocode({ location: latlng })
    .then((response) => {
      if (response.results[0]) {
        map.setZoom(11);

        const marker = new google.maps.Marker({
          position: latlng,
          map: map,
        });

        infowindow.setContent(response.results[0].formatted_address);
        infowindow.open(map, marker);
      } else {
        window.alert("No results found");
      }
    })
    .catch((e) => window.alert("Geocoder failed due to: " + e));
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

JavaScript

function initMap() {
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 8,
    center: { lat: 40.731, lng: -73.997 },
  });
  const geocoder = new google.maps.Geocoder();
  const infowindow = new google.maps.InfoWindow();

  document.getElementById("submit").addEventListener("click", () => {
    geocodeLatLng(geocoder, map, infowindow);
  });
}

function geocodeLatLng(geocoder, map, infowindow) {
  const input = document.getElementById("latlng").value;
  const latlngStr = input.split(",", 2);
  const latlng = {
    lat: parseFloat(latlngStr[0]),
    lng: parseFloat(latlngStr[1]),
  };

  geocoder
    .geocode({ location: latlng })
    .then((response) => {
      if (response.results[0]) {
        map.setZoom(11);

        const marker = new google.maps.Marker({
          position: latlng,
          map: map,
        });

        infowindow.setContent(response.results[0].formatted_address);
        infowindow.open(map, marker);
      } else {
        window.alert("No results found");
      }
    })
    .catch((e) => window.alert("Geocoder failed due to: " + e));
}

window.initMap = initMap;
उदाहरण देखें

सैंपल आज़माएं

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

रिवर्स जियोकोडर राजनैतिक इकाइयों (देशों, प्रांतों, शहर और इलाके), मोहल्ले के पते, और पिन कोड.

यहां उन पतों की सूची का उदाहरण दिया गया है जो ऊपर दी गई क्वेरी में दिख सकते हैं:

results[0].formatted_address: "277 Bedford Ave, Brooklyn, NY 11211, USA"
results[1].formatted_address: "Grand St/Bedford Av, Brooklyn, NY 11211, USA"
results[2].formatted_address: "Williamsburg, Brooklyn, NY, USA"
results[3].formatted_address: "Brooklyn, NY, USA"
results[4].formatted_address: "New York, NY, USA"
results[5].formatted_address: "Brooklyn, NY 11211, USA"
results[6].formatted_address: "Kings County, NY, USA"
results[7].formatted_address: "New York-Northern New Jersey-Long Island, NY-NJ-PA, USA"
results[8].formatted_address: "New York Metropolitan Area, USA"
results[9].formatted_address: "New York, USA"

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

ध्यान दें: रिवर्स जियोकोडिंग सटीक नहीं है विज्ञान. जियोकोडर, पता लगाने लायक सबसे नज़दीकी जगह ढूंढने की कोशिश करेगा एक तय सीमा में रह सकते हैं.

किसी जगह के आईडी के लिए पता पाना

किसी दिए गए जगह के आईडी का पता ढूंढने के लिए, placeId दें. कॉन्टेंट बनाने जगह का आईडी एक यूनीक आइडेंटिफ़ायर होता है. इसका इस्तेमाल अन्य Google API के साथ किया जा सकता है. इसके लिए उदाहरण के लिए, आपplaceId Roads API को पता लगाना है. जगह के आईडी के बारे में ज़्यादा जानकारी के लिए, जगह के आईडी की खास जानकारी.

placeId देने पर, अनुरोध में इनमें से कोई भी वैल्यू शामिल नहीं की जा सकती ये फ़ील्ड शामिल होंगे:

  • address
  • latLng
  • location
  • componentRestrictions

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

TypeScript

// Initialize the map.
function initMap(): void {
  const map = new google.maps.Map(
    document.getElementById("map") as HTMLElement,
    {
      zoom: 8,
      center: { lat: 40.72, lng: -73.96 },
    }
  );
  const geocoder = new google.maps.Geocoder();
  const infowindow = new google.maps.InfoWindow();

  (document.getElementById("submit") as HTMLElement).addEventListener(
    "click",
    () => {
      geocodePlaceId(geocoder, map, infowindow);
    }
  );
}

// This function is called when the user clicks the UI button requesting
// a geocode of a place ID.
function geocodePlaceId(
  geocoder: google.maps.Geocoder,
  map: google.maps.Map,
  infowindow: google.maps.InfoWindow
) {
  const placeId = (document.getElementById("place-id") as HTMLInputElement)
    .value;

  geocoder
    .geocode({ placeId: placeId })
    .then(({ results }) => {
      if (results[0]) {
        map.setZoom(11);
        map.setCenter(results[0].geometry.location);

        const marker = new google.maps.Marker({
          map,
          position: results[0].geometry.location,
        });

        infowindow.setContent(results[0].formatted_address);
        infowindow.open(map, marker);
      } else {
        window.alert("No results found");
      }
    })
    .catch((e) => window.alert("Geocoder failed due to: " + e));
}

declare global {
  interface Window {
    initMap: () => void;
  }
}
window.initMap = initMap;

JavaScript

// Initialize the map.
function initMap() {
  const map = new google.maps.Map(document.getElementById("map"), {
    zoom: 8,
    center: { lat: 40.72, lng: -73.96 },
  });
  const geocoder = new google.maps.Geocoder();
  const infowindow = new google.maps.InfoWindow();

  document.getElementById("submit").addEventListener("click", () => {
    geocodePlaceId(geocoder, map, infowindow);
  });
}

// This function is called when the user clicks the UI button requesting
// a geocode of a place ID.
function geocodePlaceId(geocoder, map, infowindow) {
  const placeId = document.getElementById("place-id").value;

  geocoder
    .geocode({ placeId: placeId })
    .then(({ results }) => {
      if (results[0]) {
        map.setZoom(11);
        map.setCenter(results[0].geometry.location);

        const marker = new google.maps.Marker({
          map,
          position: results[0].geometry.location,
        });

        infowindow.setContent(results[0].formatted_address);
        infowindow.open(map, marker);
      } else {
        window.alert("No results found");
      }
    })
    .catch((e) => window.alert("Geocoder failed due to: " + e));
}

window.initMap = initMap;
उदाहरण देखें

सैंपल आज़माएं