स्थान आईडी

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

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

  • Geocoding API की वेब सेवा और जियोकोडिंग सेवा, Maps JavaScript API में किसी प्लेस आईडी के लिए पता पाना.
  • रूट एपीआई और डाइरेक्शन एपीआई की वेब सेवा और निर्देश सेवा, Maps JavaScript API में ऑरिजिन, डेस्टिनेशन, और इंटरमीडिएट वेपॉइंट तय करना.
  • रूट एपीआई और डिस्टेंस मैट्रिक्स एपीआई की वेब सेवा और डिस्टेंस मैट्रिक्स सेवा, Maps JavaScript एपीआई में ऑरिजिन और डेस्टिनेशन की जानकारी देना.
  • 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 एपीआई में एक ही जगह के आईडी का इस्तेमाल कर सकते हैं. उदाहरण के लिए, जगह एपीआई, Maps JavaScript API, जियोकोडिंग एपीआई, Maps Embed API, और Roads API में किसी जगह का रेफ़रंस देने के लिए, एक ही जगह के आईडी का इस्तेमाल किया जा सकता है.

स्थान आईडी का उपयोग करके स्थान विवरण फिर से पाएं

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

Android के लिए Places 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