आस-पास खोज (नया) का अनुरोध एक या एक से ज़्यादा तरह की जगहों को लेता है. इसमें, बताई गई जगह में मिलती-जुलती जगहों की सूची दिखाती है. एक या उससे ज़्यादा डेटा टाइप के बारे में बताने वाला फ़ील्ड मास्क डालना ज़रूरी है. आस-पास की खोज (नया) सिर्फ़ पोस्ट अनुरोधों के साथ काम करती है.
एपीआई एक्सप्लोरर की मदद से लाइव अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके:
इसे आज़माएं!मैप पर 'आस-पास खोज' (नया) के नतीजे देखने के लिए इंटरैक्टिव डेमो आज़माएं.
आस-पास की खोज (नए) अनुरोध
आस-पास खोजने की सुविधा (नया) से जुड़ा अनुरोध, एक ऐसा एचटीटीपी पोस्ट अनुरोध होता है जो फ़ॉर्म में मौजूद यूआरएल के लिए किया जाता है:
https://places.googleapis.com/v1/places:searchNearby
सभी पैरामीटर को JSON अनुरोध के मुख्य हिस्से या हेडर में, पोस्ट अनुरोध के हिस्से के तौर पर पास करें. उदाहरण के लिए:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
आस-पास की खोज (नए) से मिले जवाब
Nearby Search (नया) रिस्पॉन्स के तौर पर JSON ऑब्जेक्ट दिखाता है. जवाब में:
places
कलेक्शन में, मिलती-जुलती सभी जगहें शामिल हैं.- कलेक्शन में मौजूद हर जगह को
Place
ऑब्जेक्ट से दिखाया जाता है.Place
ऑब्जेक्ट में एक ही जगह के बारे में पूरी जानकारी होती है. - अनुरोध में पास किया गया FieldMask,
Place
ऑब्जेक्ट में दिखाए गए फ़ील्ड की सूची के बारे में बताता है.
JSON ऑब्जेक्ट इस फ़ॉर्मैट में है:
{ "places": [ { object (Place) } ] }
ज़रूरी पैरामीटर
-
FieldMask
रिस्पॉन्स फ़ील्ड मास्क बनाकर, रिस्पॉन्स में दिखाए जाने वाले फ़ील्ड की सूची तय करें. यूआरएल पैरामीटर
$fields
याfields
या एचटीटीपी हेडरX-Goog-FieldMask
का इस्तेमाल करके, रिस्पॉन्स फ़ील्ड मास्क को तरीके से पास करें. जवाब में दिखाए गए फ़ील्ड की कोई डिफ़ॉल्ट सूची नहीं है. अगर फ़ील्ड मास्क को छोड़ दिया जाता है, तो यह तरीका गड़बड़ी दिखाता है.फ़ील्ड को मास्क करना, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जाता है कि ग़ैर-ज़रूरी डेटा का अनुरोध न किया जाए. इससे, प्रोसेसिंग में लगने वाले ग़ैर-ज़रूरी समय और बिलिंग शुल्क से बचने में मदद मिलती है.
दिखाए जाने वाले स्थान डेटा प्रकारों की 'कॉमा-सेपरेटेड लिस्ट' तय करें. उदाहरण के लिए, डिसप्ले नेम और जगह का पता फिर से पाने के लिए.
X-Goog-FieldMask: places.displayName,places.formattedAddress
सभी फ़ील्ड फिर से पाने के लिए
*
का इस्तेमाल करें.X-Goog-FieldMask: *
इनमें से एक या ज़्यादा फ़ील्ड चुनें:
नीचे दिए गए फ़ील्ड आस-पास खोज (बेसिक) SKU को ट्रिगर करते हैं:
places.accessibilityOptions
,places.addressComponents
,places.adrFormatAddress
,places.attributions
,places.businessStatus
,places.displayName
,places.formattedAddress
,places.googleMapsUri
,places.iconBackgroundColor
,places.iconMaskBaseUri
,places.id
,places.location
,places.name
*,places.photos
,places.plusCode
,places.primaryType
,places.primaryTypeDisplayName
,places.shortFormattedAddress
फ़ील्ड, {20, में शामिलplaces.addressComponents
फ़ील्ड, {20,places.adrFormatAddress
places.name
places.subDestinations
places.types
places.utcOffsetMinutes
places.viewport
places/PLACE_ID
किसी जगह के टेक्स्ट के नाम को ऐक्सेस करने के लिए,places.displayName
का इस्तेमाल करें.नीचे दिए गए फ़ील्ड आस-पास की खोज (बेहतर) SKU को ट्रिगर करते हैं:
places.currentOpeningHours
,places.currentSecondaryOpeningHours
,places.internationalPhoneNumber
,places.nationalPhoneNumber
,places.priceLevel
,places.rating
,places.regularOpeningHours
,places.regularSecondaryOpeningHours
,places.userRatingCount
,places.websiteUri
नीचे दिए गए फ़ील्ड आस-पास की खोज (पसंदीदा) SKU को ट्रिगर करते हैं:
places.allowsDogs
,places.curbsidePickup
,places.delivery
,places.dineIn
,places.editorialSummary
,places.evChargeOptions
,places.fuelOptions
,places.goodForChildren
,places.goodForGroups
,places.goodForWatchingSports
,places.liveMusic
,places.menuForChildren
,places.parkingOptions
,places.paymentOptions
,places.outdoorSeating
,places.reservable
,places.restroom
,places.reviews
,places.servesBeer
,places.servesBreakfast
, {2,/},places.delivery
places.servesBrunch
places.servesCocktails
places.servesCoffee
places.servesDessert
places.servesDinner
places.servesLunch
places.servesVegetarianFood
places.servesWine
places.takeout
-
locationRestriction
खोजा जाने वाला क्षेत्र, सर्कल के रूप में दर्ज किया जाता है, जिसे केंद्र बिंदु और मीटर में त्रिज्या से परिभाषित किया जाता है. दायरा 0.0 से 50, 000.0 के बीच होना चाहिए. डिफ़ॉल्ट दायरा 0.0 है. आपको इसे अपने अनुरोध में 0.0 से ज़्यादा पर सेट करना होगा.
उदाहरण के लिए:
"locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 500.0 } }
ज़रूरी नहीं पैरामीटर
-
शामिल किए गए टाइप/excludedTypes, includePrimaryTypes/excludedPrimaryTypes
इसकी मदद से, खोज के नतीजों को फ़िल्टर करने के लिए इस्तेमाल किए गए टेबल A के टाइप से एक सूची बनाई जा सकती है. टाइप पर लगी पाबंदी की हर कैटगरी में, ज़्यादा से ज़्यादा 50 तरह के कीवर्ड डाले जा सकते हैं.
किसी जगह से जुड़े टेबल A टाइप में से, सिर्फ़ एक एक प्राइमरी टाइप हो सकता है. उदाहरण के लिए, प्राइमरी टाइप
"mexican_restaurant"
या"steak_house"
हो सकता है. किसी जगह के प्राइमरी टाइप के हिसाब से नतीजों को फ़िल्टर करने के लिए,includedPrimaryTypes
औरexcludedPrimaryTypes
का इस्तेमाल करें.किसी जगह से जुड़े टेबल A टाइप से कई तरह की वैल्यू भी हो सकती हैं. उदाहरण के लिए, कोई रेस्टोरेंट इस तरह का हो सकता है:
"seafood_restaurant"
,"restaurant"
,"food"
,"point_of_interest"
,"establishment"
. किसी जगह से जुड़े टाइप की सूची के नतीजों को फ़िल्टर करने के लिए,includedTypes
औरexcludedTypes
का इस्तेमाल करें.अगर कोई खोज कई तरह की पाबंदियों के साथ की गई है, तो सिर्फ़ वे जगहें दिखाई जाती हैं जो सभी पाबंदियों को पूरा करती हैं. उदाहरण के लिए, अगर
{"includedTypes": ["restaurant"], "excludedPrimaryTypes": ["steak_house"]}
की जानकारी दी जाती है, तो लौटाए गए जगहें"restaurant"
से जुड़ी सेवाएं देती हैं. हालांकि, ये मुख्य तौर पर"steak_house"
के तौर पर काम नहीं करती हैं.includedTypes
खोजने के लिए, टेबल A से जगहों के टाइप की कॉमा लगाकर अलग की गई सूची. अगर इस पैरामीटर को शामिल नहीं किया जाता है, तो सभी तरह की जगहों की जानकारी दिखाई जाती है.
excludedTypes
खोज में शामिल न करने के लिए, टेबल A से जगहों के टाइप की कॉमा-सेपरेटेड लिस्ट.
अगर अनुरोध में
includedTypes
( जैसे कि"school"
) औरexcludedTypes
(जैसे कि"primary_school"
) की जानकारी दी जाती है, तो जवाब में ऐसी जगहें शामिल होती हैं जिन्हें"school"
की कैटगरी में रखा गया है, लेकिन"primary_school"
की कैटगरी में नहीं. रिस्पॉन्स में ऐसी जगहें शामिल होती हैं जोincludedTypes
में से कम से कम एक औरexcludedTypes
में से कोई नहीं से मेल खाती हैं.अगर कोई टाइप एक-दूसरे से अलग होता है, जैसे कि
includedTypes
औरexcludedTypes
, दोनों में कोई टाइप दिख रहा है, तोINVALID_REQUEST
गड़बड़ी दिखती है.includedPrimaryTypes
खोज में शामिल करने के लिए, टेबल A से मुख्य जगहों के टाइप की कॉमा लगाकर अलग की गई सूची.
excludedPrimaryTypes
खोज में शामिल न करने के लिए, टेबल A से मुख्य जगहों के टाइप की कॉमा लगाकर अलग की गई सूची.
अगर कोई मुख्य टाइप एक-दूसरे से अलग है, जैसे कि
includedPrimaryTypes
औरexcludedPrimaryTypes
, दोनों में कोई टाइप दिख रहा है, तोINVALID_ARGUMENT
गड़बड़ी दिखती है. -
languageCode
वह भाषा जिसमें नतीजे देने हैं.
- इस्तेमाल की जा सकने वाली भाषाओं की सूची देखें. Google अक्सर इस्तेमाल की जा सकने वाली भाषाओं को अपडेट करता है. इसलिए, हो सकता है कि यह सूची पूरी न हो.
- अगर
languageCode
नहीं दिया जाता है, तो एपीआई डिफ़ॉल्ट रूप सेen
पर सेट होता है. अगर किसी अमान्य भाषा का कोड डाला जाता है, तो एपीआईINVALID_ARGUMENT
गड़बड़ी दिखाता है. - एपीआई, मोहल्ले का ऐसा पता देने की पूरी कोशिश करता है जिसे उपयोगकर्ता और स्थानीय लोग आसानी से पढ़ सकें. इस लक्ष्य को पाने के लिए, यह स्थानीय भाषा में मोहल्लों के पते दिखाता है. साथ ही, ज़रूरत पड़ने पर उपयोगकर्ता की पढ़ने लायक स्क्रिप्ट में ट्रांसलिट्रेट किया जाता है. साथ ही, पसंदीदा भाषा को ध्यान में रखता है. अन्य सभी पते पसंदीदा भाषा में दिखाए जाते हैं. पते के सभी कॉम्पोनेंट उसी भाषा में दिखाए जाते हैं जिसे पहले कॉम्पोनेंट से चुना जाता है.
- अगर कोई नाम पसंदीदा भाषा में उपलब्ध नहीं है, तो एपीआई सबसे नज़दीकी मिलान का इस्तेमाल करता है.
- पसंदीदा भाषा का थोड़ा असर, नतीजों के उस सेट पर होता है जिसे एपीआई चुनता है. साथ ही, यह भी कि वे किस क्रम में दिखती हैं. जियोकोडर, भाषा के हिसाब से शॉर्ट फ़ॉर्म को अलग-अलग तरीके से समझता है. जैसे, सड़कों के लिए छोटे रूप या समानार्थी शब्द, जो एक भाषा में मान्य हो सकते हैं, लेकिन दूसरी भाषा में नहीं.
-
maxResultCount
इससे पता चलता है कि जगह के बारे में ज़्यादा से ज़्यादा कितने नतीजे दिए जा सकते हैं. यह 1 से 20 (डिफ़ॉल्ट) के बीच होना चाहिए.
-
rankPreference
इस्तेमाल करने के लिए रैंकिंग का टाइप. अगर यह पैरामीटर शामिल नहीं किया जाता है, तो नतीजों की रैंकिंग लोकप्रियता के हिसाब से की जाती है. इनमें से कोई एक स्थिति हो सकती है:
POPULARITY
(डिफ़ॉल्ट) नतीजों को उनकी लोकप्रियता के हिसाब से क्रम में लगाता है.DISTANCE
बताई गई जगह से दूरी के हिसाब से, नतीजों को बढ़ते क्रम में क्रम से लगाता है.
-
regionCode
जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया जाने वाला क्षेत्रीय कोड. इसे दो वर्णों वाले CLDR कोड की वैल्यू के तौर पर बताया जाता है. कोई डिफ़ॉल्ट मान नहीं है.
अगर जवाब में दिए गए
formattedAddress
फ़ील्ड का देश का नाम,regionCode
से मेल खाता है, तो देश का कोडformattedAddress
में शामिल नहीं किया जाता. इस पैरामीटर काadrFormatAddress
पर कोई असर नहीं होता, जिसमें देश का नाम हमेशा शामिल होता है याshortFormattedAddress
, जिसमें यह कभी शामिल नहीं होता.ज़्यादातर CLDR कोड, ISO 3166-1 कोड के समान होते हैं. हालांकि, इसमें कुछ खास अपवाद भी हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन और नॉर्दन आयरलैंड की इकाई के लिए इसका इस्तेमाल किया जा सकता है. पैरामीटर, लागू कानून के आधार पर नतीजों पर असर डाल सकता है.
आस-पास की खोज (नए) के उदाहरण
एक तरह की जगहें ढूंढें
नीचे दिए गए उदाहरण में, circle
के तय किए गए 500 मीटर के दायरे में मौजूद सभी रेस्टोरेंट के डिसप्ले नेम के लिए, आस-पास खोजने की सुविधा (नया) का अनुरोध दिखाया गया है:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
ध्यान दें कि X-Goog-FieldMask
हेडर से पता चलता है कि रिस्पॉन्स में ये डेटा फ़ील्ड शामिल होते हैं: places.displayName
.
इसके बाद, जवाब इस फ़ॉर्मैट में होगा:
{ "places": [ { "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, { "displayName": { "text": "Harborview Restaurant & Bar", "languageCode": "en" } }, ... }
ज़्यादा जानकारी दिखाने के लिए, फ़ील्ड मास्क में ज़्यादा डेटा टाइप जोड़ें.
उदाहरण के लिए, रिस्पॉन्स में रेस्टोरेंट का पता, किस तरह का है, और वेब पता शामिल करने के लिए places.formattedAddress,places.types,places.websiteUri
जोड़ें:
curl -X POST -d '{ "includedTypes": ["restaurant"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965}, "radius": 500.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.formattedAddress,places.types,places.websiteUri" \ https://places.googleapis.com/v1/places:searchNearby
इसका जवाब अब इस फ़ॉर्मैट में है:
{ "places": [ { "types": [ "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "PIER 1 1/2 The Embarcadero N, San Francisco, CA 94105, USA", "websiteUri": "http://lamarsf.com/", "displayName": { "text": "La Mar Cocina Peruana", "languageCode": "en" } }, { "types": [ "greek_restaurant", "meal_takeaway", "restaurant", "food", "point_of_interest", "establishment" ], "formattedAddress": "200 Jackson St, San Francisco, CA 94111, USA", "websiteUri": "https://kokkari.com/", "displayName": { "text": "Kokkari Estiatorio", "languageCode": "en" } }, ... }
अलग-अलग तरह की जगहों को ढूंढना
नीचे दिए गए उदाहरण में, आस-पास खोजने की सुविधा (नया) से जुड़ा अनुरोध दिखाया गया है. इसमें circle
के 1,000 मीटर के दायरे में मौजूद सभी शॉपिंग स्टोर और शराब की दुकानों के डिसप्ले नेम दिखाए गए हैं:
curl -X POST -d '{ "includedTypes": ["liquor_store", "convenience_store"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName,places.primaryType,places.types" \ https://places.googleapis.com/v1/places:searchNearbyइस उदाहरण में फ़ील्ड मास्क में
places.primaryType
और places.types
जोड़े गए हैं, ताकि जवाब में हर जगह के टाइप की जानकारी शामिल की जा सके. इससे, नतीजों में से सही जगह चुनना आसान हो जाता है.
खोज में किसी स्थान प्रकार को शामिल न करें
नीचे दिए गए उदाहरण में, "school"
टाइप की सभी जगहों के लिए आस-पास की खोज (नया) का अनुरोध दिखाया गया है. इसमें "primary_school"
टाइप की सभी जगहें शामिल नहीं हैं. इसमें दूरी के हिसाब से नतीजों को रैंक किया जाता है:
curl -X POST -d '{ "includedTypes": ["school"], "excludedTypes": ["primary_school"], "maxResultCount": 10, "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } }, "rankPreference": "DISTANCE" }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
किसी इलाके के आस-पास की सभी जगहें खोजें. इसके लिए, दूरी के हिसाब से उनकी रैंकिंग करें
नीचे दिया गया उदाहरण सैन फ़्रांसिस्को के किसी इलाके के आस-पास की जगहों के लिए, आस-पास खोजने की सुविधा (नया) का अनुरोध दिखाता है. इस उदाहरण में, दूरी के आधार पर नतीजों की रैंकिंग करने के लिए, rankPreference
पैरामीटर शामिल किया गया है:
curl -X POST -d '{ "maxResultCount": 10, "rankPreference": "DISTANCE", "locationRestriction": { "circle": { "center": { "latitude": 37.7937, "longitude": -122.3965 }, "radius": 1000.0 } } }' \ -H 'Content-Type: application/json' -H "X-Goog-Api-Key: API_KEY" \ -H "X-Goog-FieldMask: places.displayName" \ https://places.googleapis.com/v1/places:searchNearby
इसे आज़माएं!
एपीआई एक्सप्लोरर से आपको सैंपल के तौर पर अनुरोध करने की सुविधा मिलती है. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है.
- पेज के दाईं ओर मौजूद, एपीआई आइकॉन को चुनें.
- विकल्प के तौर पर, स्टैंडर्ड पैरामीटर दिखाएं को बड़ा करें और
fields
पैरामीटर को फ़ील्ड मास्क पर सेट करें. - विकल्प के तौर पर, अनुरोध के मुख्य हिस्से में बदलाव करें.
- लागू करें बटन चुनें. पॉप-अप में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, 'बड़ा करें' आइकॉन चुनें.