【问题标题】:Android 4.1 Geocoder.getLocationFromName() throws IOException: Unable to parse response from server ONLY over 3GAndroid 4.1 Geocoder.getLocationFromName() throws IOException: Unable to parse response from server only over 3G
【发布时间】:2012-09-24 17:20:05
【问题描述】:

我在我的 android 应用程序中使用地理编码器将字符串解析为地址。以下代码的 sn-p 在 Wifi 上正常工作,但在 3G 上不能正常工作。当超过 3G 时,它会抛出一个IOException: Unable to parse response from server

在有关此的其他讨论中,一个常见的答案是可能的原因是地理编码器每分钟使用多次,超过阈值,导致服务暂时抛出异常。我确信这不是我的情况,因为我从来没有在几周前获得的新手机(Nexus S,android 4.1)上使用该服务。

这是sn-p:

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

有什么想法吗?

【问题讨论】:

    标签: android geolocation geocoding google-geocoder


    【解决方案1】:

    您可以使用 google 的 web api 而不是使用 GeoCoder,而是对其进行异步 api 调用并获取 json 对象,其中包含比 android geocoder 所能提供的更多信息。

    最好https://developers.google.com/maps/documentation/geocoding/

    我已经在几个安卓应用中做到了这一点,这也保证你会从跨平台应用中获得相同的结果

    【讨论】:

    • 我就是这么做的。摆脱困境,GeoCoder!感谢 CQM (+1)
    • 问题是api限制为每天2500个请求。还有另一种绕过谷歌地理编码器的方法吗?
    • 添加这个
    • @Swap-IOS-Android 对我没有帮助
    猜你喜欢
    • 1970-01-01
    • 2022-12-27
    • 2022-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2019-07-07
    • 2020-08-21
    • 2022-12-02
    相关资源
    最近更新 更多