【问题标题】:How to do reverse geocoding with Cordova Geolocation API to get City and Country?如何使用 Cordova Geolocation API 进行反向地理编码以获取城市和国家?
【发布时间】:2015-10-08 07:17:23
【问题描述】:

我正在使用英特尔的应用程序框架为用户界面和 Cordova 构建一个混合移动应用程序,以访问本机设备功能。

作为开发的一部分,我需要获取用户的位置(城市和国家)并将其显示在文本框中。

通过使用下面的代码,我可以获取纬度和经度并将其显示在两个不同的文本框中(分别带有 ID 纬度和经度)。如何将纬度和经度转换为城市和国家/地区。

  function Geolocation() {
                    var onSuccess = function(position) {
                        document.getElementById('latitude').value = position.coords.latitude;
                        document.getElementById('longitude').value = position.coords.longitude;                    
                    };
                    var onFail = function() {
                        navigator.notification.alert('Cannot get the location');
                    };
                    navigator.geolocation.getCurrentPosition(onSuccess, onFail, {maximumAge:0, timeout:5000, enableHighAccuracy: true});
                }  

注意 - 除了 Cordova 的 Geolocation 之外,我不使用任何其他插件来处理我的应用程序中的位置服务。这是一个混合应用,但目前我正在开发该应用的 Android 版本。

【问题讨论】:

    标签: javascript cordova geolocation hybrid-mobile-app reverse-geocoding


    【解决方案1】:

    这称为反向地理编码,有很多服务可以做到这一点 - 例如。 Google 地图、OpenStreetMaps 等等。

    我喜欢 OpenStreetMaps,因为它非常很容易做到。只是一个 JSONP 回调:

    http://nominatim.openstreetmap.org/reverse?lat=-23.5880894&lon=-46.6321951&format=json&json_callback=my_callback

    因此,您可以向该 URL 发出 Ajax 请求并获得所需的值。例如:

    function showCountry(lat, lon) {
        $.getJSON('//nominatim.openstreetmap.org/reverse?json_callback=?&format=json', {lat: lat, lon: lon}, function(data) {
           alert(data.address.country);
       });
    }
    

    【讨论】:

    • 首先,感谢您的回答。我应该将它与 Cordova 一起使用吗?
    • 我无法在我的 Windows 手机应用程序中使用它。function showCountry(lat, lon) { $.post('http://nominatim.openstreetmap.org/reverse/', { format:'json',lat: lat, lon: lon }, function (data) { alert(data.address.country); }); } 不过我可以在浏览器中查看 JSON。
    猜你喜欢
    • 1970-01-01
    • 2015-03-03
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 2017-09-02
    相关资源
    最近更新 更多