ऑटोमैटिक तरीके से पूरा होने वाली जगह की जानकारी (नई) सेवा, iOS API है. यह किसी अनुरोध के जवाब में, जगह के सुझाव दिखाती है. अनुरोध में, टेक्स्ट खोज स्ट्रिंग और भौगोलिक सीमाएं दें, ताकि खोज के लिए इलाके को कंट्रोल किया जा सके.
अपने-आप पूरा होने वाली टेक्स्ट की सुविधा (नई) में, इनपुट के पूरे शब्दों और सबस्ट्रिंग से मैच किया जा सकता है. इससे जगहों के नाम, पते, और प्लस कोड का पता चलता है. इसलिए, उपयोगकर्ता के टाइप करते ही ऐप्लिकेशन क्वेरी भेज सकते हैं, ताकि जगह के सुझाव तुरंत दिए जा सकें.
जगह के सुझाव, कारोबारों, पतों, और दिलचस्प जगहों जैसी जगहें होती हैं. ये सुझाव, डाली गई टेक्स्ट स्ट्रिंग और खोज के लिए तय किए गए इलाके के आधार पर दिखाए जाते हैं.
उदाहरण के लिए, आपने इनपुट के तौर पर ऐसी स्ट्रिंग का इस्तेमाल करके एपीआई को कॉल किया है जिसमें उपयोगकर्ता का कुछ इनपुट, "Spagh" शामिल है. साथ ही, खोज के लिए न्यूयॉर्क शहर को चुना गया है. इसके बाद, जवाब में जगह के सुझाव की एक सूची दिखती है. यह सूची, खोज स्ट्रिंग और खोज के इलाके से मेल खाती है. जैसे, "Cafe Spaghetti" नाम का रेस्टोरेंट. साथ ही, जगह की जानकारी भी दिखती है.
जगह के सुझाव, उपयोगकर्ता को दिखाए जाने के लिए डिज़ाइन किए गए हैं, ताकि वह अपनी पसंद की जगह चुन सके. जगह के सुझावों में से किसी के बारे में ज़्यादा जानकारी पाने के लिए, जगह की जानकारी (नया) का अनुरोध किया जा सकता है.
अपने-आप भरने की सुविधा (नया) के लिए अनुरोध
GMSPlaceClient
पर कोई तरीका कॉल करके, अपने-आप पूरा होने वाला अनुरोध बनाएं.
GMSAutocompleteRequest
ऑब्जेक्ट में पैरामीटर पास किए जा सकते हैं. जवाब में, GMSAutocompletePlaceSuggestion
ऑब्जेक्ट में अपने-आप पूरा होने वाले सुझाव मिलते हैं.
एपीआई पासकोड और query
पैरामीटर ज़रूरी हैं. अनुरोधों को बिलिंग सेशन से जोड़ने के लिए, GMSAutocompleteSessionToken
और नतीजों पर लागू करने के लिए, GMSAutocompleteFilter
को भी शामिल किया जा सकता है.
ज़रूरी और वैकल्पिक पैरामीटर के बारे में ज़्यादा जानने के लिए, इस दस्तावेज़ का पैरामीटर सेक्शन देखें.
Swift
let token = GMSAutocompleteSessionToken() let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051) let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087) let filter = GMSAutocompleteFilter() filter.types = [kGMSPlaceTypeRestaurant] filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds) let request = GMSAutocompleteRequest(query:"Spagh") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137); CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023); GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.types = @[ kGMSPlaceTypeRestaurant ]; filter.locationBias = GMSPlaceRectangularLocationOption(northEast, southWest); GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
iOS के लिए Places Swift SDK (झलक)
let center = (37.3913916, -122.0879074) let northEast = (37.388162, -122.088137) let southWest = (37.395804, -122.077023) let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest) let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias) let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): // Handle suggestions. case .failure(let placesError): // Handle error. }
जवाब अपने-आप पूरे होने की सुविधा (नई)
अपने-आप पूरा होने की सुविधा, GMSAutocompleteSuggestion
के ज़्यादा से ज़्यादा पांच उदाहरणों का कलेक्शन दिखाती है. ऐरे में ये शामिल हैं:
placeID
types
: इस जगह पर लागू होने वाले टाइप.distanceMeters
: ऑरिजिन से दूरी.attributedFullText
: सुझाव का पूरा टेक्स्ट, जिसे कोई भी व्यक्ति पढ़ सकता है.attributedPrimaryText
: सुझाव का मुख्य टेक्स्ट, जिसे कोई भी व्यक्ति पढ़ सकता है.attributedSecondaryText
: सुझाव का ऐसा सेकंडरी टेक्स्ट जिसे कोई भी व्यक्ति पढ़ सकता है.structuredFormat
: खास नाम और शहर या इलाके जैसा ऐसा टेक्स्ट जिससे किसी चीज़ के बारे में साफ़ तौर पर पता चलता हो.
ज़रूरी पैरामीटर
क्वेरी
वह टेक्स्ट स्ट्रिंग जिस पर खोजना है. पूरे शब्द और सबस्ट्रिंग, जगह के नाम, पते, और प्लस कोड डालें. ऑटोमैटिक भरने की सुविधा (नई) इस स्ट्रिंग के आधार पर, मिलते-जुलते नामों के सुझाव दिखाती है. साथ ही, नतीजों को उनके काम के होने के हिसाब से क्रम में लगाती है.
ज़रूरी नहीं पैरामीटर
प्रकार
किसी जगह के लिए, टेबल A या टेबल B में से सिर्फ़ एक प्राइमरी टाइप चुना जा सकता है.
उदाहरण के लिए, प्राइमरी टाइप mexican_restaurant
या steak_house
हो सकता है.
डिफ़ॉल्ट रूप से, एपीआई input
पैरामीटर के आधार पर सभी जगहों की जानकारी दिखाता है. भले ही, जगह के साथ प्राइमरी टाइप की वैल्यू कुछ भी हो. types
पैरामीटर को पास करके, नतीजों को किसी खास प्राइमरी टाइप या प्राइमरी टाइप के तौर पर सीमित करें.
टेबल A या टेबल B से, टाइप की ज़्यादा से ज़्यादा पांच वैल्यू तय करने के लिए, इस पैरामीटर का इस्तेमाल करें. जवाब में शामिल की जाने वाली जगह, प्राइमरी टाइप की बताई गई वैल्यू में से किसी एक से मेल खानी चाहिए.
INVALID_REQUEST
गड़बड़ी की वजह से अनुरोध अस्वीकार किया जाता है, अगर:
- पांच से ज़्यादा टाइप तय किए गए हैं.
- ऐसे सभी टाइप बताए गए हैं जिन्हें पहचाना नहीं जा सका.
देश
सिर्फ़ उन इलाकों की सूची में शामिल नतीजे शामिल करें जिनके लिए खोज की गई है. यह सूची, ccTLD ("top-level domain") के ज़्यादा से ज़्यादा 15 दो वर्णों वाली वैल्यू के ऐरे के तौर पर दी गई हो. अगर इस एट्रिब्यूट को शामिल नहीं किया जाता है, तो जवाब पर कोई पाबंदी नहीं लगाई जाती. उदाहरण के लिए, जर्मनी और फ़्रांस तक क्षेत्रों को सीमित करने के लिए:
Swift
let filter = GMSAutocompleteFilter() filter.countries = ["DE", "FR"]
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.countries = @[ @"DE", @"FR" ];
iOS के लिए Places Swift SDK (झलक)
let filter = AutocompleteFilter(countries: ["DE", "FR"])
अगर आपने locationRestriction
और countries
, दोनों की वैल्यू दी है, तो नतीजे, दोनों सेटिंग के इंटरसेक्शन वाले एरिया में दिखेंगे.
inputOffset
शून्य पर आधारित यूनिकोड वर्ण का ऑफ़सेट, जो input
में कर्सर की पोज़िशन दिखाता है. कर्सर की पोज़िशन से यह तय हो सकता है कि कौनसे अनुमान दिखाए जाएं. अगर यह एट्रिब्यूट खाली है, तो डिफ़ॉल्ट रूप से इसकी वैल्यू input
होती है.
locationBias या locationRestriction
खोज के लिए जगह तय करने के लिए, locationBias
या locationRestriction
में से किसी एक का इस्तेमाल किया जा सकता है. locationRestriction
को उस इलाके के तौर पर देखें जहां के लिए नतीजे चाहिए और locationBias
को उस इलाके के तौर पर देखें जहां के नतीजे चाहिए, लेकिन वे उस इलाके से बाहर के भी हो सकते हैं.
locationBias
, खोज के लिए कोई इलाका तय करता है. यह जगह, खोज के नतीजों को बायस करती है. इसका मतलब है कि खोज के नतीजे, बताई गई जगह के आस-पास के इलाकों के साथ-साथ, बताई गई जगह से बाहर के इलाकों के भी हो सकते हैं.locationRestriction
, खोज के लिए कोई इलाका तय करता है. बताए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.
locationBias
या locationRestriction
क्षेत्र को आयताकार व्यूपोर्ट या सर्कल के तौर पर तय करें.
किसी वृत्त को उसके केंद्र बिंदु और त्रिज्या से तय किया जाता है. त्रिज्या को मीटर में दिखाया जाता है. त्रिज्या, 0.0 से 50000.0 के बीच होनी चाहिए. डिफ़ॉल्ट वैल्यू 0.0 होती है. locationRestriction
के लिए, आपको त्रिज्या को 0.0 से ज़्यादा की वैल्यू पर सेट करना होगा.
ऐसा न करने पर, अनुरोध से कोई नतीजा नहीं मिलता.
उदाहरण के लिए:
Swift
let center = CLLocationCoordinate2DMake(40.730610, -73.935242) let radius = 1000.0 filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242); radius = 1000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
iOS के लिए Places Swift SDK (झलक)
let center = CLLocationCoordinate2DMake(40.477398, -74.259087) let bias = CircularCoordinateRegion(center: center, radius: 1000.0) let filter = AutocompleteFilter(coordinateRegionBias: bias)
रेक्टैंगल, अक्षांश-देशांतर व्यूपोर्ट होता है. इसे डायगनल के उलट दिशा में मौजूद low
और high
पॉइंट के तौर पर दिखाया जाता है. व्यूपोर्ट को एक बंद क्षेत्र माना जाता है. इसका मतलब है कि इसमें उसकी सीमा शामिल होती है. अक्षांश की सीमा -90 से 90 डिग्री के बीच होनी चाहिए. साथ ही, देशांतर की सीमा -180 से 180 डिग्री के बीच होनी चाहिए:
- अगर
low
=high
है, तो व्यूपोर्ट में सिर्फ़ एक पॉइंट होता है. - अगर
low.longitude
>high.longitude
है, तो देशांतर की रेंज उलट जाती है (व्यूपोर्ट, देशांतर की 180 डिग्री वाली लाइन को पार कर जाता है). - अगर
low.longitude
= -180 डिग्री औरhigh.longitude
= 180 डिग्री है, तो व्यूपोर्ट में सभी देशांतर शामिल होते हैं. - अगर
low.longitude
= 180 डिग्री औरhigh.longitude
= -180 डिग्री है, तो देशांतर की रेंज खाली है.
low
और high
, दोनों में वैल्यू होनी चाहिए. साथ ही, दिखाया गया बॉक्स खाली नहीं होना चाहिए. खाली व्यूपोर्ट की वजह से गड़बड़ी होती है.
उदाहरण के लिए, यह व्यूपोर्ट पूरी तरह से न्यूयॉर्क शहर को कवर करता है:
Swift
let high = CLLocationCoordinate2DMake(40.921628, -73.700051) let low = CLLocationCoordinate2DMake(40.477398, -74.259087) let filter = GMSAutocompleteFilter() filter.locationBias = GMSPlaceRectangularLocationOption(high, low)
Objective-C
CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087); CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051); GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceRectangularLocationOption(high, low);
iOS के लिए Places Swift SDK (झलक)
let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087) let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051) let filter = AutocompleteFilter(coordinateRegionBias: bias)
origin
वह ऑरिजिन पॉइंट जिससे डेस्टिनेशन तक की सीधी दूरी का हिसाब लगाया जाता है. यह वैल्यू distanceMeters
के तौर पर दिखती है. अगर इस वैल्यू को शामिल नहीं किया जाता है, तो सीधी दूरी का हिसाब नहीं लगाया जाएगा. अक्षांश और देशांतर के निर्देशांक के तौर पर दिया जाना चाहिए:
Swift
let filter = GMSAutocompleteFilter() filter.origin = CLLocation(latitude: 37.395804, longitude: -122.077023)
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];
iOS के लिए Places Swift SDK (झलक)
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
regionCode
रिस्पॉन्स को फ़ॉर्मैट करने के लिए इस्तेमाल किया जाने वाला क्षेत्र कोड. इसे ccTLD ("टॉप-लेवल डोमेन") के तौर पर दो वर्णों की वैल्यू के तौर पर तय किया गया है. ज़्यादातर ccTLD कोड, ISO 3166-1 कोड से मेल खाते हैं. हालांकि, कुछ अपवाद भी हैं. उदाहरण के लिए, यूनाइटेड किंगडम का ccTLD "uk" (.co.uk) है, जबकि इसका ISO 3166-1 कोड "gb" है. तकनीकी तौर पर, यह कोड "यूनाइटेड किंगडम ऑफ़ ग्रेट ब्रिटेन ऐंड नॉर्दर्न आयरलैंड" की इकाई के लिए है.
अगर आपने क्षेत्र का अमान्य कोड डाला है, तो एपीआई INVALID_ARGUMENT
गड़बड़ी दिखाता है. लागू कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है.
sessionToken
सेशन टोकन, उपयोगकर्ता से जनरेट हुई स्ट्रिंग होती हैं. ये ऑटोकंप्लीट (नया) कॉल को "सेशन" के तौर पर ट्रैक करती हैं. ऑटोकंप्लीट (नया) सुविधा, बिलिंग के मकसद से उपयोगकर्ता की ऑटोकंप्लीट की गई खोज के लिए, क्वेरी और चुनने के चरणों को अलग-अलग सेशन में ग्रुप करने के लिए, सेशन टोकन का इस्तेमाल करती है. ज़्यादा जानकारी के लिए, सेशन टोकन देखें.
अपने-आप पूरा होने वाले टेक्स्ट (नया) के उदाहरण
locationRestriction और locationBias का इस्तेमाल करना
ऑटोमैटिक तरीके से पूरा होने वाला सुझाव (नया) डिफ़ॉल्ट रूप से आईपी बायसिंग का इस्तेमाल करता है, ताकि खोज के लिए चुने गए इलाके को कंट्रोल किया जा सके. आईपी बायसिंग की सुविधा की मदद से, एपीआई नतीजों में बायस करने के लिए, डिवाइस के आईपी पते का इस्तेमाल करता है. खोज के लिए किसी इलाके की जानकारी देने के लिए, locationRestriction
या
locationBias
में से किसी एक का इस्तेमाल किया जा सकता है. हालांकि, दोनों का इस्तेमाल नहीं किया जा सकता.
जगह की पाबंदी से पता चलता है कि किस इलाके में खोजना है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते. नीचे दिए गए उदाहरण में, जगह की जानकारी की पाबंदी का इस्तेमाल करके, अनुरोध को सैन फ़्रांसिस्को के केंद्र से 5,000 मीटर के दायरे में सीमित किया गया है:
Swift
let token = GMSAutocompleteSessionToken() let center = CLLocationCoordinate2DMake(37.775061, -122.419400) let radius = 5000.0 let filter = GMSAutocompleteFilter() filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius) let request = GMSAutocompleteRequest(query:"Piz") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400); radius = 5000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius); GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
iOS के लिए Places Swift SDK (झलक)
let center = (37.775061, -122.419400) let radius = 5000.0 let restriction = CircularCoordinateRegion(center: center, radius: radius) let filter = AutocompleteFilter(coordinateRegionRestriction: restriction) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
जगह के हिसाब से खोज के नतीजे दिखाने की सुविधा चालू होने पर, जगह को प्राथमिकता दी जाती है. इसका मतलब है कि खोज के नतीजे, खोजी गई जगह के आस-पास के इलाकों के साथ-साथ, उससे बाहर के इलाकों के भी दिखाए जा सकते हैं. अगले उदाहरण में, जगह के हिसाब से जानकारी दिखाने के लिए, पिछले अनुरोध में बदलाव किया गया है:
Swift
let token = GMSAutocompleteSessionToken() let center = CLLocationCoordinate2DMake(37.775061, -122.419400) let radius = 5000.0 let filter = GMSAutocompleteFilter() filter.locationBias = GMSPlaceCircularLocationOption(center, radius) let request = GMSAutocompleteRequest(query:"Piz") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400); radius = 5000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceCircularLocationOption(center, radius); GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Sicilian piz"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
iOS के लिए Places Swift SDK (झलक)
let center = (37.775061, -122.419400) let radius = 5000.0 let bias = CircularCoordinateRegion(center: center, radius: radius) let filter = AutocompleteFilter(coordinateRegionBias: bias) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
इस्तेमाल के टाइप
टेबल A और टेबल B में बताए गए टाइप के नतीजे पाने के लिए, types पैरामीटर का इस्तेमाल करें. ज़्यादा से ज़्यादा पांच वैल्यू का ऐरे दिया जा सकता है. अगर इस विकल्प को शामिल नहीं किया जाता है, तो सभी टाइप दिखाए जाते हैं.
इस उदाहरण में, "फ़ुटबॉल" की क्वेरी स्ट्रिंग दी गई है. साथ ही, "sporting_goods_store"
टाइप के कारोबारों के नतीजों पर पाबंदी लगाने के लिए, types पैरामीटर का इस्तेमाल किया गया है:
Swift
let token = GMSAutocompleteSessionToken() let filter = GMSAutocompleteFilter() filter.types = ["sporting_goods_store"] let request = GMSAutocompleteRequest(query:"Soccer") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.types = @[ "sporting_goods_store" ]; GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
iOS के लिए Places Swift SDK (झलक)
let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ]) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
ऑरिजिन का इस्तेमाल करना
जब अनुरोध में origin
पैरामीटर को शामिल किया जाता है, तो एपीआई रिस्पॉन्स में ऑरिजिन से डेस्टिनेशन तक की सीधी दूरी शामिल करता है. यह पैरामीटर, अक्षांश और देशांतर के निर्देशांक के तौर पर दिया जाता है. जवाब में, distanceMeters
के तौर पर दूरी दिखती है.
इस उदाहरण में, ऑरिजिन को सैन फ़्रांसिस्को के बीच में सेट किया गया है:
Swift
let token = GMSAutocompleteSessionToken() let origin = CLLocation(latitude: 37.7749, longitude: -122.4194) let filter = GMSAutocompleteFilter() filter.origin = origin let request = GMSAutocompleteRequest(query:"Amoeba") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))") } } })
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023]; GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"]; request.sessionToken = token; request.filter = filter; [[GMSPlacesClient sharedClient] fetchAutocompleteSuggestionsFromRequest:request callback:^(NSArray<GMSAutocompleteSuggestion *> * results, NSError * error){ // Handle response for (GMSAutocompleteSuggestion *suggestion in results) { if (suggestion.placeSuggestion) { // Show place suggestion data. } } }];
iOS के लिए Places Swift SDK (झलक)
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194)) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
एट्रिब्यूशन
मैप के बिना भी, अपने-आप पूरा होने वाली जगह की जानकारी (नया वर्शन) की सुविधा का इस्तेमाल किया जा सकता है. अगर कोई मैप दिखाया जाता है, तो वह Google का मैप होना चाहिए. मैप के बिना, ऑटोमैटिक तरीके से सुझाव दिखाने वाली नई सेवा के सुझाव दिखाने पर, आपको खोज फ़ील्ड/नतीजों के साथ इनलाइन में Google का लोगो दिखाना होगा. ज़्यादा जानकारी के लिए, Google का लोगो और एट्रिब्यूशन दिखाना लेख पढ़ें.