Nearby खोज (नया)

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

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

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

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

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

SearchNearbyRequest ऑब्जेक्ट में, सभी ज़रूरी और वैकल्पिक वैल्यू के बारे में बताया गया है पैरामीटर का इस्तेमाल करें. ज़रूरी पैरामीटर में ये शामिल हैं:

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

आस-पास के खोज अनुरोध के इस उदाहरण में बताया गया है कि रिस्पॉन्स Place ऑब्जेक्ट इसमें हर एक के लिए, Place.Field.ID और Place.Field.NAME स्थान फ़ील्ड हैं खोज के नतीजों में Place ऑब्जेक्ट है. यह प्रतिक्रिया को केवल इस पर भी फ़िल्टर करता है: "रेस्टोरेंट" टाइप के स्थान दिखाएं और "कैफ़े" हों, लेकिन टाइप के स्थान शामिल न करें "पिज़्ज़ा_रेस्टोरेंट" और "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.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();
    });
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है

आस-पास की खोज (नए) से मिले जवाब

कॉन्टेंट बनाने 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.getId() का इस्तेमाल किया जा सकता है और हर Place ऑब्जेक्ट में इन फ़ील्ड को ऐक्सेस करने के Place.getName() तरीके.

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

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

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

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

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

    इनमें से एक या ज़्यादा फ़ील्ड चुनें:

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

    इस उदाहरण में दो फ़ील्ड वैल्यू की एक सूची के बारे में बताया गया है, ताकि यह बताया जा सके कि अनुरोध करने पर मिले Place ऑब्जेक्ट में Place.Field.ID और Place.Field.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.NAME);
  • जगह की जानकारी से जुड़ी पाबंदी

    ऐप्लिकेशन 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. अगर इस पैरामीटर को शामिल नहीं किया जाता है, तो सभी तरह की जगहों की जानकारी दिखाई जाती है.

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

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

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

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

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

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

    शामिल किए गए मुख्य टाइप

    यहां दी गई मुख्य जगहों की सूची: शामिल करने के लिए टेबल A क्लिक करें.

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

    हटाए गए मुख्य टाइप

    यहां दी गई मुख्य जगहों की सूची: बाहर रखने के लिए, टेबल A खोजें.

    अगर कोई मुख्य टाइप एक-दूसरे से अलग है, जैसे कि दोनों में कोई टाइप includedPrimaryTypes और excludedPrimaryTypes INVALID_ARGUMENT गड़बड़ी मिली.

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

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

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

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

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

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

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

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

  • क्षेत्र कोड

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

    अगर जवाब में formattedAddress फ़ील्ड का देश का नाम मेल खाता है regionCode, formattedAddress में देश का कोड शामिल नहीं किया गया है.

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

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

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

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

ज़्यादा जानकारी के लिए, इसके लिए जगह की जानकारी के SDK टूल से जुड़ी नीतियां देखें Android.