स्थान आईडी

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

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

  • जियोकोडिंग एपीआई वेब सेवा और जियोकोडिंग सेवा, Maps JavaScript API में जगह आईडी के लिए पता लेना.
  • Routes API और निर्देशों एपीआई की वेब सेवा और निर्देश सेवा, Maps JavaScript API में ऑरिजिन, डेस्टिनेशन, और इंटरमीडिएट वेपॉइंट की जानकारी देना.
  • Routes API और डिस्टेंस मैट्रिक्स एपीआई वेब सेवा और डिस्टेंस मैट्रिक्स सेवा, Maps JavaScript API में ऑरिजिन और डेस्टिनेशन की जानकारी देना.
  • Places API वेब सेवा, Android के लिए Places SDK, iOS के लिए Places SDK, और Places लाइब्रेरी में जगह की जानकारी वापस पाई जा रही है.
  • Maps Embed एपीआई में जगह के आईडी के पैरामीटर का इस्तेमाल किया जा रहा है.
  • Maps के यूआरएल से खोज क्वेरी फ़ेच की जा रही हैं.
  • Roads API में, रफ़्तार की सीमाएं दिखाई जा रही हैं.
  • सीमाओं के लिए डेटा-ड्रिवन स्टाइल में सीमा पॉलीगॉन ढूंढना और उन्हें बेहतर बनाना.

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

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

इसके अलावा, Maps JavaScript API दस्तावेज़ में कोड के साथ प्लेस आईडी फ़ाइंडर देखें.

खास जानकारी

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

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

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

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

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

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

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

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

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

एपीआई, 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