Places SDK for iOS hỗ trợ tính năng Tự động hoàn thành địa điểm (Phiên bản cũ). Nếu bạn đã quen thuộc với tính năng Tự động hoàn thành địa điểm (Cũ), thì tính năng Tự động hoàn thành địa điểm (Mới) sẽ có những thay đổi sau:
Sử dụng mô hình định giá mới. Để biết thông tin về giá của tất cả các API, hãy xem Giá của Places SDK cho iOS (Mới).
Để đưa ra yêu cầu, hãy gọi phương thức
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:mới.Truyền đến yêu cầu:
Một phiên bản của lớp
GMSAutocompleteRequestmới xác định tất cả các tham số yêu cầu, chẳng hạn như mã thông báo truy vấn và phiên.Một lệnh gọi lại thuộc loại
GMSAutocompleteSuggestionsCallbackđể xử lý phản hồi.
Lớp
GMSAutocompleteFilterhiện cho phép bạn:- Đặt mã khu vực dùng để xác định định dạng của kết quả.
- Đặt độ lệch dự đoán, độ lệch ký tự Unicode dựa trên mốc 0 của truy vấn.
Phản hồi được xác định bằng lớp
GMSAutocompleteSuggestionmới. Lớp này chứa một mảng các thực thể của loại mớiGMSAutocompletePlaceSuggestion, đại diện cho các đề xuất.Phiên này kết thúc bằng một lệnh gọi đến Place Details (New) (Chi tiết về địa điểm (Mới)) hoặc Address Validation (Xác thực địa chỉ). Để biết thêm thông tin, hãy xem bài viết Tính năng tự động hoàn thành (mới) và giá theo phiên.
Ví dụ về yêu cầu
Với tính năng Tự động hoàn thành địa điểm (Mới), bạn sẽ đưa ra yêu cầu và truyền tất cả các tham số trong phiên bản 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.
}
}
}];