GoogleプレイスオートコンプリートAPIで使用されているLatLngBounds
オブジェクトは何ですか?GeoDataApi.getAutocompletePredictions()でLatLngBoundsの目的は何ですか?
..及び/又はそれが何を意味:
が緯度および経度境界
によって指定された特定領域に結果にバイアスをかけますか?
Googleプレイスオートコンプリートのドキュメントでは、LatLngBounds
とAutocompleteFilter
が渡されます。場所オートコンプリートを使用するには
PendingResult<AutocompletePredictionBuffer> result =
Places.GeoDataApi.getAutocompletePredictions(
mGoogleApiClient, query, bounds, autocompleteFilter);
、私は国によって言う、AutocompleteFilterは結果を制限どのように見ることができます。明確でないことは、LatLngBounds
がどのように使用されているかです。サンプルコードでは、これは境界オブジェクトのためにそこにある:
private static final LatLngBounds BOUNDS_MOUNTAIN_VIEW =
new LatLngBounds(
new LatLng(37.398160, -122.180831),
new LatLng(37.430610, -121.972090));
それはバウンドがマウンテンビュー(SFベイエリアカリフォルニアの都市)にあると言い、まだフィルタがnullのとき、私はまだ他の国の結果を得ることができます。このリソースから
: https://developers.google.com/places/android-api/autocomplete
アプリは(GeoDataApi.getAutocompletePredictionsを呼び出すことによって、オートコンプリートサービスから予測地名および/またはアドレスのリストを取得することができます)、以下のパラメータを渡す:
を必須:A LatLngBoundsオブジェクト。緯度と経度の境界で指定された特定の領域に結果をバイアスします。
オプション:オートコンプリートフィルタには、1つ以上の種類の場所に結果を制限するために使用できる場所の種類のセットが含まれています。
私が正確に理解しているかどうかはわかりません。なぜなら、バインディングの外側に結果が表示されていたからです。それは、オーストラリアとニューヨークで同じ名前の2つのカフェがある場合、「LatLngBounds」をニューヨーク内に設定し、国を制限するフィルタを持たないようにすると、ニューヨークのカフェが最初に現れることを意味します。オーストラリアでは依然として優先順位が下がっていますか? – gnB
私の更新されたコードを見てください。私の場合、期待どおりに働いています。 radiusDegreesを設定しましたか? –
そこに素敵なサンプルコードがあります。私は、 'BOUNDS_MOUNTAIN_VIEW'の例で定義されている' LatLngBounds'オブジェクトを使っていました。私の要件は、少なくとも全国規模で検索することです。境界が1都市だけであると言えば、境界オブジェクトによって検索半径が小さくなりすぎるという懸念があります。しかし、NY City、USA **の前に、California ** New York Pizza **(マウンテンビューの境界線に近い)のローカルビジネスが登場しても、NY Cityが登場することはまだあります。私はこれが文書が* "**バイアスをかける**結果" *を意味するものだと思う。実際には***の概念を制限する***これらの結果を制限する – gnB