我有一个Android应用程序推出市场超过6个月, geocoder.getFromLocation()用于"翻译" latitude和longitude人类可读的地址:
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
List<Address> addresses = geocoder.getFromLocation(latitude, longitude, 1);
Run Code Online (Sandbox Code Playgroud)
一切都很好,直到7小时前(2016-01-15 04:00 UTC).使用Google支持并根据他们的建议,在此处发布问题,看看是否有人有任何想法来解决此问题.
我已经与Maps API的工程团队进行了交谈,似乎Android Geocoder使用的是与我们支持的Geocoding API不同的后端,因此我们现在无法做多少.
此外...
我必须通过坐标获得一个地址,但它不起作用并输出"无法获取地址":
public String GetAddress(String lat, String lon)
{
Geocoder geocoder = new Geocoder(this, Locale.ENGLISH);
String ret = "";
try {
List<Address> addresses = geocoder.getFromLocation(Double.parseDouble(lat), Double.parseDouble(lon), 1);
if(addresses != null) {
Address returnedAddress = addresses.get(0);
StringBuilder strReturnedAddress = new StringBuilder("");
for(int i=0; i<returnedAddress.getMaxAddressLineIndex(); i++) {
strReturnedAddress.append(returnedAddress.getAddressLine(i)).append("\n");
}
ret = strReturnedAddress.toString();
ret=ret.substring(0, ret.length() - 1);
}
else{
ret = "Unknown Address";
}
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
ret = "Couldn't get Address";
}
return ret;
} …Run Code Online (Sandbox Code Playgroud) 我正在开发一个依赖网络来获取一些位置信息的应用程序。一切工作正常,除了有时互联网很慢,并且 Geocoder 类在发送结果之前超时。
Geocoder geocoder = new Geocoder(mContext, Locale.getDefault());
Run Code Online (Sandbox Code Playgroud)
我尝试研究地理编码器的方法,但没有超时。我怎样才能解决这个问题?
addresses = geocoder.getFromLocation(lat, lon, 1);在asynctask的doInBackground()内部。
谢谢。