ऑटोकंप्लीट (नई) सेवा, एक iOS API है. यह किसी अनुरोध के जवाब में, जगह के बारे में सुझाव दिखाती है. अनुरोध में, ऐसी टेक्स्ट सर्च स्ट्रिंग और भौगोलिक सीमाएं तय करें जो खोज के इलाके को कंट्रोल करती हैं.
ऑटोकंप्लीट (नई) सेवा, इनपुट के पूरे शब्दों और सबस्ट्रिंग को मैच कर सकती है. इससे जगहों के नाम, पते, और प्लस कोड को सही किया जा सकता है. इसलिए, ऐप्लिकेशन तुरंत जगह के सुझाव देने के लिए उपयोगकर्ता के टाइप के आधार पर क्वेरी भेज सकते हैं.
जगह के सुझाव में खास इनपुट टेक्स्ट स्ट्रिंग और खोज के इलाके के आधार पर जगहें, कारोबार, पते, और लोकप्रिय जगहें शामिल होती हैं.
उदाहरण के लिए, उस स्ट्रिंग को इनपुट के तौर पर इस्तेमाल करके एपीआई को कॉल किया जाता है जिसमें उपयोगकर्ता का कुछ इनपुट, "Spaugh" शामिल होता है. इसमें, खोज करने की जगह न्यूयॉर्क शहर तक सीमित होती है. इसके बाद, जवाब में जगह के सुझाव की सूची शामिल होती है, जो खोज स्ट्रिंग और खोज की जगह से मेल खाती है. जैसे कि "कैफ़े स्पैगेटी" नाम का रेस्टोरेंट और जगह की जानकारी.
जगह के बारे में सुझाव इसलिए दिए जाते हैं, ताकि उपयोगकर्ता अपनी पसंद की जगह को चुन सकें. आप लौटाए गए किसी भी स्थान के सुझाव के बारे में ज़्यादा जानकारी पाने के लिए जगह की जानकारी (नया) का अनुरोध कर सकते हैं.
ऑटोकंप्लीट की सुविधा (नए) अनुरोध
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. } } }];
GooglePlacesSwift
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
: किसी शहर या इलाके का नाम और साफ़ तौर पर जानकारी देने वाला टेक्स्ट.
ज़रूरी पैरामीटर
query
वह टेक्स्ट स्ट्रिंग जिस पर खोजना है. पूरे शब्द और सबस्ट्रिंग, जगहों के नाम, पते, और प्लस कोड तय करें. ऑटोकंप्लीट (नई) सेवा, इस स्ट्रिंग के आधार पर कैंडिडेट से मिलती-जुलती चीज़ें दिखाती है और उनके काम के होने के आधार पर नतीजे ऑर्डर करती है.
ज़रूरी नहीं पैरामीटर
प्रकार
किसी जगह से जुड़े टेबल
A या टेबल
B टाइप में से, सिर्फ़ एक एक प्राइमरी टाइप हो सकता है.
उदाहरण के लिए, प्राइमरी टाइप mexican_restaurant
या steak_house
हो सकता है.
डिफ़ॉल्ट रूप से, एपीआई input
पैरामीटर के आधार पर सभी जगहों की जानकारी दिखाता है. इससे कोई फ़र्क़ नहीं पड़ता कि जगह से जुड़ी प्राइमरी टाइप वैल्यू क्या है. types
पैरामीटर को पास करके, नतीजों को किसी खास प्राइमरी टाइप या प्राइमरी टाइप तक सीमित करें.
इस पैरामीटर का इस्तेमाल करके, टेबल A या टेबल B से ज़्यादा से ज़्यादा पांच टाइप वैल्यू तय करें. जगह की जानकारी, रिस्पॉन्स में शामिल की जाने वाली मुख्य टाइप की किसी एक वैल्यू से मेल खानी चाहिए.
अनुरोध को INVALID_REQUEST
गड़बड़ी के साथ अस्वीकार कर दिया जाता है, अगर:
- पाँच से ज़्यादा प्रकार बताए गए हैं.
- कोई भी अज्ञात प्रकार दर्ज किया गया है.
देश
सिर्फ़ चुनिंदा इलाकों की सूची के नतीजों को शामिल करें. इसमें ज़्यादा से ज़्यादा 15 ccTLD ("टॉप-लेवल डोमेन") दो वर्णों वाली वैल्यू के कलेक्शन के तौर पर जानकारी दी गई है. अगर यह जवाब नहीं दिया जाता है, तो जवाब पर कोई पाबंदी नहीं होगी. उदाहरण के लिए, जर्मनी और फ़्रांस तक के क्षेत्रों को सीमित करने के लिए:
Swift
let filter = GMSAutocompleteFilter() filter.countries = ["DE", "FR"]
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.countries = @[ @"DE", @"FR" ];
GooglePlacesSwift
let filter = AutocompleteFilter(countries: ["DE", "FR"])
अगर locationRestriction
और countries
, दोनों का इस्तेमाल किया जाता है, तो नतीजे
दोनों सेटिंग के इंटरसेक्शन की जगह पर दिखते हैं.
inputOffset
शून्य पर आधारित यूनिकोड कैरेक्टर ऑफ़सेट, input
में कर्सर की जगह दिखाता है. कर्सर की जगह से यह तय होता है कि कौनसे सुझाव दिखाए जाएंगे. खाली होने पर, इसकी डिफ़ॉल्ट लंबाई input
होती है.
LocationBias या जगह की जानकारी पर पाबंदी
खोज एरिया के बारे में बताने के लिए, locationBias
या locationRestriction
तय किया जा सकता है, लेकिन दोनों को नहीं. locationRestriction
के हिसाब से, वह क्षेत्र तय करता है जिसमें नतीजे होने चाहिए. साथ ही, locationBias
का मतलब वह क्षेत्र तय करना है जहां नतीजे, क्षेत्र के पास तो होने चाहिए, लेकिन उसके बाहर भी हो सकते हैं.
locationBias
खोजे जाने वाले किसी क्षेत्र के बारे में बताता है. इस जगह की जानकारी पूर्वाग्रह के तौर पर दिखाई जाती है. इसका मतलब है कि बताई गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इसमें, ऐसी जगह से बाहर के नतीजे भी शामिल हैं.locationRestriction
खोजे जाने वाले किसी क्षेत्र के बारे में बताता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.
locationBias
या locationRestriction
इलाके को आयताकार व्यूपोर्ट या सर्कल के तौर पर तय करें.
सर्कल को सेंटर पॉइंट और मीटर में रेडियस से तय किया जाता है. दायरा 0.0 से 50, 000.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);
GooglePlacesSwift
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);
GooglePlacesSwift
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];
GooglePlacesSwift
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
सेशन टोकन, यूज़र जनरेटेड स्ट्रिंग होते हैं जो ऑटोकंप्लीट (नए) कॉल को "सेशन" के तौर पर ट्रैक करते हैं. ऑटोकंप्लीट (नया) सुविधा, बिलिंग के मकसद से उपयोगकर्ता के ऑटोकंप्लीट खोज की क्वेरी और उसे चुनने के चरणों को अलग-अलग सेशन में ग्रुप करने के लिए सेशन टोकन का इस्तेमाल करती है. ज़्यादा जानकारी के लिए, सेशन टोकन देखें.
ऑटोकंप्लीट की सुविधा (नए) के उदाहरण
जगह की पाबंदी और 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. } } }];
GooglePlacesSwift
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. } } }];
GooglePlacesSwift
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 में बताए गए हैं. ज़्यादा से ज़्यादा पांच वैल्यू की कैटगरी तय की जा सकती है. अगर इसे छोड़ दिया जाता है, तो सभी तरह के नतीजे दिखते हैं.
इस उदाहरण में, "सॉकर" की क्वेरी स्ट्रिंग के बारे में बताया गया है. साथ ही, "sporting_goods_store"
टाइप के संस्थानों के नतीजों पर पाबंदी लगाने के लिए, टाइप पैरामीटर का इस्तेमाल किया गया है:
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. } } }];
GooglePlacesSwift
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. } } }];
GooglePlacesSwift
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 Maps होना चाहिए. मैप के बिना ऑटोकंप्लीट (नई सुविधा) की सुविधा से मिले सुझाव दिखाते समय, आपको खोज फ़ील्ड/खोज के नतीजों के साथ Google का लोगो शामिल करना होगा. ज़्यादा जानकारी के लिए, Google लोगो और एट्रिब्यूशन दिखाना देखें.