0

以下是我的方法:

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

有没有办法将Geocoder getFromLocationName' 的范围限制在一个特定的城市?有时,当我输入一个地址而不写城市名称时,它会将我带到一个相同的地址,但在另一个城市。

我的想法是通过获取用户的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

使用传递区域设置的构造函数。

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 回答