Nearby खोज (नया)

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

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

एपीआई एक्सप्लोरर की मदद से लाइव अनुरोध किए जा सकते हैं, ताकि आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिल सके:

इसे आज़माएं!

मैप पर 'आस-पास खोज' (नया) के नतीजे देखने के लिए इंटरैक्टिव डेमो आज़माएं.

आस-पास की खोज (नए) अनुरोध

आस-पास खोजने की सुविधा (नया) से जुड़ा अनुरोध, एक ऐसा एचटीटीपी पोस्ट अनुरोध होता है जो फ़ॉर्म में मौजूद यूआरएल के लिए किया जाता है:

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.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, places.subDestinations फ़ील्ड का नाम:{/1: places.shortFormattedAddress, places.subDestinations, {20,3/3/22} में places.types, }places.nameplaces.utcOffsetMinutesplaces.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.deliveryplaces.servesBrunchplaces.servesCocktailsplaces.servesCoffeeplaces.servesDessertsplaces.servesDinnerplaces.servesLunchplaces.servesVegetarianFoodplaces.servesWineplaces.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

इसे आज़माएं!

एपीआई एक्सप्लोरर से आपको सैंपल के तौर पर अनुरोध करने की सुविधा मिलती है. इससे आपको एपीआई और एपीआई के विकल्पों के बारे में जानकारी मिलती है.

  1. पेज के दाईं ओर मौजूद, एपीआई आइकॉन एपीआई एक्सप्लोरर को बड़ा करें. को चुनें.
  2. विकल्प के तौर पर, स्टैंडर्ड पैरामीटर दिखाएं को बड़ा करें और fields पैरामीटर को फ़ील्ड मास्क पर सेट करें.
  3. विकल्प के तौर पर, अनुरोध के मुख्य हिस्से में बदलाव करें.
  4. लागू करें बटन चुनें. पॉप-अप में, वह खाता चुनें जिसका इस्तेमाल करके आपको अनुरोध करना है.
  5. एपीआई एक्सप्लोरर पैनल में, एपीआई एक्सप्लोरर विंडो को बड़ा करने के लिए, 'बड़ा करें' आइकॉन एपीआई एक्सप्लोरर को बड़ा करें. चुनें.