0

以下は私の方法です:

List<Address> addresses = null;
    addresses = new Geocoder(passengerHomeActivity).getFromLocationName(this.addressInput.getText().toString(), 1);

Geocoder getFromLocationNameの範囲を特定の1つの都市に制限する方法はありますか?都市名を書かずに住所を入力すると、同じで別の都市の住所にたどり着くことがあります。

私の考えは、ユーザーのlatitudelongitudeを取得し、都市の値を取得し、getFromLocationNameメソッドに制限スコープを設定することですが、実装についての手がかりはありません。

ありがとう

4

2 に答える 2

1

次のコードを使用します。

List<Address> addresses = new Geocoder(passengerHomeActivity).getFromLocationName((this.addressInput.getText().toString()) + ", YourCity, YourCountry", 1);`
于 2015-01-04T13:31:47.397 に答える
0

Locale を渡すコンストラクターを使用します。

Geocoder(Context context, Locale locale)

次のように使用します。

Locale locale = new Locale(Locale.getDefault().getLanguage(), "US");
Geocoder geo = new Geocoder(context, locale)
addresses = geo.getFromLocationName(term, 1);

これはアプローチであることに注意してください。何も見つからない限り、その国での結果が得られるからです (その場合はとにかく世界中に返されます)。

于 2016-03-15T12:30:00.583 に答える