Destination
का मतलब किसी ऐसी जगह से है जहां उपयोगकर्ता पहुंचना चाहता है या जिसके लिए वह नेविगेट करना चाहता है. Destination में जगह या इलाके से जुड़ी जानकारी का कलेक्शन भी शामिल होता है. जैसे, नेविगेशन पॉइंट, लैंडमार्क, एंट्री पॉइंट, और इमारत की आउटलाइन.
Geocoding API के
SearchDestinations
तरीके का इस्तेमाल करके, अलग-अलग इनपुट के आधार पर कई जगहों की जानकारी हासिल की जा सकती है. जैसे, पता, जगह का आईडी या अक्षांश और देशांतर के निर्देशांक.
मंज़िल खोजने का अनुरोध
डेस्टिनेशन खोजने का अनुरोध, इस तरह के यूआरएल के लिए किया जाने वाला एचटीटीपी पोस्ट अनुरोध होता है:
https://geocode.googleapis.com/v4/geocode/destinations
सभी पैरामीटर को JSON अनुरोध के मुख्य हिस्से में या POST अनुरोध के हिस्से के तौर पर हेडर में पास करें. उदाहरण के लिए:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
किसी डेस्टिनेशन को खोजने के लिए, जगह की जानकारी इन तीन में से किसी एक तरीके से दी जा सकती है:
- पता
- जगह का आईडी
- अक्षांश और देशांतर निर्देशांक
पते की मदद से कोई जगह खोजना
पते को अनस्ट्रक्चर्ड स्ट्रिंग के तौर पर तय किया जा सकता है. पते की जियोकोडिंग, अक्षांश और देशांतर के निर्देशांक या अन्य अनस्ट्रक्चर्ड स्ट्रिंग को रिज़ॉल्व नहीं करती है. ये स्ट्रिंग, किसी पते को नहीं दिखाती हैं. इस तरह की स्ट्रिंग का इस्तेमाल करने वाले अनुरोधों को प्रोसेस नहीं किया जा सकता. साथ ही, इनसे गड़बड़ी वाले जवाब मिल सकते हैं या कोई गड़बड़ी हो सकती है. जिन क्वेरी के लिए यह सुविधा काम नहीं करती उनके कुछ उदाहरण यहां दिए गए हैं:
| क्वेरी का टाइप | उदाहरण |
|---|---|
| अक्षांश और देशांतर निर्देशांक. इसके बजाय, जगह की जानकारी वाली क्वेरी का इस्तेमाल करें. | "37.422131,-122.084801" |
| एक ही क्वेरी में कई जगहों, सड़कों या शहरों के नाम जैसे कई कॉन्सेप्ट या पाबंदियां शामिल हों | "Market Street San Francisco San Jose Airport" |
| डाक पते के एलिमेंट, Google Maps पर नहीं दिखाए गए हैं |
"C/O जॉन स्मिथ 123 मेन स्ट्रीट" "पी॰ओ॰ बॉक्स 13 सैन फ़्रांसिस्को" |
| कारोबारों, कई आउटलेट वाले कारोबारी ग्रुप या कैटगरी के नाम के साथ उन जगहों के नाम जोड़ना जहां ये इकाइयां उपलब्ध नहीं हैं | "डैलस, टेक्सस के पास मौजूद Tesco" |
| ऐसी क्वेरी जिनके कई मतलब निकल सकते हैं | "चार्जर ड्रॉप-ऑफ़" |
| ऐतिहासिक नाम, जो अब इस्तेमाल नहीं किए जाते | "मिडलसेक्स यूनाइटेड किंगडम" |
| नॉन-जियोस्पेशल एलिमेंट या इंटेंट | "वेंचुरा हार्बर में कितनी नावें हैं?" |
| गैर-आधिकारिक या वैनिटी नेम |
"द जेंगा" "द हेल्टर स्केल्टर" |
| बड़ी राजनैतिक इकाइयां (शहर, राज्य, देश) |
"New York City" "California" "USA" |
| बिना किसी खास पते के रूट |
"1st Ave., NYC, NY" "I-95" |
curl -X POST -d '{
"addressQuery": {
"addressQuery": "601 S Bernardo Ave, Sunnyvale, CA 94087, USA"
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
या
postalAddress के तौर पर:
curl -X POST -d '{
"addressQuery": {
"address": {
"addressLines": ["601 S Bernardo Ave"],
"locality": "Sunnyvale",
"postalCode": "94087",
"administrativeArea": "CA",
"regionCode": "US"
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
आम तौर पर, एचटीएमएल फ़ॉर्म में कैप्चर किए गए पते के कॉम्पोनेंट को प्रोसेस करते समय, postalAddress फ़ॉर्मैट का इस्तेमाल किया जाता है.
जगह के आईडी के हिसाब से डेस्टिनेशन खोजना
जगह का आईडी देकर, किसी डेस्टिनेशन की जानकारी वापस पाई जा सकती है:
curl -X POST -d '{
"place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
इस्तेमाल किए जा सकने वाले जगह के आईडी
Search Destinations तरीका, उन जगह के आईडी के साथ सबसे अच्छा काम करता है जो खास और नेविगेट की जा सकने वाली जगहों को दिखाते हैं. आम तौर पर, establishment, point_of_interest, premise, street_address, और subpremise जैसी जगहों के आईडी इस्तेमाल किए जा सकते हैं. जगह के ऐसे आईडी जो अलग-अलग जगहों को नहीं दिखाते, वे काम नहीं करते. जैसे, पते की रेंज से अनुमानित आईडी (उदाहरण के लिए, "10-20 मेन स्ट्रीट"), किसी रास्ते के ऐसे सेक्शन जिनका कोई खास नंबर नहीं है या प्लस कोड. बहुत बड़े इलाकों (जैसे, "प्रशांत महासागर") के नतीजों के लिए, जगह के आईडी भी इस्तेमाल नहीं किए जा सकते.
Search Destinations के साथ Autocomplete (New) का इस्तेमाल करना
यह पक्का करने के लिए कि जगह का आईडी, Search Destinations के साथ काम करे, ऑटोकंप्लीट (नया) का इस्तेमाल करके जगह के आईडी ढूंढें. ऑटोकंप्लीट (नया) का इस्तेमाल करते समय, आपको includedPrimaryTypes पैरामीटर का इस्तेमाल करके, नतीजों को टाइप के हिसाब से फ़िल्टर करना चाहिए. Search Destinations, ऑटोकंप्लीट (नया) से मिले उन जगह के आईडी के साथ काम करता है जिनमें यहां सुझाए गए फ़िल्टर का इस्तेमाल किया गया हो:
"includedPrimaryTypes": [ "establishment", "point_of_interest", "premise", "street_address", "subpremise" ]
इसके अलावा, आपको ऑटोकंप्लीट (नया) के अनुरोध में, include_pure_service_area_businesses फ़्लैग को true पर सेट नहीं करना चाहिए.
जगह के हिसाब से कोई मंज़िल खोजना
अक्षांश और देशांतर निर्देशांक डालकर, किसी डेस्टिनेशन को खोजा जा सकता है:
curl -X POST -d '{
"locationQuery": {
"location": {
"latitude": 37.37348780,
"longitude": -122.05678064
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4/geocode/destinations
अनुरोध करने के लिए OAuth का इस्तेमाल करना
Geocoding API v4, पुष्टि करने के लिए OAuth 2.0 के साथ काम करता है. Geocoding API के साथ OAuth का इस्तेमाल करने के लिए, OAuth टोकन को सही स्कोप असाइन किया जाना चाहिए. Geocoding API, Destinations तरीके के साथ इस्तेमाल करने के लिए, इन स्कोप के साथ काम करता है:
https://www.googleapis.com/auth/maps-platform.geocode— Geocoding API के सभी तरीकों के साथ इस्तेमाल करें.
इसके अलावा, Geocoding API के सभी तरीकों के लिए, सामान्य https://www.googleapis.com/auth/cloud-platform स्कोप का इस्तेमाल किया जा सकता है. यह स्कोप, डेवलपमेंट के दौरान काम आता है, लेकिन प्रोडक्शन के दौरान नहीं. इसकी वजह यह है कि यह एक सामान्य स्कोप है, जो सभी तरीकों को ऐक्सेस करने की अनुमति देता है.
ज़्यादा जानकारी और उदाहरणों के लिए, OAuth का इस्तेमाल करना लेख पढ़ें.
Search destinations response
Search Destinations के जवाब में, जगह की जानकारी के बारे में ज़्यादा और हाइपरलोकल कॉन्टेक्स्ट मिलता है.
Search Destinations के रिस्पॉन्स में मौजूद PlaceView ऑब्जेक्ट (जैसे, primary, containingPlaces में मौजूद आइटम, और landmarks), जगह के टाइप के बारे में बताने के लिए फ़ील्ड का इस्तेमाल करते हैं:
types: स्ट्रिंग का कलेक्शन, जो जगह के टाइप के बारे में बताता है.primaryType: यह स्ट्रिंग, जगह के मुख्य टाइप के बारे में बताती है.
types और primaryType, दोनों के लिए संभावित स्ट्रिंग वैल्यू, जगह के टाइप (नया) पेज पर मौजूद टेबल A और टेबल B से ली जाती हैं.
इस सेक्शन में, रिस्पॉन्स के मुख्य फ़ील्ड के बारे में बताया गया है. रिस्पॉन्स के सभी फ़ील्ड की पूरी जानकारी के लिए, एपीआई का रेफ़रंस देखें.
primary
अनुरोध में मौजूद क्वेरी से पहचानी गई मुख्य जगह.
addressComponents
इस पते पर लागू होने वाले अलग-अलग कॉम्पोनेंट वाली कैटगरी.
पते के हर कॉम्पोनेंट में आम तौर पर ये फ़ील्ड होते हैं:
types[]एक ऐरे है, जो पते के कॉम्पोनेंट का टाइप बताता है. इस्तेमाल किए जा सकने वाले टाइप की सूची देखें.longText, पते के कॉम्पोनेंट का पूरा टेक्स्ट ब्यौरा या नाम है, जैसा कि Geocoder ने दिखाया है.shortText, पते के कॉम्पोनेंट का छोटा नाम है. हालांकि, यह तब ही दिखता है, जब यह उपलब्ध हो. उदाहरण के लिए, अलास्का राज्य के पते के कॉम्पोनेंट में,longText"अलास्का" औरshortText"AK" हो सकता है. इसमें दो अक्षरों वाले डाक पते के संक्षिप्त नाम का इस्तेमाल किया जाता है.languageCodeवह भाषा है जिसका इस्तेमाल, इस कॉम्पोनेंट को फ़ॉर्मैट करने के लिए किया जाता है. यह CLDR नोटेशन में होता है.
containingPlaces
PlaceView ऑब्जेक्ट का एक कलेक्शन, जो मुख्य डेस्टिनेशन को घेरने वाली या उसमें शामिल बड़ी जगहों के बारे में बताता है. उदाहरण के लिए:
- अगर मुख्य डेस्टिनेशन, किसी शॉपिंग सेंटर के अंदर मौजूद कोई स्टोर या रेस्टोरेंट है, तो
containingPlacesमें शॉपिंग सेंटर (structureType: GROUNDS) शामिल होता है. - अगर मुख्य डेस्टिनेशन कोई अपार्टमेंट यूनिट (
subpremise) है, तोcontainingPlacesमें वह रिहायशी इमारत (structureType: BUILDING) शामिल होती है जिसमें वह अपार्टमेंट मौजूद है. साथ ही, अगर लागू हो, तो इसमें वह अपार्टमेंट कॉम्प्लेक्स (structureType: GROUNDS) भी शामिल होता है जिसमें वह इमारत मौजूद है.
containingPlaces में मौजूद हर PlaceView में, उसका अपना displayName, placeId, location, structureType, और displayPolygon (उपलब्ध होने पर) शामिल होता है. इससे आपको किसी खास यूनिट के साथ-साथ, पूरे कैंपस या कॉम्प्लेक्स की आउटलाइन रेंडर करने की सुविधा मिलती है.
subDestinations
PlaceView ऑब्जेक्ट का कलेक्शन, जो मुख्य डेस्टिनेशन में मौजूद जगहों की ज़्यादा जानकारी दिखाता है. उदाहरण के लिए:
- किसी शॉपिंग मॉल, हवाई अड्डे या यूनिवर्सिटी कैंपस के बारे में क्वेरी करने पर,
subDestinationsअलग-अलग स्टोर, टर्मिनल, गेट या कैंपस की इमारतों की सूची दिखाता है. - किसी ऐसी इमारत के बारे में क्वेरी करने पर जिसमें कई घर या व्यावसायिक यूनिट हों,
subDestinationsअलग-अलग सुइट या अपार्टमेंट यूनिट की सूची दिखाता है.
containingPlaces और subDestinations का एक साथ इस्तेमाल करके, इंटरैक्टिव हैरारकी वाले पिकर बनाए जा सकते हैं. इनकी मदद से, उपयोगकर्ता मुश्किल जगहों की जानकारी आसानी से समझ सकते हैं.
डेस्टिनेशन की हैरारकी और रिस्पॉन्स का व्यवहार
Destination के जवाब को समझते समय, स्ट्रक्चर से जुड़े इन नियमों और संबंधों को ध्यान में रखें:
primary: यह आपकी क्वेरी के लिए, सबसे सटीक इकाई दिखाता है. जैसे, कोई इमारत या सब-प्रमिस. यह ज़्यादातर सामान्य मामलों में अपने-आप भर जाता है. हालांकि, ग्रामीण इलाकों में ऐसा हो सकता है कि किसी डेस्टिनेशन के लिए कोई मुख्य इकाई न हो, लेकिन वहां नेविगेशन पॉइंट या लैंडमार्क मौजूद हों.containingPlaces, पैरंट एलिमेंट (पूर्वज) को दिखाता है:containingPlacesको तब भरा जाता है, जब मुख्य जगह, किसी बड़ी जगह के अंदर मौजूद हो. सब-प्रमिस जैसी जगहों के लिए, यह हैरारकी में सभी पैरंट लेवल की जानकारी दे सकता है. इसमें बिल्डिंग के सेक्शन,BUILDING, और कैंपस या रिहायशी सोसाइटीGROUNDSको शामिल किया जा सकता है. अगर कोई डेस्टिनेशन, अलग से मौजूद कोई इमारत या अलग से मौजूद पिन है, तो हो सकता है किcontainingPlacesखाली हो.subDestinationsसे पता चलता है कि इसमें चाइल्ड प्लेस (वंशज) शामिल हैं:subDestinationsतब भरा जाता है, जब डेस्टिनेशन में ज़्यादा बारीकी से जानकारी देने वाली जगहें शामिल हों. इसमें अलग-अलग तरह के वंशज स्ट्रक्चर शामिल हो सकते हैं. जैसे, किसी कैंपस या मैदान में चाइल्डBUILDINGया किसी इमारत के अंदर मौजूद यूनिट, सेक्शन, और स्टोर.
entrances
entrances[] कलेक्शन में मौजूद ऑब्जेक्ट में ये फ़ील्ड होते हैं:
displayNameएक
LocalizedTextऑब्जेक्ट, जिसमें एंट्री पॉइंट का ऐसा नाम शामिल हो जिसे आसानी से पढ़ा जा सके. जैसे,"South Bernardo Avenue"या"5th Avenue". हालांकि, ऐसा तब ही होगा, जब यह जानकारी उपलब्ध हो.locationअक्षांश/देशांतर निर्देशांक का एक जोड़ा, जो किसी जगह में एंट्री और एग्ज़िट पॉइंट की जगह की जानकारी देता है.
entrance_tags[]एंट्रेंस टैग का कलेक्शन, जिसमें एंट्रेंस की विशेषताओं के बारे में बताया गया हो. इस वैल्यू का इस्तेमाल किया जा सकता है:
"PREFERRED"
इससे पता चलता है कि इस प्रवेश द्वार से, खोजे गए स्थान तक पहुंचा जा सकता है. किसी जगह में, अंदर जाने के लिए कई रास्ते हो सकते हैं. अगर किसी प्रवेश द्वार पर यह टैग नहीं है, तो इसका मतलब है कि वह प्रवेश द्वार उसी इमारत में है, लेकिन ज़रूरी नहीं है कि उससे उस जगह तक पहुंचा जा सके.
उदाहरण के लिए, अगर खोज के नतीजे में मिली जगह, स्ट्रिप मॉल में मौजूद कोई रेस्टोरेंट है, तो
"PREFERRED"एंट्री पॉइंट वे होंगे जो सीधे रेस्टोरेंट तक ले जाते हैं. वहीं, खोज के नतीजे में मिले अन्य एंट्री पॉइंट, इमारत के अन्य एंट्री पॉइंट होंगे. जैसे, स्ट्रिप मॉल में मौजूद अन्य रेस्टोरेंट के एंट्री पॉइंट.अगर खोज के नतीजे में मिली जगह कोई इमारत है, तो
"PREFERRED"एंट्री पॉइंट वे होंगे जो इमारत के "मुख्य" हिस्से तक ले जाते हैं. उदाहरण के लिए, किसी शॉपिंग सेंटर में"PREFERRED"एंट्री पॉइंट वे होंगे जिनसे मुख्य फ़ोयर एरिया को ऐक्सेस किया जा सकता है. हालांकि, अगर कोई एंट्री पॉइंट सिर्फ़ बिल्डिंग के किनारे मौजूद किसी स्टोर को ऐक्सेस करने की अनुमति देता है, तो वह"PREFERRED"एंट्री पॉइंट नहीं होगा.streetViewThumbnailऔरstreetViewAnnotationStreet View Static API के लिए पैरामीटर, जिनकी मदद से इन जगहों की काम की तस्वीरें दिखाई जा सकती हैं. इन फ़ील्ड के बारे में ज़्यादा जानें.
structureType
यह जगह किस तरह की है.
POINTएक पॉइंट लोकेशन.
SECTIONकिसी इमारत का सब-सेक्शन.
BUILDINGएक इमारत.
GROUNDSएक बड़ा इलाका, जिसमें आम तौर पर कई इमारतें होती हैं. जैसे, यूनिवर्सिटी कैंपस, अपार्टमेंट कॉम्प्लेक्स या शॉपिंग मॉल.
navigationPoints
जियोकोडिंग के जवाब में मौजूद navigationPoints फ़ील्ड में, उन पॉइंट की सूची होती है जो जगह पर नेविगेट करने के लिए काम के होते हैं. खास तौर पर, किसी जगह से या उस जगह तक जाने के लिए, रोड नेटवर्क पर रूट तय करते समय, इन्हें शुरुआती या आखिरी पॉइंट के तौर पर इस्तेमाल किया जाना चाहिए.
हर नेविगेशन पॉइंट में ये वैल्यू शामिल होती हैं:
navigationPointTokenएक टोकन है, जिसमेंnavigationPointsफ़ील्ड में मौजूद कॉन्टेक्स्ट के हिसाब से जानकारी होती है. इस टोकन को रूटिंग और नेविगेशन एपीआई पर भेजा जा सकता है. इससे आपके ऐप्लिकेशन में रूटिंग और ड्राइवर के अनुभव को बेहतर बनाने में मदद मिलती है. ज़्यादा जानकारी के लिए, नेविगेशन पॉइंट टोकन का इस्तेमाल करके रूट करना लेख पढ़ें.locationमें नेविगेशन पॉइंट के अक्षांश और देशांतर की वैल्यू शामिल होती है. यह जगह हमेशा सड़क नेटवर्क के बहुत करीब होगी. साथ ही, यह किसी जगह पर जाने और वहां से वापस आने के लिए, रुकने या शुरू करने की सबसे सही जगह होगी. पॉइंट को जान-बूझकर सड़क की सेंटरलाइन से थोड़ा दूर रखा जाता है, ताकि सड़क के उस हिस्से को साफ़ तौर पर मार्क किया जा सके जहां जगह मौजूद है.travelModes, यात्रा के उन मोड की सूची है जिनसे नेविगेशन पॉइंट को ऐक्सेस किया जा सकता है:"DRIVE", ड्राइविंग के लिए रास्ते के निर्देशों के हिसाब से यात्रा का मोड है."WALK", पैदल रास्ते की जानकारी के लिए यात्रा का मोड है.
usages, नेविगेशन पॉइंट के इस्तेमाल की सूची है. इस्तेमाल के ये तरीके हो सकते हैं:"DROPOFF""PICKUP""PARKING"
पिकअप और ड्रॉप-ऑफ़ के लिए, उस नेविगेशन पॉइंट का इस्तेमाल करें जहां यात्रा का मोड DRIVE हो और इस्तेमाल PICKUP या DROPOFF हो. अगर पिकअप या ड्रॉपऑफ़ पॉइंट उपलब्ध नहीं हैं, तो सबसे ऊपर मौजूद ड्राइविंग नेविगेशन पॉइंट का इस्तेमाल करें.
streetViewThumbnailऔरentranceAnnotation, Street View Static API के लिए पैरामीटर उपलब्ध कराते हैं. इससे आपको इन जगहों की काम की तस्वीरें दिखाने में मदद मिलती है. इन फ़ील्ड के बारे में ज़्यादा जानें.
altitude_metersमें, WGS-84 एलिप्सॉइड के हिसाब से, नेविगेशन पॉइंट की ऊंचाई मीटर में होती है. अगर सड़क के सेगमेंट वर्टिकल तौर पर स्टैक किए गए हैं, तोaltitude_metersफ़ील्ड का इस्तेमाल करके, अपने सिस्टम के लिए सबसे सही सड़क सेगमेंट चुनें, ताकि वह नेविगेट कर सके.
landmarks
Landmark ऑब्जेक्ट का एक कलेक्शन, जो आस-पास की लोकप्रिय जगहों के बारे में बताता है. इससे उपयोगकर्ताओं को अपनी जगह की जानकारी पाने और मंज़िल तक पहुंचने में मदद मिलती है. यह सुविधा, पते के बारे में खास जानकारी बताने वाली लेगसी v3 सुविधा की जगह लेगी और इसे बेहतर बनाएगी.
हर Landmark ऑब्जेक्ट में ये शामिल होते हैं:
place: यह एकPlaceViewऑब्जेक्ट होता है, जो लैंडमार्क के बारे में जानकारी देता है. इसमेंdisplayName,placeId,location,types, औरdisplayPolygonशामिल होते हैं.relationalDescription: स्थानीय भाषा में लिखी गई, आसानी से पढ़ी जा सकने वालीLocalizedTextस्ट्रिंग. इसमें मंज़िल और लैंडमार्क के बीच की दूरी के बारे में बताया जाता है. उदाहरण के लिए,"Near Starbird Chicken","Across from Central Park"या"Around the corner from the Empire State Building".straightLineDistanceMeters: लैंडमार्क से मंज़िल तक की सीधी दूरी (मीटर में).travelDistanceMeters: लैंडमार्क और मंज़िल के बीच, सड़क या पैदल चलने वाले रास्ते की अनुमानित दूरी (मीटर में).tags: कॉन्टेक्स्ट के हिसाब से टैग, जो मंज़िल के हिसाब से लैंडमार्क की जगह की जानकारी देते हैं:"ARRIVAL": मंज़िल के ठीक बगल में या उसके सामने मौजूद हाइपरलोकल लैंडमार्क (आम तौर पर 50 से 100 मीटर के दायरे में). यह मंज़िल तक पहुंचने के लिए सबसे सही दिशा-निर्देश देता है."ADDRESS": आस-पास का कोई मशहूर लैंडमार्क (आम तौर पर 100 से 500 मीटर के दायरे में). यह यात्रा शुरू करने से पहले, जगह की जानकारी पाने और पते की पुष्टि करने के लिए सबसे सही है.- अगर कोई लैंडमार्क स्थानीय तौर पर मशहूर है और वह किसी जगह के ठीक बगल में है, तो उसमें दोनों टैग शामिल किए जा सकते हैं.
हर लैंडमार्क में ये फ़ील्ड शामिल होते हैं:
place,PlaceViewऑब्जेक्ट है, जो इस लैंडमार्क को दिखाता है.relationalDescription, किसी व्यक्ति के लिए आसानी से पढ़ा जा सकने वाला ब्यौरा है. इससे पता चलता है कि मंज़िल, लैंडमार्क से किस तरह जुड़ी है. जैसे, "एंपायर स्टेट बिल्डिंग के पास" या "व्हाइट हाउस के सामने".tags[], टैग का एक कलेक्शन है. इससे पता चलता है कि डेस्टिनेशन के संदर्भ में, लैंडमार्क का इस्तेमाल कैसे किया जा सकता है:"ADDRESS": स्थानीय तौर पर मशहूर कोई जगह, जिसका इस्तेमाल करके डेस्टिनेशन की जगह की अनुमानित जानकारी का पता लगाया जा सकता है."ARRIVAL": ऐसी जगह जिसका इस्तेमाल मंज़िल तक पहुंचने में मदद पाने के लिए किया जा सकता है. यह मंज़िल के करीब पहुंचने पर नेविगेशन के लिए मददगार होती है.
straightLineDistanceMeters, इस लैंडमार्क से डेस्टिनेशन तक की सीधी दूरी है. यह दूरी मीटर में होती है.travelDistanceMeters, इस लैंडमार्क से मंज़िल तक की पैदल दूरी है. यह दूरी मीटर में है.
arrivalSummary
एआई की मदद से मिलने वाली अहम जानकारी, ताकि आपको मंज़िल तक पहुंचने में मदद मिल सके. एआई की मदद से खास जानकारी देखें.
parkingOptions
पार्किंग की ज़्यादा जानकारी.
जवाब का फ़ॉर्मैट
SearchDestinations, यहां दिए गए JSON फ़ॉर्म का
SearchDestinationsResponse
दिखाता है:
{ "destinations": [ { "primary": { "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w", "displayName": { "text": "Arby's", "languageCode": "en" }, "primaryType": "fast_food_restaurant", "types": [ "fast_food_restaurant", "sandwich_shop", "deli", "meal_takeaway", "food_delivery", "american_restaurant", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Arby's, 601 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "601 S Bernardo Ave" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3734545, "longitude": -122.05693269999998 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.056930138027, 37.3735253692531 ], [ -122.056960139391, 37.3735372663597 ], [ -122.056994129366, 37.3734828786847 ], [ -122.056969677395, 37.3734731161089 ], [ -122.057061762447, 37.3733261309656 ], [ -122.056979388817, 37.3732935577128 ], [ -122.056798860285, 37.3735818838642 ], [ -122.056875858081, 37.3736121235316 ], [ -122.056930138027, 37.3735253692531 ] ] ] } }, "containingPlaces": [ { "place": "places/ChIJYfdAFum2j4ARIcL2tjME3Sw", "displayName": { "text": "Cherry Chase Shopping Center", "languageCode": "en" }, "primaryType": "shopping_mall", "types": [ "shopping_mall", "point_of_interest", "establishment" ], "formattedAddress": "Cherry Chase Shopping Center, 663 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1020", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "663 S Bernardo Ave" ] }, "structureType": "GROUNDS", "location": { "latitude": 37.3731231, "longitude": -122.0578211 }, "displayPolygon": { "type": "Polygon", "coordinates": [ [ [ -122.057112227103, 37.3714618008523 ], [ -122.057076849821, 37.3715743611411 ], [ -122.056963607756, 37.3719081793948 ], [ -122.056865279559, 37.3722026053835 ], [ -122.056687872374, 37.3727258358476 ], [ -122.056580005889, 37.3730511370747 ], [ -122.056498845827, 37.3732994782583 ], [ -122.056338259713, 37.3737878663325 ], [ -122.056618678291, 37.373887693582 ], [ -122.056912102521, 37.3740010327191 ], [ -122.057532418159, 37.3742476426462 ], [ -122.057673926626, 37.3742441740031 ], [ -122.057735663106, 37.3742328516943 ], [ -122.057766531332, 37.3742220604378 ], [ -122.057797572967, 37.37420520725 ], [ -122.057828267759, 37.3741852342085 ], [ -122.058060299297, 37.3740060842535 ], [ -122.058199726081, 37.3737861673422 ], [ -122.05836707267, 37.373524542556 ], [ -122.058569622393, 37.3732018598683 ], [ -122.0587638478, 37.3728890198039 ], [ -122.058934661823, 37.3726036257774 ], [ -122.059164956851, 37.3722498383629 ], [ -122.058997784906, 37.3721804442035 ], [ -122.057936479838, 37.3717605636234 ], [ -122.057495827092, 37.3715860151634 ], [ -122.057112227103, 37.3714618008523 ] ] ] } } ], "landmarks": [ { "place": { "place": "places/ChIJXXTe7Oi2j4ARoMTA-D6Hjpg", "displayName": { "text": "Chase Bank", "languageCode": "en" }, "primaryType": "bank", "types": [ "bank", "atm", "finance", "point_of_interest", "establishment" ], "formattedAddress": "Chase Bank, 1234 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1234 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.373579, "longitude": -122.05752700000001 } }, "relationalDescription": { "text": "Near Chase Bank", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 61.182193756103516, "travelDistanceMeters": 63.075645446777344 }, { "place": { "place": "places/ChIJteQ0Fum2j4ARGi3tqK4Zm14", "displayName": { "text": "Safeway", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "butcher_shop", "florist", "deli", "supermarket", "bakery", "food_delivery", "market", "manufacturer", "food_store", "store", "food", "service", "point_of_interest", "establishment" ], "formattedAddress": "Safeway, 639 S Bernardo Ave, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "639 S Bernardo Ave" ] }, "structureType": "POINT", "location": { "latitude": 37.3727912, "longitude": -122.0581172 } }, "relationalDescription": { "text": "Around the corner from Safeway", "languageCode": "en" }, "tags": [ "ARRIVAL", "ADDRESS" ], "straightLineDistanceMeters": 158.65606689453125, "travelDistanceMeters": 131.1669921875 }, { "place": { "place": "places/ChIJu-PSYui2j4ARNiwOwBApGqk", "displayName": { "text": "Oil Changers", "languageCode": "en" }, "types": [ "car_repair", "service", "point_of_interest", "establishment" ], "formattedAddress": "Oil Changers, 1240 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1240 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3743054, "longitude": -122.0584272 } }, "relationalDescription": { "text": "Down the road from Oil Changers", "languageCode": "en" }, "tags": [ "ARRIVAL" ], "straightLineDistanceMeters": 140.52459716796875, "travelDistanceMeters": 143.24220275878906 }, { "place": { "place": "places/ChIJKRbl5oG3j4ARwuvPGUmtCj0", "displayName": { "text": "Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "primaryType": "grocery_store", "types": [ "grocery_store", "cake_shop", "supermarket", "asian_grocery_store", "indian_restaurant", "meal_takeaway", "bakery", "manufacturer", "wholesaler", "restaurant", "food_store", "store", "food", "point_of_interest", "establishment" ], "formattedAddress": "Apni Mandi Farmers Market Sunnyvale, 1111 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1056", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1111 W El Camino Real" ] }, "structureType": "POINT", "location": { "latitude": 37.3737199, "longitude": -122.0522958 } }, "relationalDescription": { "text": "Near Apni Mandi Farmers Market Sunnyvale", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 410.37435913085938, "travelDistanceMeters": 479.49893188476562 }, { "place": { "place": "places/ChIJ8enMlui2j4AR2xXK5EHDhBs", "displayName": { "text": "Starbird Chicken", "languageCode": "en" }, "primaryType": "chicken_restaurant", "types": [ "chicken_restaurant", "fast_food_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "Starbird Chicken, 1241 W El Camino Real, Sunnyvale, CA 94087, USA", "postalAddress": { "regionCode": "US", "languageCode": "en", "postalCode": "94087-1028", "administrativeArea": "CA", "locality": "Sunnyvale", "addressLines": [ "1241 W El Camino Real" ] }, "structureType": "BUILDING", "location": { "latitude": 37.3746764, "longitude": -122.05708860000001 }, "displayPolygon": { "coordinates": [ [ [ -122.057003840785, 37.3747648209809 ], [ -122.057136852459, 37.3747919153144 ], [ -122.057205005705, 37.3745815131859 ], [ -122.057071994114, 37.3745544186944 ], [ -122.057003840785, 37.3747648209809 ] ] ], "type": "Polygon" } }, "relationalDescription": { "text": "Near Starbird Chicken", "languageCode": "en" }, "tags": [ "ADDRESS" ], "straightLineDistanceMeters": 87.348007202148438, "travelDistanceMeters": 214.08084106445312 } ], "entrances": [ { "displayName": { "text": "South Bernardo Avenue", "languageCode": "en" }, "location": { "latitude": 37.3735328, "longitude": -122.05694879999999 }, "tags": [ "PREFERRED" ], "place": "places/ChIJY8sv5-i2j4AR_S6BlDDR42w" } ], "navigationPoints": [ { "navigationPointToken": "ChIJeMt61tqvQkARWT2716SDXsASEgljyy_n6LaPgBH9LoGUMNHjbBoSCWPLL-foto-AEf0ugZQw0eNsIhIJhf5y6ei2j4ARz7yBW5KAPI4", "location": { "latitude": 37.3738659, "longitude": -122.05693620000001 }, "travelModes": [ "DRIVE", "WALK" ], "usages": [ "PARKING" ] } ] } ] }
ज़रूरी पैरामीटर
- एपीआई अनुरोध में, इनमें से कोई एक पैरामीटर होना चाहिए. इससे मंज़िल खोजने के लिए, पते, जगह या जगह की जानकारी मिलती है:
addressQuery- वह पता जिसे खोजना है.place- जिस जगह को खोजना है उसका आईडी.locationQuery- जिस जगह को खोजना है उसके अक्षांश और देशांतर निर्देशांक.
FieldMask
रिस्पॉन्स फ़ील्ड मास्क बनाकर, रिस्पॉन्स में दिखाए जाने वाले फ़ील्ड की सूची तय करें. यूआरएल पैरामीटर
$fieldsयाfieldsका इस्तेमाल करके या एचटीटीपी हेडरX-Goog-FieldMaskका इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को तरीके में पास करें. उदाहरण के लिए, नीचे दिए गए अनुरोध से सिर्फ़ मुख्य डेस्टिनेशन के एंट्री पॉइंट, नेविगेशन पॉइंट, और जगह का आईडी दिखेगा.curl -X POST -d '{"place": "places/ChIJG3kh4hq6j4AR_XuFQnV0_t8"}' \ -H "X-Goog-Api-Key: API_KEY" \ -H "Content-Type: application/json" \ -H "X-Goog-FieldMask: destinations.entrances,destinations.navigationPoints,destinations.primary.place" \ https://geocode.googleapis.com/v4/geocode/destinationsजवाब में, दिखाए जाने वाले फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं होती. अगर फ़ील्ड मास्क को शामिल नहीं किया जाता है, तो यह तरीका गड़बड़ी दिखाता है. सभी फ़ील्ड वापस पाने के लिए, फ़ील्ड मास्क को
*पर सेट करें. ज़्यादा जानकारी के लिए, नतीजों में दिखाए जाने वाले फ़ील्ड चुनना लेख पढ़ें.
ज़रूरी नहीं पैरामीटर
-
travelModes
इससे पता चलता है कि किस तरह के
navigationPointsदिखाए जाएंगे. यात्रा के अन्य तरीकों के लिए, नेविगेशन पॉइंट फ़िल्टर कर दिए जाएंगे. अगरtravelModesको सेट नहीं किया जाता है, तो यात्रा के सभी मोड के लिए नेविगेशन पॉइंट दिखाए जा सकते हैं. languageCode
वह भाषा जिसमें नतीजे दिखाए जाएंगे.
- उपलब्ध भाषाओं की सूची देखें. Google, इस्तेमाल की जा सकने वाली भाषाओं की सूची को अक्सर अपडेट करता रहता है. इसलिए, हो सकता है कि इस सूची में सभी भाषाएं शामिल न हों.
-
अगर
languageCodeनहीं दिया जाता है, तो एपीआई डिफ़ॉल्ट रूप से जगह की स्थानीय भाषा और स्क्रिप्ट का इस्तेमाल करता है. अगर आपने अमान्य भाषा कोड डाला है, तो एपीआईINVALID_ARGUMENTगड़बड़ी का मैसेज दिखाता है. - एपीआई, मोहल्ले का ऐसा पता उपलब्ध कराने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग, दोनों पढ़ सकें. इस लक्ष्य को हासिल करने के लिए, यह स्थानीय भाषा में मोहल्ले के पते दिखाता है. साथ ही, अगर ज़रूरी हो, तो उपयोगकर्ता की पसंदीदा भाषा को ध्यान में रखते हुए, उसे ऐसी लिपि में ट्रांसलिट्रेट करता है जिसे उपयोगकर्ता पढ़ सके. अन्य सभी पते, आपकी पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट उसी भाषा में दिखाए जाते हैं जो पहले कॉम्पोनेंट के लिए चुनी गई है.
- अगर पसंदीदा भाषा में कोई नाम उपलब्ध नहीं है, तो एपीआई सबसे मिलते-जुलते नाम का इस्तेमाल करता है.
- पसंदीदा भाषा का असर, एपीआई से मिलने वाले नतीजों के सेट और उनके क्रम पर थोड़ा पड़ता है. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म का अलग-अलग मतलब निकालता है. जैसे, सड़क के टाइप के लिए इस्तेमाल किए जाने वाले शॉर्ट फ़ॉर्म या समानार्थी शब्द, जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
regionCode
देश/इलाके का कोड, दो वर्णों वाले CLDR कोड की वैल्यू के तौर पर. इसकी कोई डिफ़ॉल्ट वैल्यू नहीं होती. ज़्यादातर CLDR कोड, ISO 3166-1 कोड से मिलते-जुलते होते हैं.
किसी पते को जियोकोड करते समय, फ़ॉरवर्ड जियोकोडिंग, यह पैरामीटर सेवा से मिलने वाले नतीजों को तय किए गए इलाके तक सीमित कर सकता है. हालांकि, यह नतीजों को पूरी तरह से सीमित नहीं कर सकता. किसी जगह या जगह की जानकारी को जियोकोड करते समय, रिवर्स जियोकोडिंग या जगह की जानकारी की जियोकोडिंग के लिए, इस पैरामीटर का इस्तेमाल करके पते को फ़ॉर्मैट किया जा सकता है. सभी मामलों में, यह पैरामीटर लागू कानून के आधार पर नतीजों पर असर डाल सकता है.
-
placeFilter
इसकी मदद से,
locationQueryखोज के नतीजों को अपनी ज़रूरत के हिसाब से फ़िल्टर किया जा सकता है. जैसे, सिर्फ़ ऐसी जगहों के नतीजे दिखाना जो इमारतें हैं या सिर्फ़ ऐसी जगहों के नतीजे दिखाना जिनके पते साफ़ तौर पर दिए गए हैं.स्ट्रक्चरल ग्रैन्युलैरिटी के हिसाब से फ़िल्टर करना
structureTypeफ़िल्टर की मदद से, यह तय किया जा सकता है कि क्वेरी से किस तरह के स्ट्रक्चर दिखाए जाएं:- बिल्डिंग को अलग करना: मैप पर बिल्डिंग की आउटलाइन दिखाने या किसी खास स्ट्रक्चर की जानकारी पाने के लिए,
"structureType": "BUILDING"का इस्तेमाल करें. - कॉम्प्लेक्स को समझना:
"structureType": "GROUNDS"का इस्तेमाल करके, यह पक्का करें कि मुख्य नतीजा, पूरे ग्राउंड को दिखाता हो. यह सुविधा, यूनिवर्सिटी कैंपस या शॉपिंग मॉल जैसी बड़ी जगहों के बारे में क्वेरी करते समय काम आती है. - यूनिट/सेक्शन पर फ़ोकस करना: किसी इमारत के अंदर मौजूद सेक्शन की पहचान करने के लिए,
"structureType": "SECTION"का इस्तेमाल करें.
काम के पते उपलब्ध कराना
सभी जगहों के पते, मोहल्ले के लेवल पर साफ़ तौर पर नहीं दिए होते.
addressabilityफ़िल्टर की मदद से, नतीजों में दिखने वाले पतों की क्वालिटी को कंट्रोल किया जा सकता है:- मुख्य पते की साफ़ तौर पर जानकारी देना ज़रूरी है: यह पक्का करने के लिए कि मुख्य डेस्टिनेशन के नतीजे में हमेशा मोहल्ले के लेवल का पता या नाम शामिल हो,
"addressability": "PRIMARY"का इस्तेमाल करें. यह नेविगेशन या डिसप्ले के लिए मददगार होता है, जहां साफ़ तौर पर पता होना ज़रूरी है. - सब-डेस्टिनेशन में पते की अनुमति दें: ऐसे मामलों में जहां मुख्य जगह का पता न हो, लेकिन उसके अंदर मौजूद यूनिट का पता हो (जैसे, किसी इमारत में मौजूद अपार्टमेंट),
"addressability": "WEAK"यह पक्का करता है कि कम से कम मुख्य जगह या उसके किसी सब-डेस्टिनेशन का पता हो. - कोई भी नतीजा: अगर पते की मौजूदगी आपके इस्तेमाल के उदाहरण के लिए काम की नहीं है, तो
"addressability": "ANY"का इस्तेमाल करें. हमारा सुझाव है कि जब आपको सिर्फ़ ज्यामितीय एट्रिब्यूट की ज़रूरत हो, तब इस पैरामीटर का इस्तेमाल करें. जैसे, बिल्डिंग की आउटलाइन और नेविगेशन पॉइंट. इससे इन नतीजों की सटीक जानकारी मिलती है.
उदाहरण: पते वाली इमारतों के लिए फ़िल्टर करना
curl -X POST -d '{ "locationQuery": { "location": { "latitude": 37.37348780, "longitude": -122.05678064 }, "placeFilter": { "structureType": "BUILDING", "addressability": "PRIMARY" } }, "languageCode": "en" }' \\ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \\ -H "X-Goog-FieldMask: place" \\ https://geocode.googleapis.com/v4/geocode/destinations - बिल्डिंग को अलग करना: मैप पर बिल्डिंग की आउटलाइन दिखाने या किसी खास स्ट्रक्चर की जानकारी पाने के लिए,