जगह के आईडी

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा

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

  • Geocoding API वेब सेवा और जियोकोडिंग सेवा, Maps JavaScript API में किसी जगह के आईडी का पता पाना.
  • Routes API और Directions API की वेब सेवा और Directions Service, Maps JavaScript API में, ऑरिजिन, डेस्टिनेशन, और बीच में पड़ने वाले वे पॉइंट बताना जहां से यात्रा शुरू की जानी है और जहां तक जाना है.
  • Routes API और Distance Matrix API वेब सेवा और Distance Matrix Service, Maps JavaScript API में, ऑरिजिन और डेस्टिनेशन की जानकारी देना.
  • Places API वेब सेवा, Android के लिए Places SDK टूल, iOS के लिए Places SDK टूल, और Places लाइब्रेरी में जगह की जानकारी हासिल करना.
  • 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 लाइब्रेरी का इस्तेमाल करके. इसके बाद, जगह की जानकारी पाने के लिए, दिखाए गए जगह के आईडी का इस्तेमाल करें. जगह का आईडी सेव किया जा सकता है और उस जगह की जानकारी को बाद में वापस पाने के लिए उसका इस्तेमाल किया जा सकता है. जगह के आईडी सेव करने के बारे में यहां पढ़ें.

iOS के लिए Places SDK टूल का इस्तेमाल करने का उदाहरण

जगह का आईडी, टेक्स्ट वाला एक आइडेंटिफ़ायर होता है. इससे किसी जगह की खास तौर पर पहचान की जाती है. iOS के लिए बने Places SDK में, किसी जगह का आईडी GMSPlace ऑब्जेक्ट से पाया जा सकता है. प्लेस आईडी को सेव किया जा सकता है और इसका इस्तेमाल, बाद में GMSPlace ऑब्जेक्ट को फिर से पाने के लिए किया जा सकता है.

आईडी के हिसाब से कोई जगह पाने के लिए, इन पैरामीटर को पास करते हुए GMSPlacesClient fetchPlaceFromPlaceID: को कॉल करें:

  • ऐसी स्ट्रिंग जिसमें प्लेस आईडी शामिल हो.
  • एक या उससे ज़्यादा GMSPlaceField, जो दिखाते हैं कि किस तरह का डेटा दिखाना है.
  • अगर कॉल, अपने-आप पूरी होने वाली क्वेरी को पूरा करने के लिए किया जाता है, तो सेशन टोकन. अगर ऐसा नहीं है, तो nil पास करें.
  • नतीजे को मैनेज करने के लिए GMSPlaceResultCallback.

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

Swift

// A hotel in Saigon with an attribution.
let placeID = "ChIJV4k8_9UodTERU5KXbkYpSYs"

// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
  UInt(GMSPlaceField.placeID.rawValue))!

placesClient?.fetchPlace(fromPlaceID: placeID, placeFields: fields, sessionToken: nil, callback: {
  (place: GMSPlace?, error: Error?) in
  if let error = error {
    print("An error occurred: \(error.localizedDescription)")
    return
  }
  if let place = place {
    self.lblName?.text = place.name
    print("The selected place is: \(place.name)")
  }
})

Objective-C

// A hotel in Saigon with an attribution.
NSString *placeID = @"ChIJV4k8_9UodTERU5KXbkYpSYs";

// Specify the place data types to return.
GMSPlaceField fields = (GMSPlaceFieldName | GMSPlaceFieldPlaceID);

[_placesClient fetchPlaceFromPlaceID:placeID placeFields:fields sessionToken:nil callback:^(GMSPlace * _Nullable place, NSError * _Nullable error) {
  if (error != nil) {
    NSLog(@"An error occurred %@", [error localizedDescription]);
    return;
  }
  if (place != nil) {
    NSLog(@"The selected place is: %@", [place name]);
  }
}];

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

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

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

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

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

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

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

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