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

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

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

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

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

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

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

ऑटोकंप्लीट की सुविधा (नए) अनुरोध

इस 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: कोई खास नाम और साफ़ तौर पर जानकारी देने वाला टेक्स्ट, जैसे कि शहर या क्षेत्र.

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

क्वेरी

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

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

प्रकार

किसी जगह का सिर्फ़ एक प्राइमरी टाइप टाइप टेबल में हो सकता है 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 और 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);

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 तक के बीच होनी चाहिए 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.
}
  

इस्तेमाल के टाइप

किसी अनुरोध में मौजूद नतीजे को किसी खास टाइप के खोज नतीजों में दिखाने से रोकने के लिए, type पैरामीटर का इस्तेमाल करें प्रकार जैसा टेबल में दिया गया है 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 लोगो दिखाना और एट्रिब्यूशन में बदल सकते हैं.