Google स्थल डेटाबेस और Google Maps पर किसी जगह की खास तौर पर पहचान करने के लिए, जगह के आईडी का इस्तेमाल करें. नीचे दिए गए Maps API के अनुरोधों में जगह के आईडी स्वीकार किए जाते हैं:
- जियोकोडिंग एपीआई वेब सेवा और जियोकोडिंग सेवा, Maps JavaScript API में जगह आईडी के लिए पता पाना.
- रूट एपीआई और निर्देशों एपीआई वेब सेवा और 'दिशा-निर्देश सेवा', Maps JavaScript API में ऑरिजिन, डेस्टिनेशन, और इंटरमीडिएट वेपॉइंट तय करना.
- Routes API और डिस्टेंस मैट्रिक्स एपीआई वेब सेवा और डिस्टेंस मैट्रिक्स सेवा, Maps JavaScript API में ऑरिजिन और डेस्टिनेशन की जानकारी देना.
- Places API वेब सेवा, Android के लिए Places SDK, iOS के लिए Places SDK टूल, और जगहें लाइब्रेरी में जगह की जानकारी वापस पाई जा रही है.
- Maps Embed API में जगह के आईडी पैरामीटर का इस्तेमाल करना.
- Maps के यूआरएल से खोज क्वेरी फ़ेच की जा रही हैं.
- Roads API में स्पीड की सीमाएं दिखाई जा रही हैं.
- सीमाओं के लिए डेटा-ड्रिवन स्टाइल में सीमा पॉलीगॉन ढूंढना और उन्हें आकर्षक बनाना.
किसी खास जगह का आईडी ढूंढना
क्या आपको किसी खास जगह का, जगह का आईडी चाहिए? कोई जगह खोजने और उसका आईडी पाने के लिए, नीचे दिए गए जगह का आईडी ढूंढने वाले टूल का इस्तेमाल करें:
इसके अलावा, Maps JavaScript API दस्तावेज़ में मौजूद कोड के साथ, जगह का आईडी खोजने वाला टूल भी देखा जा सकता है.
खास जानकारी
जगह का आईडी, टेक्स्ट के रूप में एक आइडेंटिफ़ायर होता है. यह किसी जगह की खास तौर पर पहचान करता है. आइडेंटिफ़ायर की लंबाई अलग-अलग हो सकती है (प्लेस आईडी के लिए कोई ज़्यादा से ज़्यादा लंबाई नहीं होती). उदाहरण:
-
ChIJgUbEo8cfqokR5lP9_Wh_DaM
-
GhIJQWDl0CIeQUARxks3icF8U8A
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRAN
-
EicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0E
-
IhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
कारोबार, लैंडमार्क, पार्क, और चौराहों सहित ज़्यादातर जगहों के आईडी. एक ही जगह या जगह के लिए, कई अलग-अलग जगह के आईडी हो सकते हैं. समय के साथ जगह के आईडी बदल सकते हैं.
आप जगहों के एपीआई और कई Google Maps Platform API में एक ही जगह के आईडी का इस्तेमाल कर सकते हैं. उदाहरण के लिए, जगहें एपीआई, Maps JavaScript API, जियोकोडिंग एपीआई, Maps Embed API, और Roads API में किसी जगह का रेफ़रंस देने के लिए, एक ही जगह के आईडी का इस्तेमाल किया जा सकता है.
जगह के आईडी का इस्तेमाल करके जगह की जानकारी पाएं
जगह के आईडी का इस्तेमाल करने का एक आम तरीका यह है कि आप कोई जगह खोजें. उदाहरण के लिए, Maps JavaScript API में जगह एपीआई या जगहों की लाइब्रेरी का इस्तेमाल करके. इसके बाद, जगह की जानकारी पाने के लिए, दिखाई गई जगह के आईडी का इस्तेमाल करें. उस जगह का आईडी स्टोर किया जा सकता है. साथ ही, इसका इस्तेमाल बाद में उस जगह की जानकारी वापस पाने के लिए किया जा सकता है. जगह के आईडी सेव करने के बारे में नीचे पढ़ें.
Android के लिए स्थल SDK का उपयोग करने का उदाहरण
Android के लिए जगहें 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