gpt4 book ai didi

javascript - 地理定位不适用于 Cordova

转载 作者:行者123 更新时间:2023-12-03 07:51:22 24 4
gpt4 key购买 nike

我目前正在使用 Intel XDK 开发移动应用程序(后台最终是 Cordova,这就是我将 Cordova 放在标题中的原因。)

通过 Ajax 请求,我得到一些地址,通过这些地址,我想计算它们与用户当前位置之间的距离。

所以,我得到地址,我转换它们,然后我就产生了差异。

但实际上,没有任何效果!

function codeAddress(id, addresse) {
geocoder.geocode( { 'address': addresse}, function(results, status) {
if (status == google.maps.GeocoderStatus.OVER_QUERY_LIMIT) {
setTimeout(function(){}, 100);
}

console.log(id);
console.log(addresse);

//document.addEventListener("intel.xdk.device.ready",function(){
if (navigator.geolocation)
{
if (status == google.maps.GeocoderStatus.OK)
{
navigator.geolocation.getCurrentPosition(function(position) {
addressEvent = results[0].geometry.location;
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
var position = new google.maps.LatLng(pos.lat, pos.lng)
var resultat = google.maps.geometry.spherical.computeDistanceBetween(addressEvent, position);
console.log(resultat);
console.log(addressEvent);
console.log(pos);
console.log(position);
var convert = Math.floor(resultat);
var finalConvert = convert + " m";
var distance = document.createElement('span');
distance.innerHTML = finalConvert;
distance.className = "geo";
document.getElementsByClassName('meta-info-geo')[id].appendChild(distance);
}, function() {
handleLocationError(true, infoWindow);
});
}
}
//},false);
});
}

在console.log(id)、console.log(addresse)中,我有结果!

实际上我得到了 4 个 ID 和 4 个地址。

我检查了在 StackOverFlow 上可以找到的所有主题,通常我必须使用 addEventListener 在//中添加该行,但它没有任何改变。

有人知道如何改变它吗?

ps:当然,cordova geoloc 已在构建中并且已授予权限!

编辑:我的目标是 Android 4.0 分钟和 iOS 5.1.1。我正在使用 SDK。

编辑2:enter image description here

最佳答案

出于 herehere 所表达的各种原因,地理位置经常无法按照人们期望的方式工作。

您可以使用 XDK 中的“Hello, Cordova”示例应用程序以及 available on GitHub 来试验 geo。尝试在各种设备上使用它,看看效果如何。按下“精细”按钮以发起针对“精细”位置的单个地理调用,按下“粗略”按钮以发起针对“粗略”位置的单个地理调用。按下“观看”按钮即可发起对一系列地理数据点的请求(通过先按下其中一个按钮来设置粗略或精细)。

您在“模拟”选项卡中获得的行为将与您在真实设备上获得的行为显着不同。设备类型(Android、iOS 等)和设备版本会影响您的结果;设备制造商和您的位置(内部或外部)将影响您的结果。不要假设调用地理 API 总是会为您提供即时且可靠的数据,地理定位硬件不会以这种方式工作......事实上,您甚至不能假设您甚至可以获得有效的结果!由于某些原因,请参阅我在帖子前面指出的两个链接。

关于javascript - 地理定位不适用于 Cordova ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34977826/

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