आस-पास की जगहों की जानकारी (नया)

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

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

आस-पास की जगहों की जानकारी (नया) के लिए किए गए अनुरोध में, खोज के लिए तय किया गया इलाका इनपुट के तौर पर लिया जाता है. इसे एक सर्कल के तौर पर तय किया जाता है. सर्कल के बीच वाले पॉइंट के अक्षांश और देशांतर के कोऑर्डिनेट और मीटर में रेडियस से इसे तय किया जाता है. अनुरोध के जवाब में, खोज के लिए तय किए गए इलाके में मौजूद, मिलती-जुलती जगहों की सूची मिलती है. हर जगह को Place ऑब्जेक्ट से दिखाया जाता है.

डिफ़ॉल्ट रूप से, जवाब में खोज के लिए तय किए गए इलाके में मौजूद, सभी तरह की जगहों की जानकारी शामिल होती है. आपके पास यह विकल्प होता है कि जवाब को फ़िल्टर किया जाए. इसके लिए, जगहों के टाइप की सूची तय करें, ताकि उन्हें जवाब में साफ़ तौर पर शामिल या बाहर किया जा सके. उदाहरण के लिए, आपके पास यह तय करने का विकल्प है कि जवाब में सिर्फ़ "रेस्टोरेंट", "बेकरी", और "कैफ़े" टाइप की जगहें शामिल हों या "स्कूल" टाइप की सभी जगहों को बाहर रखा जाए.

आस-पास की जगहों की जानकारी (नया) के लिए किए गए अनुरोध

`PlacesClient.searchNearby` को कॉल करके, आस-पास की जगहों की जानकारी (नया) के लिए अनुरोध करें PlacesClient.searchNearby, इसके लिए, SearchNearbyRequest ऑब्जेक्ट पास करें. इसमें अनुरोध के पैरामीटर तय किए जाते हैं.

SearchNearbyRequest ऑब्जेक्ट में, अनुरोध के लिए ज़रूरी और ज़रूरी नहीं पैरामीटर तय किए जाते हैं. ज़रूरी पैरामीटर में ये शामिल हैं:

  • Place ऑब्जेक्ट में वापस लाने के लिए फ़ील्ड की सूची. इसे फ़ील्ड मास्क भी कहा जाता है. अगर फ़ील्ड की सूची में कम से कम एक फ़ील्ड तय नहीं किया जाता है या फ़ील्ड की सूची को छोड़ दिया जाता है, तो कॉल के जवाब में गड़बड़ी दिखती है.
  • खोज के लिए तय किए गए इलाके के लिए, जगह की जानकारी से जुड़ी पाबंदी. इसे अक्षांश/देशांतर के जोड़े और मीटर में रेडियस की वैल्यू के तौर पर तय किया जाता है.

आस-पास की जगहों की जानकारी के लिए किए गए इस अनुरोध में, यह तय किया गया है कि खोज के नतीजों में मौजूद हर Place ऑब्जेक्ट के लिए, जवाब में Place ऑब्जेक्ट में Place.Field.ID और Place.Field.DISPLAY_NAME फ़ील्ड शामिल हों. साथ ही, जवाब को फ़िल्टर करके, सिर्फ़ "रेस्टोरेंट" और "कैफ़े" टाइप की जगहों की जानकारी दिखाई जाती है. हालांकि, "pizza_restaurant" और "american_restaurant" टाइप की जगहों को बाहर रखा जाता है.

// Define a list of fields to include in the response for each returned place.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);

// Define the search area as a 1000 meter diameter circle in New York, NY.
LatLng center = new LatLng(40.7580, -73.9855);
CircularBounds circle = CircularBounds.newInstance(center, /* radius = */ 1000);

// Define a list of types to include.
final List<String> includedTypes = Arrays.asList("restaurant", "cafe");
// Define a list of types to exclude.
final List<String> excludedTypes = Arrays.asList("pizza_restaurant", "american_restaurant");

// Use the builder to create a SearchNearbyRequest object.
final SearchNearbyRequest searchNearbyRequest =
SearchNearbyRequest.builder(/* location restriction = */ circle, placeFields)
    .setIncludedTypes(includedTypes)
    .setExcludedTypes(excludedTypes)
    .setMaxResultCount(10)
    .build());

// Call placesClient.searchNearby() to perform the search.
// Define a response handler to process the returned List of Place objects.
placesClient.searchNearby(searchNearbyRequest)
    .addOnSuccessListener(response -> {
      List<Place> places = response.getPlaces();
    });

आस-पास की जगहों की जानकारी (नया) के लिए किए गए अनुरोध के जवाब

The SearchNearbyResponse क्लास, खोज के लिए किए गए अनुरोध के जवाब को दिखाती है. SearchNearbyResponse ऑब्जेक्ट में ये शामिल होते हैं:

  • Place ऑब्जेक्ट की सूची. इसमें, मिलती-जुलती सभी जगहों की जानकारी शामिल होती है. हर मिलती-जुलती जगह के लिए, एक Place ऑब्जेक्ट होता है.
  • हर Place ऑब्जेक्ट में, सिर्फ़ वे फ़ील्ड शामिल होते हैं जिन्हें अनुरोध में पास की गई फ़ील्ड की सूची में तय किया गया है.

उदाहरण के लिए, अनुरोध में आपने फ़ील्ड की सूची को इस तरह तय किया है:

// Define a list of fields to include in the response for each returned place.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.NAME);

फ़ील्ड की इस सूची का मतलब है कि जवाब में मौजूद हर Place ऑब्जेक्ट में, सिर्फ़ मिलती-जुलती हर जगह का जगह का आईडी और नाम शामिल है. इसके बाद, हर Place ऑब्जेक्ट में इन फ़ील्ड को ऐक्सेस करने के लिए, Place.getId() और Place.getName() तरीकों का इस्तेमाल किया जा सकता है.

Place ऑब्जेक्ट में डेटा को ऐक्सेस करने के अन्य उदाहरण देखने के लिए, Place ऑब्जेक्ट के डेटा फ़ील्ड को ऐक्2सेस करना लेख पढ़ें.

ज़रूरी पैरामीटर

खोज के लिए ज़रूरी पैरामीटर तय करने के लिए, SearchNearbyRequest ऑब्जेक्ट का इस्तेमाल करें.

  • फ़ील्ड की सूची

    जब आप Place Details का अनुरोध करते हैं, तो आपको फ़ील्ड मास्क के तौर पर, जगह के लिए Place ऑब्जेक्ट में वापस लाने के लिए डेटा तय करना होगा. फ़ील्ड मास्क तय करने के लिए, Place.Field से वैल्यू का कलेक्शन, SearchNearbyRequest ऑब्जेक्ट को पास करें. फ़ील्ड मास्क करना, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जाता है कि आपने ज़रूरत से ज़्यादा डेटा का अनुरोध न किया हो. इससे, ज़रूरत से ज़्यादा प्रोसेसिंग टाइम और बिलिंग शुल्क से बचने में मदद मिलती है.

    इनमें से एक या उससे ज़्यादा फ़ील्ड तय करें:

    • इन फ़ील्ड से, आस-पास की जगहों की जानकारी के लिए, Pro SKU ट्रिगर होता है:

      Place.Field.ADDRESS_COMPONENTS
      Place.Field.BUSINESS_STATUS
      Place.Field.ADDRESS
      Place.Field.DISPLAY_NAME >*
          * अब Place.Field.NAME का इस्तेमाल नहीं किया जाता है. इसके बजाय, इसका इस्तेमाल करें.
      Place.Field.ICON_BACKGROUND_COLOR
      Place.Field.ICON_MASK_URL*
          * अब Place.Field.ICON_URL का इस्तेमाल नहीं किया जाता है. इसके बजाय, इसका इस्तेमाल करें.
      Place.Field.ID
      Place.Field.LAT_LNG
      Place.Field.PHOTO_METADATAS
      Place.Field.PLUS_CODE
      Place.Field.PRIMARY_TYPE
      Place.Field.PRIMARY_TYPE_DISPLAY_NAME
      Place.Field.RESOURCE_NAME
      Place.Field.TYPES
      Place.Field.UTC_OFFSET
      Place.Field.VIEWPORT
      Place.Field.WHEELCHAIR_ACCESSIBLE_ENTRANCE

      फ़ील्ड और उनसे जुड़े SKU की पूरी सूची देखने के लिए, जगह के लिए डेटा फ़ील्ड (नया) देखें.

    • इन फ़ील्ड से, आस-पास की जगहों की जानकारी के लिए, Enterprise SKU ट्रिगर होता है:

      Place.Field.CURRENT_OPENING_HOURS
      Place.Field.CURRENT_SECONDARY_OPENING_HOURS
      Place.Field.INTERNATIONAL_PHONE_NUMBER*
          * अब Place.Field.PHONE_NUMBER का इस्तेमाल नहीं किया जाता है. इसके बजाय, इसका इस्तेमाल करें.
      Place.Field.NATIONAL_PHONE_NUMBER
      Place.Field.OPENING_HOURS
      Place.Field.PRICE_LEVEL
      Place.Field.RATING
      Place.Field.SECONDARY_OPENING_HOURS
      Place.Field.USER_RATING_COUNT*
          * अब Place.Field.USER_RATINGS_TOTAL का इस्तेमाल नहीं किया जाता है. इसके बजाय, इसका इस्तेमाल करें.
      Place.Field.WEBSITE_URI

      फ़ील्ड और उनसे जुड़े SKU की पूरी सूची देखने के लिए, जगह के लिए डेटा फ़ील्ड (नया) देखें.

    • इन फ़ील्ड से, आस-पास की जगहों की जानकारी के लिए Enterprise Plus SKU ट्रिगर होता है:

      Place.Field.ALLOWS_DOGS
      Place.Field.CURBSIDE_PICKUP
      Place.Field.DELIVERY
      Place.Field.DINE_IN
      Place.Field.EDITORIAL_SUMMARY
      Place.Field.EV_CHARGE_OPTIONS
      Place.Field.FUEL_OPTIONS
      Place.Field.GOOD_FOR_CHILDREN
      Place.Field.GOOD_FOR_GROUPS
      Place.Field.GOOD_FOR_WATCHING_SPORTS
      Place.Field.LIVE_MUSIC
      Place.Field.MENU_FOR_CHILDREN
      Place.Field.OUTDOOR_SEATING
      Place.Field.PARKING_OPTIONS
      Place.Field.PAYMENT_OPTIONS
      Place.Field.RESERVABLE
      Place.Field.RESTROOM
      Place.Field.REVIEWS
      Place.Field.SERVES_BEER
      Place.Field.SERVES_BREAKFAST
      Place.Field.SERVES_BRUNCH
      Place.Field.SERVES_COCKTAILS
      Place.Field.SERVES_COFFEE
      Place.Field.SERVES_DESSERT
      Place.Field.SERVES_DINNER
      Place.Field.SERVES_LUNCH
      Place.Field.SERVES_VEGETARIAN_FOOD
      Place.Field.SERVES_WINE
      Place.Field.TAKEOUT

      फ़ील्ड और उनसे जुड़े SKU की पूरी सूची देखने के लिए, जगह के लिए डेटा फ़ील्ड (नया) देखें.

    फ़ील्ड की सूची वाला पैरामीटर सेट करने के लिए, setPlaceFields() तरीके को SearchNearbyRequest ऑब्जेक्ट बनाते समय कॉल करें.

    यहां दिए गए उदाहरण में, दो फ़ील्ड वैल्यू की सूची तय की गई है. इससे यह तय होता है कि अनुरोध के जवाब में मिलने वाले Place ऑब्जेक्ट में, Place.Field.ID और Place.Field.DISPLAY_NAME फ़ील्ड शामिल हों:

// Define a list of fields to include in the response for each returned place.
final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);
  • जगह की जानकारी से जुड़ी पाबंदी

    A LocationRestriction ऑब्जेक्ट, खोज के लिए तय किए गए इलाके को दिखाता है. इसे एक सर्कल के तौर पर तय किया जाता है. सर्कल के बीच वाले पॉइंट और मीटर में रेडियस से इसे तय किया जाता है. रेडियस की वैल्यू, 0.0 से ज़्यादा और 50000.0 से कम या इसके बराबर होनी चाहिए. ध्यान रखें कि बहुत छोटा रेडियस तय करने पर, जवाब के तौर पर ZERO_RESULTS मिलेगा.

    जगह की जानकारी से जुड़ी पाबंदी वाला पैरामीटर सेट करने के लिए, setLocationRestriction() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बनाया जा रहा हो.

ज़रूरी नहीं पैरामीटर

खोज के लिए ज़रूरी नहीं पैरामीटर तय करने के लिए, SearchNearbyRequest ऑब्जेक्ट का इस्तेमाल करें.

  • टाइप और प्राइमरी टाइप

    इससे, टाइप की टेबल A से टाइप की सूची तय की जा सकती है. इसका इस्तेमाल, खोज के नतीजों को फ़िल्टर करने के लिए किया जाता है. टाइप से जुड़ी पाबंदी की हर कैटगरी में, ज़्यादा से ज़्यादा 50 टाइप तय किए जा सकते हैं.

    किसी जगह से, टाइप की टेबल A में मौजूद सिर्फ़ एक प्राइमरी टाइप जोड़ा जा सकता है. उदाहरण के लिए, प्राइमरी टाइप "mexican_restaurant" या "steak_house" हो सकता है. किसी जगह के प्राइमरी टाइप के आधार पर नतीजों को फ़िल्टर करने के लिए, includedPrimaryTypes और excludedPrimaryTypes का इस्तेमाल करें.

    किसी जगह से, टाइप की टेबल A में मौजूद एक से ज़्यादा टाइप वैल्यू भी जोड़ी जा सकती हैं. उदाहरण के लिए, किसी रेस्टोरेंट के ये टाइप हो सकते हैं: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". किसी जगह से जुड़े टाइप की सूची के आधार पर नतीजों को फ़िल्टर करने के लिए, includedTypes और excludedTypes का इस्तेमाल करें.

    जब कोई सामान्य प्राइमरी टाइप तय किया जाता है, जैसे कि "restaurant" या "hotel", तो जवाब में ऐसी जगहें शामिल हो सकती हैं जिनका प्राइमरी टाइप, तय किए गए प्राइमरी टाइप से ज़्यादा खास हो. उदाहरण के लिए, आपने प्राइमरी टाइप "restaurant" शामिल करने के लिए तय किया है. इसके बाद, जवाब में "restaurant" के प्राइमरी टाइप वाली जगहें शामिल हो सकती हैं. हालांकि, जवाब में "chinese_restaurant" या "seafood_restaurant" जैसे ज़्यादा खास प्राइमरी टाइप वाली जगहें भी शामिल हो सकती हैं.

    अगर खोज के लिए, टाइप से जुड़ी एक से ज़्यादा पाबंदियां तय की जाती हैं, तो सिर्फ़ वे जगहें दिखाई जाती हैं जो सभी पाबंदियों को पूरा करती हैं. उदाहरण के लिए, अगर आपने includedTypes = Arrays.asList("restaurant") और excludedPrimaryTypes = Arrays.asList("steak_house") तय किया है, तो जवाब में दिखाई गई जगहों पर "restaurant" से जुड़ी सेवाएं मिलती हैं. हालांकि, ये जगहें मुख्य तौर पर "steak_house" के तौर पर काम नहीं करती हैं.

    includedTypes और excludedTypes का इस्तेमाल करने का तरीका जानने के लिए, आस-पास की जगहों की जानकारी (नया) के लिए किए गए अनुरोध लेख पढ़ें.

    शामिल किए गए टाइप

    खोज के लिए, टेबल A में मौजूद जगहों के टाइप की सूची. अगर इस पैरामीटर को छोड़ दिया जाता है, तो सभी टाइप की जगहों की जानकारी मिलती है.

    शामिल किए गए टाइप वाला पैरामीटर सेट करने के लिए, setIncludedTypes() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बना रहे हों.

    बाहर रखे गए टाइप

    खोज से बाहर रखने के लिए, टेबल A में मौजूद जगहों के टाइप की सूची.

    अगर अनुरोध में includedTypes (जैसे, "school") और excludedTypes (जैसे, "primary_school") दोनों तय किए जाते हैं, तो जवाब में वे जगहें शामिल होती हैं जिन्हें "school" के तौर पर कैटगरी में रखा गया है, लेकिन "primary_school" के तौर पर नहीं. जवाब में वे जगहें शामिल होती हैं जो कम से कम एक includedTypes से मैच करती हैं और किसी भी excludedTypes से मैच नहीं करती हैं.

    अगर कोई टाइप, includedTypes और excludedTypes दोनों में दिखता है, तो INVALID_REQUEST गड़बड़ी दिखती है.

    बाहर रखे गए टाइप वाला पैरामीटर सेट करने के लिए, setExcludedTypes() तरीके को SearchNearbyRequest ऑब्जेक्ट बनाते समय कॉल करें.

    शामिल किए गए प्राइमरी टाइप

    खोज में शामिल करने के लिए, टेबल A में मौजूद प्राइमरी टाइप की सूची.

    शामिल किए गए प्राइमरी टाइप वाला पैरामीटर सेट करने के लिए, setIncludedPrimaryTypes() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बनाया जा रहा हो.

    बाहर रखे गए प्राइमरी टाइप

    खोज से बाहर रखने के लिए, टेबल A में मौजूद प्राइमरी टाइप की सूची.

    अगर कोई प्राइमरी टाइप, includedPrimaryTypes और excludedPrimaryTypes दोनों में दिखता है, तो INVALID_ARGUMENT गड़बड़ी दिखती है.

    बाहर रखे गए प्राइमरी टाइप वाला पैरामीटर सेट करने के लिए, setExcludedPrimaryTypes() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बनाया जा रहा हो.

  • नतीजों की ज़्यादा से ज़्यादा संख्या

    इससे, जगहों के नतीजों की ज़्यादा से ज़्यादा संख्या तय की जाती है. यह संख्या, 1 से 20 (डिफ़ॉल्ट) के बीच होनी चाहिए.

    नतीजों की ज़्यादा से ज़्यादा संख्या वाला पैरामीटर सेट करने के लिए, setMaxResultCount() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बनाया जा रहा हो.

  • रैंक की प्राथमिकता

    रैंक करने के लिए इस्तेमाल किया जाने वाला टाइप. अगर इस पैरामीटर को छोड़ दिया जाता है, तो नतीजों को लोकप्रियता के हिसाब से रैंक किया जाता है. यह इनमें से कोई एक हो सकता है:

    • POPULARITY (डिफ़ॉल्ट) नतीजों को उनकी लोकप्रियता के हिसाब से क्रम में लगाता है.
    • DISTANCE नतीजों को तय की गई जगह से उनकी दूरी के हिसाब से बढ़ते क्रम में लगाता है.

    रैंक की प्राथमिकता वाला पैरामीटर सेट करने के लिए, setRankPreference() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बना रहे हों.

  • क्षेत्र कोड

    जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया गया क्षेत्र कोड. इसे दो वर्णों वाली CLDR कोड वैल्यू के तौर पर तय किया जाता है. इसकी कोई डिफ़ॉल्ट वैल्यू नहीं होती.

    अगर जवाब में मौजूद FORMATTED_ADDRESS फ़ील्ड में देश का नाम, regionCode से मैच करता है, तो FORMATTED_ADDRESS से देश का कोड हटा दिया जाता है.

    ज़्यादातर CLDR कोड, ISO 3166-1 कोड के जैसे ही होते हैं. हालांकि, कुछ अपवाद भी हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD है "uk" (.co.uk) जबकि इसका ISO 3166-1 कोड "gb" है (तकनीकी तौर पर "ग्रेट ब्रिटेन और नॉर्दर्न आयरलैंड के यूनाइटेड किंगडम" की इकाई के लिए). लागू होने वाले कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है.

    क्षेत्र कोड वाला पैरामीटर सेट करने के लिए, setRegionCode() तरीके को कॉल करें जब SearchNearbyRequest ऑब्जेक्ट बना रहे हों.

अपने ऐप्लिकेशन में एट्रिब्यूशन दिखाना

जब आपका ऐप्लिकेशन, PlacesClientसे मिली जानकारी दिखाता है, जैसे कि फ़ोटो और समीक्षाएं, तो ऐप्लिकेशन को ज़रूरी एट्रिब्यूशन भी दिखाने होंगे.

ज़्यादा जानकारी के लिए, Android के लिए Places SDK की नीतियां देखें.