Places SDK ל-iOS תומך בהשלמה אוטומטית של מקומות הקיימת. אם אתם מכירים את התכונה הקיימת 'השלמה אוטומטית למקומות', אלו השינויים בגרסה החדשה של השלמה אוטומטית למקומות:
נעשה שימוש במודל תמחור חדש. למידע על התמחור של כל ממשקי ה-API, ראו תמחור של Places SDK ל-iOS (חדש).
כדי לשלוח בקשה, צריך להפעיל את השיטה החדשה
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
.מעבירים לבקשה:
מופע של הכיתה החדשה
GMSAutocompleteRequest
שמגדירה את כל פרמטרים הבקשה, כמו השאילתה ואסימון הסשן.קריאה חוזרת מסוג
GMSAutocompleteSuggestionsCallback
לטיפול בתגובה.
מעכשיו, אפשר להשתמש בכיתה
GMSAutocompleteFilter
כדי:- הגדרת קוד האזור שמשמש לקביעת הפורמט של התוצאות.
- מגדירים את ההיסט של החיזוי, שהוא היסט של תו Unicode מבוסס-אפס של השאילתה.
התשובה מוגדרת על ידי הכיתה החדשה
GMSAutocompleteSuggestion
. המחלקה הזו מכילה מערך של מופעים מהסוג החדשGMSAutocompletePlaceSuggestion
שמייצגים את ההצעות.הסשן מסתיים בקריאה ל-פרטי המקום (חדש) או ל-אימות כתובת. למידע נוסף, ראו תמחור של השלמה אוטומטית (חדש) ותמחור של סשנים.
בקשה לדוגמה
כשמשתמשים ב'השלמה אוטומטית של מקומות (חדשה)', שולחים בקשה ומעבירים את כל הפרמטרים במכונה GMSAutocompleteRequest
:
Swift
let token = GMSAutocompleteSessionToken()
let northEastBounds = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874)
let southWestBounds = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572)
let filter = GMSAutocompleteFilter()
filter.types = [kGMSPlaceTypeRestaurant]
filter.locationBias = GMSPlaceRectangularLocationOption(northEastBounds, southWestBounds)
let request = GMSAutocompleteRequest(query:"Sicilian piz")
request.filter = filter
request.sessionToken = token
GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { results, error in
// Handle response
})
Objective-C
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.38816277477739, -122.08813770258874);
CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.39580487866437, -122.07702325966572);
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.
}
}
}];