जगह के आईडी

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript Web Service
यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

परिचय

जगह के आईडी, Google Places के डेटाबेस और Google Maps में किसी जगह की अलग पहचान के लिए इस्तेमाल होते हैं. जगह के आईडी, Maps के इन एपीआई के अनुरोधों में स्वीकार किए जाते हैं:

  • Geocoding API और Maps JavaScript API की जियोकोडिंग सेवा में, किसी जगह के आईडी के लिए पता वापस पाना.
  • Routes API और Directions API (लेगसी) में शुरुआती जगह, मंज़िल, और रास्ते में पड़ने वाली जगहों के बारे में जानकारी देना. साथ ही, Maps JavaScript API (लेगसी) की दिशा बताने वाली सेवा में भी यह जानकारी देना.
  • Routes API और Distance Matrix API (लेगसी) और Distance Matrix Service, Maps JavaScript API (लेगसी) में शुरुआती और मंज़िल की जगहें तय करना.
  • Places API (नया), Android के लिए Places SDK (नया), iOS के लिए Places SDK (नया), और Places Library में जगह की जानकारी पाना.
  • Maps Embed API में जगह के आईडी पैरामीटर का इस्तेमाल करना.
  • Maps के यूआरएल में सर्च क्वेरी वापस पाना.
  • Roads API में स्पीड लिमिट दिखाना.
  • बाउंड्री के लिए डेटा-ड्रिवन स्टाइलिंग में, बाउंड्री पॉलीगॉन ढूंढना और उन्हें स्टाइल करना.

किसी खास जगह का आईडी ढूंढना

क्या आपको किसी जगह का आईडी चाहिए? किसी जगह को खोजने और उसका जगह का आईडी पाने के लिए, यहां दिए गए प्लेस आईडी फ़ाइंडर का इस्तेमाल करें:

इसके अलावा, Maps JavaScript API के दस्तावेज़ में, कोड के साथ जगह के आईडी का पता लगाने वाले टूल को देखा जा सकता है.

खास जानकारी

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

  • ChIJgUbEo8cfqokR5lP9_Wh_DaM
  • GhIJQWDl0CIeQUARxks3icF8U8A
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
  • EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
  • IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ

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

Places API और Google Maps Platform के कई एपीआई के लिए, एक ही जगह के आईडी का इस्तेमाल किया जा सकता है. उदाहरण के लिए, एक ही जगह के आईडी का इस्तेमाल करके, Places API, Maps JavaScript API, Geocoding API, Maps Embed API, और Roads API में किसी जगह का रेफ़रंस दिया जा सकता है.

जगह के आईडी का इस्तेमाल करके, जगह की जानकारी पाना

जगह के आईडी का इस्तेमाल करने का एक सामान्य तरीका यह है कि Maps JavaScript API में Places API या Places लाइब्रेरी का इस्तेमाल करके, किसी जगह को खोजा जाए. इसके बाद, जगह की जानकारी पाने के लिए, मिले हुए प्लेस आईडी का इस्तेमाल करें. जगह के आईडी को सेव किया जा सकता है. साथ ही, इसका इस्तेमाल करके बाद में उसी जगह की जानकारी वापस पाई जा सकती है. इस दस्तावेज़ में, जगह के आईडी सेव करने के बारे में बाद में पढ़ें.

यहां दिए गए उदाहरणों में, Places API (नया) और Places API (लेगसी) के लिए आइकॉन के यूआरएल का अनुरोध करने का तरीका बताया गया है.

Places API (नया प्रॉडक्ट)

Places API का इस्तेमाल करके, टेक्स्ट से खोज (नया) अनुरोध करके, किसी जगह का आईडी ढूंढा जा सकता है.

curl -X POST -d '{
  "textQuery" : "Spicy Vegetarian Food in Sydney, Australia"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress' \
'https://places.googleapis.com/v1/places:searchText'

जवाब में, id फ़ील्ड में जगह का आईडी शामिल होता है. इसे यहां दिखाया गया है:

{
  "places": [
    {
      "id": "ChIJs5ydyTiuEmsR0fRSlU0C7k0",
      "formattedAddress": "29 King St, Sydney NSW 2000, Australia",
      "displayName": {
        "text": "Peace Harmony",
        "languageCode": "en"
      }
    },
  ...
}

अब अनुरोध के यूआरएल में जगह का आईडी शामिल करके, Place Details (New) का अनुरोध किया जा सकता है:

https://places.googleapis.com/v1/places/ChIJs5ydyTiuEmsR0fRSlU0C7k0?fields=id,displayName&key=API_KEY

Places API (लेगसी)

Places API का इस्तेमाल करके, Place Search का अनुरोध करके, जगह का आईडी ढूंढा जा सकता है.

यहां दिए गए उदाहरण में, सिडनी, ऑस्ट्रेलिया में किसी जगह से 1,500 मीटर के दायरे में मौजूद 'रेस्टोरेंट' टाइप की जगहों को खोजने का अनुरोध किया गया है. इसमें 'क्रूज़' शब्द शामिल है:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=1500&type=restaurant&keyword=cruise&key=YOUR_API_KEY

जवाब में, place_id फ़ील्ड में जगह का आईडी शामिल होता है. जैसा कि इस स्निपेट में दिखाया गया है:

{
  "html_attributions" : [],
  "results" : [
    {
      "geometry" : {
        "location" : {
          "lat" : -33.870775,
          "lng" : 151.199025
        }
      },
      ...
      "place_id" : "ChIJrTLr-GyuEmsRBfy61i59si0",
      ...
    }
  ],
  "status" : "OK"
}

अब place_id पैरामीटर में जगह का आईडी डालकर, जगह के बारे में ज़्यादा जानकारी (लेगसी) का अनुरोध भेजा जा सकता है:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJrTLr-GyuEmsRBfy61i59si0&key=YOUR_API_KEY

बाद में इस्तेमाल करने के लिए जगह के आईडी सेव करना

जगह के आईडी पर, Google Maps Platform की सेवा की शर्तों के सेक्शन 3.2.3(b) में बताई गई, कैश मेमोरी में सेव करने से जुड़ी पाबंदियां लागू नहीं होती हैं. इसलिए, जगह के आईडी की वैल्यू को बाद में इस्तेमाल करने के लिए सेव किया जा सकता है.

सेव किए गए जगह के आईडी रीफ़्रेश करना

Google Maps के डेटाबेस में अपडेट होने की वजह से, जगह के आईडी बदल सकते हैं. इसलिए, Google का सुझाव है कि अगर जगह के आईडी 12 महीने से ज़्यादा पुराने हैं, तो उन्हें रीफ़्रेश करें. Place Details अनुरोध करके, बिना किसी शुल्क के जगह का आईडी रीफ़्रेश किए जा सकते हैं. इसके लिए, fields पैरामीटर में सिर्फ़ जगह का आईडी फ़ील्ड तय करें.

Places API (नया प्रॉडक्ट)

उदाहरण के लिए, जगह की जानकारी (नया) का इस्तेमाल करके:

https://places.googleapis.com/v1/places/ChIJ05IRjKHxEQ0RJLV_5NLdK2w?fields=id&key=API_KEY

Places API (लेगसी)

उदाहरण के लिए, Places API (लेगसी) का इस्तेमाल करना:

https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJ05IRjKHxEQ0RJLV_5NLdK2w&fields=place_id&key=API_KEY

इस कॉल से, Place Detail New Essentials IDs Only या Places Details - ID Refresh SKU ट्रिगर होता है.

जगह के आईडी इस्तेमाल करते समय गड़बड़ी के कोड

INVALID_REQUEST

INVALID_REQUEST स्टेटस कोड से पता चलता है कि दिया गया जगह का आईडी मान्य नहीं है. जगह का आईडी छोटा कर दिया गया हो या उसमें किसी तरह का बदलाव किया गया हो और वह अब सही न हो, तो INVALID_REQUEST दिखाया जा सकता है.

NOT_FOUND

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

अगर जगह का आईडी पुराना हो गया है, तो नतीजों को रीफ़्रेश करने के लिए, उस ओरिजनल अनुरोध को सेव करें जिससे जगह का हर आईडी मिला था. साथ ही, ज़रूरत पड़ने पर अनुरोध को फिर से जारी करें. ध्यान दें कि फिर से जारी किए गए अनुरोध के लिए, सही एसकेयू के हिसाब से बिल भेजा जाता है.

कभी-कभी, कुछ तरह के जगह के आईडी की वजह से NOT_FOUND रिस्पॉन्स मिल सकता है या एपीआई, रिस्पॉन्स में कोई दूसरा जगह का आईडी दिखा सकता है. जगह के आईडी के इन टाइप में ये शामिल हैं:

  • मोहल्ले के ऐसे पते जो Google Maps पर सटीक पतों के तौर पर मौजूद नहीं हैं, लेकिन पतों की रेंज से उनका अनुमान लगाया जाता है.
  • लंबे रास्ते के सेगमेंट, जहां अनुरोध में शहर या इलाके की जानकारी भी दी गई हो.
  • चौराहे.
  • ऐसी जगहें जिनके पते में subpremise टाइप का कॉम्पोनेंट मौजूद हो.

ये आईडी अक्सर लंबी स्ट्रिंग के तौर पर होते हैं. जगह के आईडी की कोई ज़्यादा से ज़्यादा लंबाई नहीं होती. उदाहरण के लिए:

EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4