Android 4.1 Geocoder.getLocationFromName()抛出IOException:无法通过3G解析来自服务器的响应

Mar*_*kis 1 android geocoding geolocation google-geocoder

我在我的Android应用程序中使用Geocoder将字符串解析为地址.以下代码片段通过Wifi正常工作,但不能通过3G.当超过3G时,它会抛出一个IOException: Unable to parse response from server.

在关于此的其他讨论中,一个常见的答案是可能的原因是Geocoder被使用了很多次/分钟,超过了阈值,并导致服务暂时抛出异常.我相信这不是我的情况,因为我从来没有得到过我的新手机(Nexus S,android 4.1)的服务,这是几个星期前我得到的.

这是片段:

Geocoder gc = new Geocoder(this);
List<Address> newAddresses = gc.getFromLocationName(arg0.toString(), 10);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

CQM*_*CQM 10

使用google的web api而不是使用GeoCoder,你可以对它进行异步api调用,并获得比android地理编码器给你更多信息的json对象.

它更好https://developers.google.com/maps/documentation/geocoding/

我已经在几个Android应用程序中完成了这一点,这也保证了您将从跨平台应用程序获得相同类型的结果