我在我的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);
有什么想法吗?
答案 0 :(得分:10)
使用google的web api代替使用GeoCoder,你可以对它进行异步api调用,并获得比android地理编码器给你更多信息的json对象。
更好https://developers.google.com/maps/documentation/geocoding/
我在几个Android应用程序中完成了这项工作,这也保证了您可以从跨平台应用程序获得相同类型的结果