【发布时间】:2016-01-24 15:50:59
【问题描述】:
我目前正在使用英特尔 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 min 和 iOS 5.1.1。我正在使用 SDK。
【问题讨论】:
-
请在您的帖子中回答以下问题。因为这似乎是您在 Cordova 上的第一篇文章。这是您的第一个混合应用程序吗?您的目标平台及其目标版本是什么?安卓4、5、6? iOS 7、8、9?你在使用CLI, SDK or Build 吗?请不要假设答案,请阅读链接。一旦您回答了帖子中的问题,请在 cmets 中回复,以便我知道您已在帖子中添加信息。
-
我刚做了。但正如我在另一篇文章中回答的那样,我的代码正在运行,只是 document.addEventListener 不起作用:)
-
嗯.... 您很可能对 Cordova/Phonegap 的工作方式存在根本性的误解。这很容易发生,因为近年来 Cordova/Phonegap 正在使用 HTML5 API - 如果可能的话。因此,您可能有一个 HTML5 应用程序,但没有一个 Cordova/Phonegap 应用程序。您的代码是否公开发布在某个地方以便我查看? FWIW:您的
document.addEventListener问题可能是因为这种误解。 -
@JesseMonroy650 在我的英特尔 XDK 项目中,项目类型为:HTML5 + Cordova 开始于:导入。所以我想没关系?但我没有任何cordova.js或其他任何东西(如intelxdk.js)
-
你的代码在哪里,让我看看?
标签: javascript cordova google-maps geolocation intel-xdk