Places SDK ל-iOS תומך בהשלמה אוטומטית של מקום. אם אתם מכירים את תכונת ההשלמה האוטומטית הקיימת במקום, הגרסה החדשה של השלמה אוטומטית במקום מבצעת את השינויים הבאים:
משתמש במודל תמחור חדש. למידע על התמחור של כל ממשקי ה-API, ראו תמחור של Places SDK ל-iOS (חדש).
כדי לשלוח בקשה, צריך לבצע קריאה ל-method החדש
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.
}
}
}];