स्थान आईडी

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

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

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

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

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

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

खास जानकारी

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

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

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

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

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

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

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

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

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

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

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

यह कोड उदाहरण दिखाता है कि fetchPlace() को बताई गई जगह के बारे में जानकारी कैसे दी जाती है.

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.
    }
});

      

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")
        }
    }

      

बाद के उपयोग के लिए जगह के आईडी सेव करें

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

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

अगर स्थान आईडी 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