जगह का अपने-आप पूरा होना (नया)

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

ऑटोकंप्लीट (नई) सेवा, iOS एपीआई है. यह किसी अनुरोध के जवाब में, जगह के सुझाव दिखाती है. अनुरोध में, खोज के लिए जगह तय करने वाली टेक्स्ट खोज स्ट्रिंग और भौगोलिक सीमाएं दें.

ऑटोकंप्लीट (नई) सेवा, इनपुट के पूरे शब्दों और सबस्ट्रिंग से मैच कर सकती है. साथ ही, जगहों के नाम, पते, और प्लस कोड का पता लगा सकती है. इसलिए, ऐप्लिकेशन उपयोगकर्ता के टाइप करते ही क्वेरी भेज सकते हैं, ताकि जगह के सुझाव तुरंत दिए जा सकें.

जगह के सुझाव, कारोबार, पते, और दिलचस्प जगहों जैसी जगहें होती हैं. ये सुझाव, डाली गई टेक्स्ट स्ट्रिंग और खोज के लिए चुने गए इलाके के आधार पर मिलते हैं.

उदाहरण के लिए, आपने एपीआई को कॉल करने के लिए, इनपुट के तौर पर ऐसी स्ट्रिंग का इस्तेमाल किया है जिसमें उपयोगकर्ता का कुछ इनपुट, "Spagh" शामिल है. साथ ही, खोज के लिए न्यूयॉर्क सिटी को चुना गया है. इसके बाद, जवाब में जगह के सुझाव की एक सूची दिखती है. यह सूची, खोज क्वेरी और खोज के इलाके से मेल खाने वाली जगहों की होती है. जैसे, "Cafe Spaghetti" नाम का रेस्टोरेंट. साथ ही, इसमें जगह की जानकारी भी शामिल होती है.

जगह के सुझाव, उपयोगकर्ता को दिखाए जाने के लिए डिज़ाइन किए गए हैं, ताकि वह अपनी पसंद की जगह चुन सके. जगह के सुझावों के बारे में ज़्यादा जानकारी पाने के लिए, जगह की जानकारी (नया) का अनुरोध किया जा सकता है.

ऑटोकंप्लीट (नया) अनुरोध

GMSPlaceClient पर कोई तरीका कॉल करके, ऑटोकंप्लीट करने का अनुरोध करें. GMSAutocompleteRequest ऑब्जेक्ट में पैरामीटर पास किए जा सकते हैं. रिस्पॉन्स में, GMSAutocompletePlaceSuggestion ऑब्जेक्ट में ऑटोकंप्लीट के सुझाव दिए जाते हैं.

एपीआई पासकोड और query पैरामीटर ज़रूरी हैं. अनुरोधों को बिलिंग सेशन से जोड़ने के लिए, GMSAutocompleteSessionToken और नतीजों पर लागू करने के लिए, GMSAutocompleteFilter को भी शामिल किया जा सकता है.

ज़रूरी और वैकल्पिक पैरामीटर के बारे में ज़्यादा जानकारी के लिए, इस दस्तावेज़ का पैरामीटर सेक्शन देखें.

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))")
        }
      }
    })
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.
    }
  }
}];
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: खास नाम और शहर या इलाके जैसा ऐसा टेक्स्ट जिससे किसी चीज़ के बारे में साफ़ तौर पर पता चलता हो.

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

क्वेरी

वह टेक्स्ट स्ट्रिंग जिस पर खोजना है. पूरे शब्द और सबस्ट्रिंग, जगह के नाम, पते, और plus codes की जानकारी दें. ऑटोमैटिक भरने की सुविधा (नई) इस स्ट्रिंग के आधार पर, मिलते-जुलते नाम दिखाती है. साथ ही, नतीजों को उनके काम के होने के हिसाब से क्रम में लगाती है.

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

प्रकार

किसी जगह के लिए, टेबल A या टेबल B में से सिर्फ़ एक प्राइमरी टाइप चुना जा सकता है. उदाहरण के लिए, प्राइमरी टाइप mexican_restaurant या steak_house हो सकता है.

डिफ़ॉल्ट रूप से, एपीआई input पैरामीटर के आधार पर सभी जगहों की जानकारी दिखाता है. भले ही, जगह के प्राइमरी टाइप की वैल्यू कुछ भी हो. types पैरामीटर को पास करके, नतीजों को किसी खास प्राइमरी टाइप या प्राइमरी टाइप तक सीमित करें.

इस पैरामीटर का इस्तेमाल करके, टेबल A या टेबल B में से, टाइप की ज़्यादा से ज़्यादा पांच वैल्यू तय करें. जवाब में शामिल की जाने वाली जगह, प्राइमरी टाइप की बताई गई वैल्यू से मेल खानी चाहिए.

INVALID_REQUEST गड़बड़ी की वजह से अनुरोध अस्वीकार किया जाता है, अगर:

  • पांच से ज़्यादा टाइप तय किए गए हैं.
  • ऐसे सभी टाइप के बारे में बताया गया है जिनकी पहचान नहीं हो सकी.

देश

सिर्फ़ उन देशों/इलाकों के नतीजे शामिल करें जिनकी सूची दी गई है. यह सूची, ccTLD ("टॉप-लेवल डोमेन") के तौर पर दी गई है. इसमें दो वर्णों की ज़्यादा से ज़्यादा 15 वैल्यू हो सकती हैं. अगर इस एट्रिब्यूट को शामिल नहीं किया जाता है, तो जवाब पर कोई पाबंदी नहीं लगाई जाती. उदाहरण के लिए, जर्मनी और फ़्रांस तक क्षेत्रों को सीमित करने के लिए:

let filter = GMSAutocompleteFilter()
filter.countries = ["DE", "FR"]
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.countries = @[ @"DE", @"FR" ];
let filter = AutocompleteFilter(countries: ["DE", "FR"])
  

अगर आपने locationRestriction और countries, दोनों की वैल्यू दी है, तो नतीजे, दोनों सेटिंग के इंटरसेक्शन वाले एरिया में दिखेंगे.

inputOffset

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

locationBias या locationRestriction

खोज के लिए जगह तय करने के लिए, locationBias या locationRestriction में से किसी एक का इस्तेमाल किया जा सकता है. locationRestriction को उस इलाके के तौर पर देखें जहां नतीजे होने चाहिए. वहीं, locationBias को उस इलाके के तौर पर देखें जहां नतीजे होने चाहिए, लेकिन वे उस इलाके से बाहर भी हो सकते हैं.

  • locationBias, खोज के लिए कोई इलाका तय करता है. यह जगह, खोज के नतीजों को बायस करती है. इसका मतलब है कि खोज के नतीजे, बताई गई जगह के आस-पास के इलाकों के साथ-साथ, बताई गई जगह से बाहर के इलाकों के भी हो सकते हैं.

  • locationRestriction, खोज के लिए कोई इलाका तय करता है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते.

locationBias या locationRestriction क्षेत्र को रेक्टैंगल के आकार वाले व्यूपोर्ट या सर्कल के तौर पर तय करें.

किसी वृत्त को उसके केंद्र बिंदु और त्रिज्या से तय किया जाता है. त्रिज्या को मीटर में दिखाया जाता है. दायरा 0.0 और 50, 000.0 के बीच होना चाहिए. डिफ़ॉल्ट वैल्यू 0.0 होती है. locationRestriction के लिए, आपको त्रिज्या को 0.0 से ज़्यादा की वैल्यू पर सेट करना होगा. ऐसा न करने पर, अनुरोध से कोई नतीजा नहीं मिलता.

उदाहरण के लिए:

let center = CLLocationCoordinate2DMake(40.730610, -73.935242)
let radius = 1000.0

filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242);
radius = 1000.0;

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
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, दोनों में वैल्यू होनी चाहिए. साथ ही, दिखाया गया बॉक्स खाली नहीं होना चाहिए. खाली व्यूपोर्ट की वजह से गड़बड़ी होती है.

उदाहरण के लिए, यह व्यूपोर्ट पूरी तरह से न्यूयॉर्क सिटी को कवर करता है:

let high = CLLocationCoordinate2DMake(40.921628, -73.700051)
let low = CLLocationCoordinate2DMake(40.477398, -74.259087)

let filter = GMSAutocompleteFilter()
filter.locationBias = GMSPlaceRectangularLocationOption(high, low)
CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087);
CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051);

GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
filter.locationBias = GMSPlaceRectangularLocationOption(high, low);
let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087)
let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051)

let filter = AutocompleteFilter(coordinateRegionBias: bias)
  

origin

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

let filter = GMSAutocompleteFilter()
filter.origin =  CLLocation(latitude: 37.395804, longitude: -122.077023)
 
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];

filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
  

regionCode

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

अगर आपने क्षेत्र का अमान्य कोड डाला है, तो एपीआई INVALID_ARGUMENT के साथ गड़बड़ी का मैसेज दिखाता है. लागू कानून के आधार पर, इस पैरामीटर से नतीजों पर असर पड़ सकता है.

sessionToken

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

ऑटोकंप्लीट (नया) के उदाहरण

locationRestriction और locationBias का इस्तेमाल करना

ऑटोकंप्लीट (नया) सुविधा, खोज के लिए जगह को कंट्रोल करने के लिए, डिफ़ॉल्ट रूप से आईपी बायसिंग का इस्तेमाल करती है. आईपी बायसिंग की मदद से, एपीआई नतीजों में बायस करने के लिए डिवाइस के आईपी पते का इस्तेमाल करता है. खोज के लिए कोई इलाका तय करने के लिए, locationRestriction या locationBias में से किसी एक का इस्तेमाल किया जा सकता है. हालांकि, दोनों का इस्तेमाल नहीं किया जा सकता.

जगह की पाबंदी से पता चलता है कि किस इलाके में खोज करनी है. तय किए गए इलाके से बाहर के नतीजे नहीं दिखाए जाते. इस उदाहरण में, जगह की जानकारी की पाबंदी का इस्तेमाल करके, अनुरोध को सैन फ़्रांसिस्को के आस-पास 5,000 मीटर के दायरे में सीमित किया गया है:

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))")
        }
      }
    })
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.
    }
  }
}];
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.
}
  

जगह के हिसाब से नतीजे दिखाने की सुविधा में, जगह को प्राथमिकता दी जाती है. इसका मतलब है कि बताई गई जगह के आस-पास के नतीजे दिखाए जा सकते हैं. इनमें बताई गई जगह से बाहर के नतीजे भी शामिल हो सकते हैं. अगले उदाहरण में, जगह के हिसाब से जानकारी दिखाने के लिए, पिछले अनुरोध में बदलाव किया गया है:

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))")
        }
      }
    })
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.
    }
  }
}];
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" टाइप के कारोबारों तक सीमित किया गया है:

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))")
        }
      }
    })
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.
    }
  }
}];
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 के तौर पर दूरी दिखती है.

इस उदाहरण में, सैन फ़्रांसिस्को के बीच को ऑरिजिन के तौर पर सेट किया गया है:

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))")
        }
      }
    })
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.
      }
    }
}];
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 का लोगो और एट्रिब्यूशन दिखाना लेख पढ़ें.