आस-पास खोजने की सुविधा (नया) का अनुरोध, खोजने के लिए इलाके की जानकारी देता है
वृत्त के रूप में बताया जाता है, जिसे इसके केंद्रीय बिंदु के अक्षांश और देशांतर निर्देशांकों से परिभाषित किया जाता है
वृत्त और त्रिज्या को मीटर में बदलें. अनुरोध, मेल खाने वाली जगहों की सूची दिखाता है. हर जगह को
GMSPlace
ऑब्जेक्ट की खोज करें.
डिफ़ॉल्ट रूप से, जवाब में खोज वाली जगह के अंदर सभी तरह की जगहें शामिल होती हैं. आपके पास विकल्प के तौर पर जगह के टाइप की सूची देकर रिस्पॉन्स को फ़िल्टर करें. इसके लिए, जवाब. उदाहरण के लिए, जवाब में सिर्फ़ उन जगहों को शामिल किया जा सकता है "रेस्टोरेंट", "बेकरी", और "कैफ़े" या "स्कूल" टाइप की सभी जगहें शामिल न करें.
आस-पास की खोज (नए) अनुरोध
इस नंबर पर कॉल करके, आस-पास खोजने की सुविधा का अनुरोध करें
GMSPlacesClient searchNearbyWithRequest:
पास
GMSPlaceSearchNearbyRequest
ऑब्जेक्ट है, जो अनुरोध पैरामीटर और कॉलबैक मेथड को तय करता है.
GMSPlaceSearchNearbyResultCallback
,
का इस्तेमाल करें.
GMSPlaceSearchNearbyRequest
ऑब्जेक्ट
ज़रूरी है और ज़रूरी नहीं
पैरामीटर का इस्तेमाल करें. ज़रूरी पैरामीटर में ये शामिल हैं:
GMSPlace
ऑब्जेक्ट में दिखाए जाने वाले फ़ील्ड की सूची को फ़ील्ड मास्क, जैसा किGMSPlaceProperty
. अगर आप फ़ील्ड सूची में कम से कम एक फ़ील्ड को शामिल नहीं करते हैं या अगर आप फ़ील्ड को छोड़ देते हैं फ़ील्ड सूची का इस्तेमाल करने देता है, तो कॉल एक गड़बड़ी दिखाता है.- जगह की जानकारी पर पाबंदी का मतलब है, वह सर्कल जो खोज के लिए चुनी गई जगह के बारे में बताता है.
आस-पास के खोज अनुरोध के इस उदाहरण में बताया गया है कि रिस्पॉन्स GMSPlace
ऑब्जेक्ट
जगह का नाम (GMSPlacePropertyName
) और जगह के निर्देशांक शामिल हैं
खोज में हर GMSPlace
ऑब्जेक्ट के लिए (GMSPlacePropertyCoordinate
)
नतीजे. यह रिस्पॉन्स को भी फ़िल्टर करके सिर्फ़ "रेस्टोरेंट" टाइप के स्थान दिखाता है और "कैफ़े" हैं.
Swift
// Array to hold the places in the response var placeResults: [GMSPlace] = [] // Define the search area as a 500 meter diameter circle in San Francisco, CA. let circularLocationRestriction = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(37.7937, -122.3965), 500) // Specify the fields to return in the GMSPlace object for each place in the response. let placeProperties = [GMSPlaceProperty.name, GMSPlaceProperty.coordinate].map {$0.rawValue} // Create the GMSPlaceSearchNearbyRequest, specifying the search area and GMSPlace fields to return. var request = GMSPlaceSearchNearbyRequest(locationRestriction: circularLocationRestriction, placeProperties: placeProperties) let includedTypes = ["restaurant", "cafe"] request.includedTypes = includedTypes let callback: GMSPlaceSearchNearbyResultCallback = { [weak self] results, error in guard let self, error == nil else { if let error { print(error.localizedDescription) } return } guard let results = results as? [GMSPlace] else { return } placeResults = results } GMSPlacesClient.shared().searchNearby(with: request, callback: callback)
Objective-C
// Array to hold the places in the response _placeResults = [NSArray array]; // Define the search area as a 500 meter diameter circle in San Francisco, CA. id<GMSPlaceLocationRestriction> circularLocation = GMSPlaceCircularLocationOption(CLLocationCoordinate2DMake(37.7937, -122.3965), 500); // Create the GMSPlaceSearchNearbyRequest, specifying the search area and GMSPlace fields to return. GMSPlaceSearchNearbyRequest *request = [[GMSPlaceSearchNearbyRequest alloc] initWithLocationRestriction:circularLocation placeProperties:@[ GMSPlacePropertyName, GMSPlacePropertyCoordinate ]]; // Set the place types to filter on. NSArray<NSString *> *includedTypes = @[ @"restaurant", @"cafe" ]; request.includedTypes = [[NSMutableArray alloc] initWithArray:includedTypes]; [_placesClient searchNearbyWithRequest:request callback:^(NSArray<GMSPlace *> *_Nullable places, NSError *_Nullable error) { if (error != nil) { NSLog(@"An error occurred %@", [error localizedDescription]); return; } else { // Get list of places. _placeResults = places; } } ];
GooglePlacesSwift
let restriction = CircularCoordinateRegion(center: CLLocationCoordinate2DMake(37.7937, -122.3965), radius: 500) let searchNearbyRequest = SearchNearbyRequest( locationRestriction: restriction, placeProperties: [ .name, .coordinate], includedTypes: [ .restaurant, .cafe ], ) switch await placesClient.searchNearby(with: searchNearbyRequest) { case .success(let places): // Handle places case .failure(let placesError): // Handle error }
आस-पास की खोज के नतीजे
Nearby Search API इस तरह के मैच दिखाता हैGMSPlace
ऑब्जेक्ट हैं, जिनमें मेल खाने वाली हर जगह की एक GMSPlace
ऑब्जेक्ट है.
डेटा फ़ील्ड के साथ, इसमें GMSPlace
ऑब्जेक्ट
रिस्पॉन्स में ये मेंबर फ़ंक्शन शामिल होते हैं:
-
isOpen
यह हिसाब लगाता है कि कोई जगह दिए गए समय पर खुली है या नहीं. isOpenAtDate
यह कैलकुलेट करता है कि दी गई तारीख पर कोई जगह खुली है या नहीं.
ज़रूरी पैरामीटर
GMSPlaceSearchNearbyRequest
ऑब्जेक्ट का इस्तेमाल करके, इसके लिए ज़रूरी पैरामीटर तय करें
खोज.
-
फ़ील्ड की सूची
स्थान विवरण का अनुरोध करते समय, आपको फ़ील्ड मास्क के तौर पर जगह के लिए,
GMSPlace
ऑब्जेक्ट दिखाएं. यह तय करने के लिए कि फ़ील्ड मास्क,GMSPlaceProperty
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैGMSPlaceSearchNearbyRequest
ऑब्जेक्ट में जोड़ा जा सकता है. फ़ील्ड मास्किंग, डिज़ाइन का एक अच्छा तरीका है. इससे यह पक्का किया जाता है कि आप ग़ैर-ज़रूरी डेटा का अनुरोध न करें, इससे प्रोसेसिंग में लगने वाले समय और बिलिंग शुल्क से बचने में मदद मिलती है.इनमें से एक या ज़्यादा फ़ील्ड चुनें:
ये फ़ील्ड, आस-पास खोज (बेसिक) SKU:
GMSPlacePropertyAddressComponents
,GMSPlacePropertyBusinessStatus
,GMSPlacePropertyCoordinate
,GMSPlacePropertyFormattedAddress
,GMSPlacePropertyName
,GMSPlacePropertyIconBackgroundColor
,GMSPlacePropertyIconImageURL
,GMSPlacePropertyPhotos
,GMSPlacePropertyPlaceID
,GMSPlacePropertyPlusCode
,GMSPlacePropertyTypes
,GMSPlacePropertyUTCOffsetMinutes
,GMSPlacePropertyViewport
,GMSPlacePropertyWheelchairAccessibleEntrance
ये फ़ील्ड, आस-पास खोज (बेहतर) SKU:
GMSPlacePropertyCurrentOpeningHours
,GMSPlacePropertySecondaryOpeningHours
,GMSPlacePropertyPhoneNumber
,GMSPlacePropertyPriceLevel
,GMSPlacePropertyRating
,GMSPlacePropertyOpeningHours
,GMSPlacePropertyUserRatingsTotal
,GMSPlacePropertyWebsite
ये फ़ील्ड, आस-पास खोज (पसंदीदा) SKU:
GMSPlacePropertyCurbsidePickup
,GMSPlacePropertyDelivery
,GMSPlacePropertyDineIn
,GMSPlacePropertyEditorialSummary
,GMSPlacePropertyReservable
,GMSPlacePropertyReviews
,GMSPlacePropertyServesBeer
,GMSPlacePropertyServesBreakfast
,GMSPlacePropertyServesBrunch
,GMSPlacePropertyServesDinner
,GMSPlacePropertyServesLunch
,GMSPlacePropertyServesVegetarianFood
,GMSPlacePropertyServesWine
,GMSPlacePropertyTakeout
यहां दिए गए उदाहरण में, दो यूआरएल की सूची पास की गई है फ़ील्ड की वैल्यू यह बताने के लिए कि अनुरोध के ज़रिए लौटाए गए
GMSPlace
ऑब्जेक्ट मेंname
औरplaceID
फ़ील्ड:Swift
// Specify the place data types to return. let fields: [GMSPlaceProperty] = [.placeID, .name]
Objective-C
// Specify the place data types to return. NSArray<GMSPlaceProperty *> *fields = @[GMSPlacePropertyPlaceID, GMSPlacePropertyName];
GooglePlacesSwift
// Specify the place data types to return. let fields: [PlaceProperty] = [.placeID, .displayName]
-
locationRestriction
GMSPlaceLocationRestriction
वह ऑब्जेक्ट जो केंद्र बिंदु से परिभाषित सर्कल के रूप में बताए गए क्षेत्र को परिभाषित करता है और मीटर में रेडियस. दायरा 0.0 से 50, 000.0 के बीच होना चाहिए. डिफ़ॉल्ट दायरा यह है 0.0 से खत्म होने वाली है. आपको अपने अनुरोध में इसे 0.0 से ज़्यादा पर सेट करना होगा.
ज़रूरी नहीं पैरामीटर
GMSPlaceSearchNearbyRequest
ऑब्जेक्ट का इस्तेमाल करके, इनके लिए वैकल्पिक पैरामीटर तय करें
खोज.
-
शामिल किए गए टाइप/excludedTypes, includePrimaryTypes/excludedPrimaryTypes
टाइप से टाइप की सूची तय करने की सुविधा मिलती है फ़िल्टर करने के लिए, टेबल 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": ["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
गड़बड़ी मिली. -
maxResultCount
इससे पता चलता है कि जगह के बारे में ज़्यादा से ज़्यादा कितने नतीजे दिए जा सकते हैं. बीच में होना चाहिए 1 और 20 (डिफ़ॉल्ट) सहित.
-
rankPreference
इस्तेमाल करने के लिए रैंकिंग का टाइप. अगर यह पैरामीटर शामिल नहीं किया जाता है, तो नतीजों की रैंकिंग लोकप्रियता के हिसाब से की जाती है. इनमें से कोई एक स्थिति हो सकती है:
.popularity
(डिफ़ॉल्ट) नतीजों को उनकी लोकप्रियता के हिसाब से क्रम में लगाता है..distance
परिणामों को बढ़ते क्रम में, बताई गई जगह.
-
regionCode
जवाब को फ़ॉर्मैट करने के लिए इस्तेमाल किया जाने वाला क्षेत्रीय कोड, जिसे दो वर्ण वाले CLDR कोड की वैल्यू. कोई डिफ़ॉल्ट मान नहीं है.
अगर जवाब में
formattedAddress
फ़ील्ड का देश का नामregionCode
,formattedAddress
में देश का कोड शामिल नहीं किया गया है. इस पैरामीटर काadrFormatAddress
पर कोई असर नहीं होता है. इसमें देश हमेशा शामिल होता है नाम याshortFormattedAddress
पर डालें, जिसमें यह कभी शामिल नहीं होता.ज़्यादातर CLDR कोड इसके समान हैं ISO 3166-1 कोड, इसमें कुछ अहम अपवाद शामिल हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "यूके" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है (तकनीकी तौर पर, इकाई "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन ऐंड नॉर्दर्न आयरलैंड" है. पैरामीटर, लागू कानून के आधार पर नतीजों पर असर डाल सकता है.
अपने ऐप्लिकेशन में एट्रिब्यूशन दिखाएं
जब आपका ऐप्लिकेशन इनसे मिली जानकारी को दिखाता है
GMSPlacesClient
जैसे कि फ़ोटो और समीक्षाएं, ऐप्लिकेशन को ज़रूरी एट्रिब्यूशन भी दिखाने चाहिए.
उदाहरण के लिए, GMSPlacesClient
ऑब्जेक्ट की reviews
प्रॉपर्टी
में ज़्यादा से ज़्यादा पाँच डेटा का अरे होता है
GMSPlaceReview
ऑब्जेक्ट हैं. हर GMSPlaceReview
ऑब्जेक्ट में एट्रिब्यूशन और लेखक के एट्रिब्यूशन शामिल हो सकते हैं.
अगर आपके ऐप्लिकेशन में समीक्षा दिखाई जाती है, तो आपको कोई एट्रिब्यूशन या लेखक भी दिखाना होगा
एट्रिब्यूशन.
ज़्यादा जानकारी के लिए, यहां दिया गया दस्तावेज़ देखें: एट्रिब्यूशन.