安卓4.1 Geocoder.getLocationFromName()抛出IOException异

2019-10-17 06:53发布

我使用的地理编码器在我的Android应用程序,以解决对地址的字符串。 下面的代码片段工作正常通过WiFi,但不超过3G。 当在3G,它抛出一个IOException: Unable to parse response from server

在这个其他讨论,常见的回答是,一个可能的原因是,该地址解析器使用很多次/分钟,超过阈值的,这会导致服务暂时抛出异常。 在我敢肯定这是不是我的情况,因为我从来没有在我的新手机(Nexus S的,安卓4.1),我有几个星期前的工作服务。

这是该片段:

Geocoder gc = new Geocoder(this);
List<Address> newAddresses = gc.getFromLocationName(arg0.toString(), 10);

有任何想法吗?

Answer 1:

而不是使用地理编码器使用谷歌的Web API,你可以进行异步API调用到与比Android的地理编码器甚至更多的信息永远不会给你JSON对象。

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

我在一些Android应用做到了这一点,这也保证你会得到同样的跨平台的,从应用效果



文章来源: Android 4.1 Geocoder.getLocationFromName() throws IOException: Unable to parse response from server ONLY over 3G