Autocomplete(新)サービスは リクエストに応じて場所の候補を返します。リクエストで、 テキスト検索文字列と、検索領域を制御する地理的境界。
予測入力(新)サービスは、 照合して、場所の名前や住所を解決し、 。したがって、アプリケーションはユーザーとして その場で場所の候補を表示します。
場所の候補は、お店やサービス、住所、地図上の場所などの場所です。 指定した入力テキスト文字列と検索領域に基づいて、興味 / 関心を洗い出します。
たとえば、入力に部分的な文字列を含む文字列を使用して、API を呼び出します。 ユーザー入力「Spagh」。検索範囲をニューヨーク市に限定しています。 レスポンスには、検索に一致する場所の候補のリストが含まれます。 たとえば「Cafe Spaghetti」という名前のレストラン、 場所の詳細が表示されます
返される場所の候補は、ユーザーに表示されるように設計されており、 希望の場所を選ぶことができますPlace Details を作成して (新規)追加リクエスト 返された場所の提案に関する情報。
予測入力(新)リクエスト
予測入力リクエストを作成するには、
GMSPlaceClient
。
パラメータは、
GMSAutocompleteRequest
渡されます。レスポンスでは、予測入力候補が
GMSAutocompletePlaceSuggestion
渡されます。
API キーと query
パラメータは必須です。また、
GMSAutocompleteSessionToken
リクエストを請求セッションに関連付け
GMSAutocompleteFilter
結果に適用します。
必須パラメータと省略可能なパラメータの詳細については、このドキュメントのパラメータ セクションをご覧ください。
Swift
let token = GMSAutocompleteSessionToken() let northWestBounds = CLLocationCoordinate2DMake(40.921628, -73.700051) let southEastBounds = CLLocationCoordinate2DMake(40.477398, -74.259087) let filter = GMSAutocompleteFilter() filter.types = [kGMSPlaceTypeRestaurant] filter.locationBias = GMSPlaceRectangularLocationOption(northWestBounds, southEastBounds) let request = GMSAutocompleteRequest(query:"Spagh") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(37.388162, -122.088137); CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(37.395804, -122.077023); 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. } } }];
Places Swift SDK for iOS(プレビュー)
let center = (37.3913916, -122.0879074) let northEast = (37.388162, -122.088137) let southWest = (37.395804, -122.077023) let bias = RectangularCoordinateRegion(northEast: northEast, southWest: southWest) let filter = AutocompleteFilter(types: [ .restaurant ], origin: center, coordinateRegionBias: bias) let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): // Handle suggestions. case .failure(let placesError): // Handle error. }
予測入力(新)の回答
予測入力は最大 5 つの配列を返す
GMSAutocompleteSuggestion
個のインスタンス。配列には次のものが含まれます。
placeID
types
: この場所に適用されるタイプ。distanceMeters
: 出発地からの距離。attributedFullText
: 人が読める形式の候補の全文。attributedPrimaryText
: 人が読める形式の候補のメインテキスト。attributedSecondaryText
: 人が読める形式の候補のセカンダリ テキスト。structuredFormat
: 特定の名前と、都市や地域などのあいまいさを解消するテキスト。
必須パラメータ
クエリ
検索するテキスト文字列。完全な単語と部分文字列を指定し、 名前、住所、Plus Codes。「 予測入力(新)サービスが一致する候補を返す この文字列に基づいて結果を並べ替えます。
オプション パラメータ
タイプ
1 つの場所に設定できるメインのタイプは 1 つだけですタイプテーブル
A または Table
B が関連付けられています。
たとえば、プライマリ タイプは mexican_restaurant
または steak_house
です。
デフォルトでは、API は input
パラメータに基づいてすべての場所を返します。
常に同じである必要があります。検索結果を制限する
特定のプライマリ型またはプライマリ型にするには、
types
パラメータ。
このパラメータを使用して、テーブル A または Table B.場所が一致している必要があります レスポンスに含める、指定されたメインの型の値のいずれか。
次の場合は、リクエストは INVALID_REQUEST
エラーで拒否されます。
- 指定したタイプの数が 5 個より多い。
- 認識されないタイプが指定されています。
実施国数
配列として指定された、指定した地域のリストからの結果のみを含める 最大 15 の国別コード トップレベル ドメイン( ドメイン) 使用できます。省略すると、レスポンスに制限は適用されません。 たとえば、リージョンをドイツとフランスに限定するには、次のようにします。
Swift
let filter = GMSAutocompleteFilter() filter.countries = ["DE", "FR"]
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.countries = @[ @"DE", @"FR" ];
Places Swift SDK for iOS(プレビュー)
let filter = AutocompleteFilter(countries: ["DE", "FR"])
locationRestriction
と countries
の両方を指定すると、結果は次のようになります。
2 つの設定の交差部分に配置します
inputOffset
カーソル位置を示す、ゼロベースの Unicode 文字オフセット。
input
。カーソルの位置は、返される予測の種類に影響します。条件
空の場合、デフォルトは input
です。
locationBias または locationRestriction
locationBias
または locationRestriction
を指定できます。両方は指定できません。
クリックします。locationRestriction
は、実行するリージョンを指定するものと考えてください。
locationBias
には結果が存在するリージョンを指定する必要があります。
結果はエリアの近くである必要がありますが、エリア外でもかまいません。
locationBias
には検索する領域を指定します。この位置はバイアスとなり つまり、指定した場所付近の検索結果が返されます。たとえば、 除外しますlocationRestriction
には、検索するエリアを指定します。範囲外の結果 何も返されません。
locationBias
リージョンまたは locationRestriction
リージョンを長方形として指定する
表示することもできます。
円は、中心点と半径(メートル単位)で定義されます。半径は
0.0 ~ 50000.0 の範囲内(両端を含む)デフォルト値は 0.0 です。対象
locationRestriction
の場合は、半径を 0.0 より大きい値に設定する必要があります。
それ以外の場合、リクエストは結果を返しません。
例:
Swift
let center = CLLocationCoordinate2DMake(40.730610, -73.935242) let radius = 1000.0 filter.locationBias = GMSPlaceCircularLocationOption(center, radius)
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(40.730610, -73.935242); radius = 1000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceCircularLocationOption(center, radius);
Places Swift SDK for iOS(プレビュー)
let center = CLLocationCoordinate2DMake(40.477398, -74.259087) let bias = CircularCoordinateRegion(center: center, radius: 1000.0) let filter = AutocompleteFilter(coordinateRegionBias: bias)
長方形は緯度 / 経度のビューポートで、対角線上に 2 つの
low
と high
の反対側です。ビューポートは閉じた領域と見なされます
意味します。緯度の範囲は -90 ~-90 の範囲で指定してください
90 度(両端を含む)、経度の境界は -180 ~ 180 の範囲で指定してください
度(両端を含む):
low
=high
の場合、ビューポートはその単一点で構成されます。low.longitude
> の場合high.longitude
の場合、経度の範囲は反転します( ビューポートが 180 度の経度線と交差している場合など)。low.longitude
= -180 度、high.longitude
= 180 度の場合、 ビューポートにはすべての経度が含まれます。low.longitude
= 180 度、high.longitude
= -180 度の場合、 経度の範囲が空です。
low
と high
の両方を入力する必要があります。表示されるボックスは入力できません。
空です。ビューポートが空の場合はエラーになります。
たとえば、次のビューポートはニューヨーク市を完全に囲んでいます。
Swift
let high = CLLocationCoordinate2DMake(40.921628, -73.700051) let low = CLLocationCoordinate2DMake(40.477398, -74.259087) let filter = GMSAutocompleteFilter() filter.locationBias = GMSPlaceRectangularLocationOption(high, low)
Objective-C
CLLocationCoordinate2D high = CLLocationCoordinate2DMake(40.477398, -74.259087); CLLocationCoordinate2D low = CLLocationCoordinate2DMake(440.921628, -73.700051); GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceRectangularLocationOption(high, low);
Places Swift SDK for iOS(プレビュー)
let northEast = CLLocationCoordinate2DMake(40.477398, -74.259087) let southWest = CLLocationCoordinate2DMake(40.921628, -73.700051) let filter = AutocompleteFilter(coordinateRegionBias: bias)
オリジン
対象物までの直線距離を計算する原点
宛先(distanceMeters
として返されます)。この値を省略すると、
直線距離は返されません。緯度と経度で指定する必要があります
経度の座標:
Swift
let filter = GMSAutocompleteFilter() filter.origin = CLLocation(latitude: 37.395804, longitude: -122.077023)
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude: -122.077023];
Places Swift SDK for iOS(プレビュー)
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.395804, longitude: -122.077023))
regionCode
レスポンスのフォーマットに使用される地域コード。ccTLD(「top-level」など) ドメイン) 使用できます。ほとんどの ccTLD コードは ISO 3166-1 コードと同一ですが、 いくつか注意すべき例外がありますたとえば、英国の ccTLD は「uk」です。 (.co.uk)、ISO 3166-1 コードは「gb」(厳密に言えば、「The グレート ブリテンおよび北アイルランド連合王国」)。
無効な地域コードを指定すると、API から INVALID_ARGUMENT
が返されます。
エラーが発生します。このパラメータは、適用される法律に基づき、結果に影響する場合があります。
sessionToken
セッション トークンはユーザーが生成した文字列で、 予測入力(新版)の通話は「セッション」として表示されます。 予測入力(新版)では、セッション トークンを使用して ユーザーの予測入力検索のクエリと選択フェーズを個別のセッションに 請求に使用されます。詳しくは、セッション トークン。
予測入力(新)の例
locationRestriction と locationBias を使用する
予測入力(新版)ではデフォルトで IP バイアスが使用されます。
検索範囲を設定します。IP バイアスを設定すると、API は
バイアスをかけることができます必要に応じて、locationRestriction
または
locationBias
を指定します。両方は使用できません。
検索できます。
地域の制限では、検索する地域を指定します。指定範囲外の結果 領域は返されません。次の例では、ロケーション制限を使用して、 半径 5,000 m を中心とする円形の地域の制限に対するリクエスト サンフランシスコ:
Swift
let token = GMSAutocompleteSessionToken() let center = CLLocationCoordinate2DMake(37.775061, -122.419400) let radius = 5000.0 let filter = GMSAutocompleteFilter() filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius) let request = GMSAutocompleteRequest(query:"Piz") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400); radius = 5000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationRestriction = GMSPlaceCircularLocationOption(center, radius); 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. } } }];
Places Swift SDK for iOS(プレビュー)
let center = (37.775061, -122.419400) let radius = 5000.0 let restriction = CircularCoordinateRegion(center: center, radius: radius) let filter = AutocompleteFilter(coordinateRegionRestriction: restriction) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
場所のバイアスを使用すると、場所がバイアスとして機能し、 指定した場所(指定した範囲外の結果も含む)を返すことができます エリアです。次の例では、位置バイアスを使用するように前のリクエストを変更します。
Swift
let token = GMSAutocompleteSessionToken() let center = CLLocationCoordinate2DMake(37.775061, -122.419400) let radius = 5000.0 let filter = GMSAutocompleteFilter() filter.locationBias = GMSPlaceCircularLocationOption(center, radius) let request = GMSAutocompleteRequest(query:"Piz") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(37.775061, -122.419400); radius = 5000.0; GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.locationBias = GMSPlaceCircularLocationOption(center, radius); 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. } } }];
Places Swift SDK for iOS(プレビュー)
let center = (37.775061, -122.419400) let radius = 5000.0 let bias = CircularCoordinateRegion(center: center, radius: radius) let filter = AutocompleteFilter(coordinateRegionBias: bias) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Sicilian piz", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
タイプを使用する
types パラメータを使用して、リクエストの結果を特定のタイプに制限します。 表 A と Table B.1 対 1 の 最大 5 つの値からなる配列。省略すると、すべての型が返されます。
次の例では、「Soccer」というクエリ文字列が指定されていますトレーニング済みの
検索結果を次のタイプの施設に制限するためのパラメータ
"sporting_goods_store"
:
Swift
let token = GMSAutocompleteSessionToken() let filter = GMSAutocompleteFilter() filter.types = ["sporting_goods_store"] let request = GMSAutocompleteRequest(query:"Soccer") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText))") } } })
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.types = @[ "sporting_goods_store" ]; GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Soccer"]; 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. } } }];
Places Swift SDK for iOS(プレビュー)
let filter = AutocompleteFilter(types: [ PlaceType(rawValue: "sporting_goods_store") ]) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Soccer", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
オリジンを使用
リクエストに origin
パラメータを含める場合は、
緯度と経度の座標。API には直線距離、
レスポンスの送信元から送信先へのレスポンスで
距離は distanceMeters
です。
次の例では、原点をサンフランシスコの中心に設定しています。
Swift
let token = GMSAutocompleteSessionToken() let origin = CLLocation(latitude: 37.7749, longitude: -122.4194) let filter = GMSAutocompleteFilter() filter.origin = origin let request = GMSAutocompleteRequest(query:"Amoeba") request.filter = filter request.sessionToken = token GMSPlacesClient.shared().fetchAutocompleteSuggestions(from: request, callback: { ( results, error ) in if let error = error { print("Autocomplete error: \(error)") return } if let autocompleteResults = results { for result in autocompleteResults { print("Result \(String(describing: result.placeSuggestion?.placeID)) with \(String(describing: result.placeSuggestion?.attributedFullText)) and distance: \(String(describing: result.placeSuggestion?.distanceMeters))") } } })
Objective-C
GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init]; filter.origin = [[CLLocation alloc] initWithLatitude:37.395804 longitude:-122.077023]; GMSAutocompleteRequest *request = [[GMSAutocompleteRequest alloc] initWithQuery:@"Amoeba"]; 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. } } }];
Places Swift SDK for iOS(プレビュー)
let filter = AutocompleteFilter(origin: CLLocation(latitude: 37.7749, longitude: -122.4194)) let token = AutocompleteSessionToken() let autocompleteRequest = AutocompleteRequest(query: "Amoeba", sessionToken: token, filter: filter) switch await placesClient.fetchAutocompleteSuggestions(with: autocompleteRequest) { case .success(let autocompleteSuggestions): for suggestion in autocompleteSuggestions { switch suggestion { case .place: // Show place suggestion data. } } case .failure(let placesError): // Handle error. }
帰属表示
予測入力(新版)は、 作成します。地図を表示する場合は、Google マップを使用してください。また、 予測入力(新)サービスからの候補 検索時にインラインで Google ロゴを field/results.詳しくは、Google ロゴと 帰属表示をご覧ください。