【问题标题】:Geocoder does not work for certain addresses地理编码器不适用于某些地址
【发布时间】:2018-03-18 10:01:03
【问题描述】:

我正在使用 goecoder 尝试将地址转换为 lat/lng。但是,地理编码器似乎适用于某些地址,但不适用于其他地址。如果我在谷歌地图上搜索地址,它会完美定位。

这是一个示例 38 Crichton Street, Ottawa, ON, Canada 当我运行下面的代码时,这个地址返回 0 个结果

            Location loc = null;
            Geocoder geoCoder = new Geocoder(this, Locale.getDefault());
            try {

                List<Address> address = geoCoder.getFromLocationName(addr, 1);
                if (address.size() == 0) {
                    return null;
                }
                double latitude = address.get(0).getLatitude();
                double longitude = address.get(0).getLongitude();
                loc = new Location("Unknown");
                loc.setLatitude(latitude);
                loc.setLongitude(longitude);
            }  catch (IOException ioException) {
                Log.e(TAG, ioException.toString());
            } catch (IllegalArgumentException illegalArgumentException) {
                Log.e(TAG, illegalArgumentException.toString());
            }

知道为什么或如何解决它

谢谢

【问题讨论】:

    标签: android google-geocoder google-geocoding-api


    【解决方案1】:

    不知道为什么原生 Android API 地理编码器找不到这个地址。我可以在 Geocoding API web 服务中看到这个地址:

    https://maps.googleapis.com/maps/api/geocode/json?address=38%20Crichton%20Street%2C%20Ottawa%2C%20ON%2C%20Canada&amp;key=MY_API_KEY

    您也可以在 Geocoder 工具中看到它:

    https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3D38%2520Crichton%2520Street%252C%2520Ottawa%252C%2520ON%252C%2520Canada

    作为一种解决方法,您可以考虑使用 Geocoding API Web 服务。请注意,您可以在 Github 上找到用于 Web 服务的 Java 客户端库:

    https://github.com/googlemaps/google-maps-services-java

    客户端库的 Javadoc 位于

    https://googlemaps.github.io/google-maps-services-java/v0.2.5/javadoc/

    我希望这会有所帮助!

    【讨论】:

    • 感谢您的建议。我找到了原因。显然,如果您不包括省和国家,那么即使 web api Geocoder 也找不到它但是,如果您输入包括省和国家的完整地址,那么 webapi 会找到它。所以不幸的地理编码器是不行的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2012-04-29
    相关资源
    最近更新 更多