gpt4 book ai didi

javascript - 如何使用 Cordova Geolocation API 进行反向地理编码以获得城市和国家?

转载 作者:搜寻专家 更新时间:2023-11-01 05:04:34 25 4
gpt4 key购买 nike

我正在构建一个混合移动应用程序,使用 Intel 的用户界面应用程序框架和 Cordova 来访问 native 设备功能。

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

通过使用下面的代码,我能够获取纬度和经度并将其显示在两个不同的文本框中(分别带有 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 版本。

最佳答案

这称为反向地理编码,有许多服务可以做到这一点 - 例如。 Google map 、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);
});
}

关于javascript - 如何使用 Cordova Geolocation API 进行反向地理编码以获得城市和国家?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com