Places SDK สำหรับ iOS รองรับ Place Autocomplete (เดิม) หากคุณคุ้นเคยกับ Place Autocomplete (เดิม) Place Autocomplete (ใหม่) จะมีการเปลี่ยนแปลงดังนี้
ใช้โมเดลการกำหนดราคาใหม่ ดูข้อมูลราคาของ API ทั้งหมดได้ที่ หัวข้อการกำหนดราคาสำหรับ Places SDK สำหรับ iOS (ใหม่)
หากต้องการส่งคำขอ ให้เรียกใช้เมธอดใหม่
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:ส่งข้อมูลต่อไปนี้ไปยังคำขอ
อินสแตนซ์ของคลาสใหม่
GMSAutocompleteRequestที่กำหนดพารามิเตอร์คำขอทั้งหมด เช่น การค้นหาและโทเค็นของเซสชันการเรียกกลับประเภท
GMSAutocompleteSuggestionsCallbackเพื่อจัดการการตอบกลับ
ตอนนี้คลาส
GMSAutocompleteFilterช่วยให้คุณทำสิ่งต่อไปนี้ได้- ตั้งค่ารหัสภูมิภาคที่ใช้กำหนดรูปแบบของผลลัพธ์
- ตั้งค่าออฟเซ็ตการคาดการณ์ ซึ่งเป็นออฟเซ็ตอักขระ Unicode ที่อิงตาม 0 ของการค้นหา
การตอบกลับกำหนดโดยคลาสใหม่
GMSAutocompleteSuggestionคลาสนี้มีอาร์เรย์ของอินสแตนซ์ประเภทใหม่GMSAutocompletePlaceSuggestionซึ่งแสดงถึงคำแนะนำตอนนี้เซสชันจะสิ้นสุดด้วยการเรียกใช้รายละเอียดสถานที่ (ใหม่) หรือ Address Validation ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อ การเติมข้อความอัตโนมัติ (ใหม่) และการกำหนดราคาเซสชัน
ตัวอย่างคำขอ
เมื่อใช้ Place Autocomplete (ใหม่) คุณจะส่งคำขอและส่งพารามิเตอร์ทั้งหมดในอินสแตนซ์ 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.
}
}
}];