Places SDK for iOS は、既存の Place Autocomplete をサポートしています。既存の Place Autocomplete をご存じの方のために、新しいバージョンの Place Autocomplete の変更点について説明します。
新しい料金モデルを使用します。すべての API の料金については、Places SDK for iOS の料金(新規)をご覧ください。
リクエストを送信するには、新しい
GMSPlacesClient fetchAutocompleteSuggestionsFromRequest:
メソッドを呼び出します。リクエストに渡します。
クエリやセッション トークンなど、すべてのリクエスト パラメータを定義する新しい
GMSAutocompleteRequest
クラスのインスタンス。レスポンスを処理する
GMSAutocompleteSuggestionsCallback
タイプのコールバック。
GMSAutocompleteFilter
クラスで次の操作が可能になりました。- 結果の形式の決定に使用する地域コードを設定します。
- 予測オフセット(クエリのゼロベースの Unicode 文字オフセット)を設定します。
レスポンスは、新しい
GMSAutocompleteSuggestion
クラスで定義されます。このクラスには、候補を表す新しい型GMSAutocompletePlaceSuggestion
のインスタンスの配列が含まれています。セッションは、Place Details(新版)またはAddress Validation のいずれかの呼び出しで終了します。詳しくは、Place Autocomplete(新規)とセッションの料金をご覧ください。
リクエスト例
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.
}
}
}];