以下のメソッドを使用して、GMSPlacesClientクラスの入力文字列のオートコンプリート結果を取得しています。
- (void)autocompleteQuery:(NSString *)query
bounds:(GMSCoordinateBounds * GMS_NULLABLE_PTR)bounds
filter:(GMSAutocompleteFilter * GMS_NULLABLE_PTR)filter
callback:(GMSAutocompletePredictionsCallback)callback
複数の方法で境界を実装しようとしましたが、どれも機能しませんでした。GMSCoordinateBoundsを使用して国固有の結果を取得する標準的な方法があるのでしょうか。
あなたのグーグルプレイスAPIURLで、ただ追加してください
&components=country:sg
here sg = country code for singapore. Append country code as per your requirement.
国は、ISO 3166-1Alpha-2互換の国コードの2文字として渡す必要があります。参照できます さまざまな国の国コード
これは私のために働く
let placesClient = GMSPlacesClient()
let filter = GMSAutocompleteFilter()
filter.type = .Establishment
filter.country = "SG"
placesClient.autocompleteQuery(searchString, bounds: nil, filter: filter) { (results, error:NSError?) -> Void in
self.resultsArray.removeAll()
if let _ = results {
for result in results!{
if let res: GMSAutocompletePrediction = result {
// your code
}
}
}
}
国コードの完全なリストはここにあります:
https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2
一緒に使用してください:
let filter = GMSAutocompleteFilter()
filter.country = "YOURCountryCode"
IOS用のGoogleオートコンプリートPlacesAPIは、国によるフィルタリングをサポートしていないようです。 GMSCoordinateBounds
は、2つのコーナーで定義された長方形の領域に対応するnorthEastとsouthWestの境界を使用します。
Google Places API Webサービス を使用してcomponents=country:
でフィルタリングする方が簡単な場合がありますcountry:
の後に必要な国を指定できます