जगह के आईडी

प्लैटफ़ॉर्म चुनें: 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 लाइब्रेरी का इस्तेमाल करके. इसके बाद, जगह की जानकारी पाने के लिए, दिखाए गए जगह के आईडी का इस्तेमाल करें. जगह का आईडी सेव किया जा सकता है और उस जगह की जानकारी को बाद में वापस पाने के लिए उसका इस्तेमाल किया जा सकता है. जगह के आईडी सेव करने के बारे में यहां पढ़ें.

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

Places SDK for Android में, किसी जगह का आईडी पाने के लिए, Place.getId() को कॉल करें. जगह के नाम के लिए ऑटोकंप्लीट की सुविधा, खोज क्वेरी और फ़िल्टर से मैच होने वाली हर जगह के लिए एक लोकेशन आईडी भी दिखाती है. बाद में Place ऑब्जेक्ट को फिर से पाने के लिए, प्लेस आईडी का इस्तेमाल करें.

आईडी के हिसाब से कोई जगह पाने के लिए, FetchPlaceRequest को पास करते हुए, PlacesClient.fetchPlace() को कॉल करें.

एपीआई, Task में एक FetchPlaceResponse दिखाता है. FetchPlaceResponse में, दिए गए प्लेस आईडी से मैच करने वाला Place ऑब्जेक्ट होता है.

यहां दिए गए कोड के उदाहरण में, किसी जगह की जानकारी पाने के लिए fetchPlace() को कॉल करने का तरीका बताया गया है.

Kotlin

// Define a Place ID.
val placeId = "INSERT_PLACE_ID_HERE"

// Specify the fields to return.
val placeFields = listOf(Place.Field.ID, Place.Field.NAME)

// Construct a request object, passing the place ID and fields array.
val request = FetchPlaceRequest.newInstance(placeId, placeFields)

placesClient.fetchPlace(request)
    .addOnSuccessListener { response: FetchPlaceResponse ->
        val place = response.place
        Log.i(PlaceDetailsActivity.TAG, "Place found: ${place.name}")
    }.addOnFailureListener { exception: Exception ->
        if (exception is ApiException) {
            Log.e(TAG, "Place not found: ${exception.message}")
            val statusCode = exception.statusCode
            TODO("Handle error with given status code")
        }
    }

      

Java

// Define a Place ID.
final String placeId = "INSERT_PLACE_ID_HERE";

// Specify the fields to return.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

// Construct a request object, passing the place ID and fields array.
final FetchPlaceRequest request = FetchPlaceRequest.newInstance(placeId, placeFields);

placesClient.fetchPlace(request).addOnSuccessListener((response) -> {
    Place place = response.getPlace();
    Log.i(TAG, "Place found: " + place.getName());
}).addOnFailureListener((exception) -> {
    if (exception instanceof ApiException) {
        final ApiException apiException = (ApiException) exception;
        Log.e(TAG, "Place not found: " + exception.getMessage());
        final int statusCode = apiException.getStatusCode();
        // TODO: Handle error with given status code.
    }
});

      

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

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

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

हमारा सुझाव है कि अगर प्लेस आईडी 12 महीने से ज़्यादा पुराने हैं, तो उन्हें रीफ़्रेश करें. जगह की जानकारी का अनुरोध करके, प्लेस आईडी को बिना किसी शुल्क के रीफ़्रेश किया जा सकता है. इसके लिए, fields पैरामीटर में सिर्फ़ Place.Field.ID फ़ील्ड की जानकारी दें. यह कॉल, जगहों की जानकारी - आईडी रीफ़्रेश 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