Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将Geocoder getFromLocationName范围限制为一个特定城市_Android - Fatal编程技术网

Android 将Geocoder getFromLocationName范围限制为一个特定城市

Android 将Geocoder getFromLocationName范围限制为一个特定城市,android,Android,以下是我的方法: List<Address> addresses = null; addresses = new Geocoder(passengerHomeActivity).getFromLocationName(this.addressInput.getText().toString(), 1); 列表地址=null; addresses=新地理编码器(passengerHomeActivity).getFromLocationName(this.addressInp

以下是我的方法:

List<Address> addresses = null;
    addresses = new Geocoder(passengerHomeActivity).getFromLocationName(this.addressInput.getText().toString(), 1);
列表地址=null;
addresses=新地理编码器(passengerHomeActivity).getFromLocationName(this.addressInput.getText().toString(),1);
有没有办法将
地理编码器
getFromLocationName
的范围限制在一个特定的城市?有时,当我输入一个地址而不写下城市名称时,它会将我带到一个地址,该地址是相同的,但在另一个城市

我的想法是通过获取用户的
纬度
经度
,获取城市的值,并将限制范围设置为
getFromLocationName
方法,但我对实现没有任何线索

谢谢使用此代码:

List<Address> addresses = new Geocoder(passengerHomeActivity).getFromLocationName((this.addressInput.getText().toString()) + ", YourCity, YourCountry", 1);`
List addresses=new Geocoder(passengerHomeActivity).getFromLocationName((this.addressInput.getText().toString())+“,YourCity,YourCountry”,1)`

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

Geocoder(Context context, Locale locale)
像这样使用它:

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

请注意,这是一个aproach,因为它将在该国为您提供结果,除非未找到任何结果(在这种情况下,无论如何都会返回到世界各地)。

您好,hectichavana,您找到答案了吗?我也有同样的问题。是的,我找到了一个解决方法,使用Geopoint获取用户当前位置,获取城市名称,将其作为字符串获取,并将其放入搜索查询中。因此,搜索查询将是“editText.getString()+用户当前城市”,如果用户在搜索查询中键入城市,您会这样做吗?您的查询将包含两次城市名称。过滤结果不是更好吗?