这是我写过的函数的一部分
watchlocation: function() {
console.log("watchlocation Started");
if (watchProcess == null) {
watchProcess = navigator.geolocation.watchPosition(locationcheck.handle_geolocation_query_success, locationcheck.handle_errors, {enableHighAccuracy:true});
}
if(position.coords.latitude == null) {
var Lat = '52.5960';
console.log("latitude Set Manually");
}
else {
var Lat = position.coords.latitude;
console.log("latitude Set Automatically");
};
if(position.coords.longitude == null) {
var lon = '-1.9110';
console.log("longitude Set Manually");
}
else {
var lon = position.coords.longitude;
console.log("longitude Set Automatically");
};
locationcheck.handle_geolocation_query_successalt(position.coords.latitude,position.coords.longitude);
console.log("watchlocation Position Passed");
},
每次我尝试访问position.coords.latitude或position.coords.longitude控制台说
'未捕获类型错误:无法读取未定义'&的属性'纬度' '未捕获类型错误:无法读取未定义的属性'经度'
我在这里尝试做的最终结果是通过HTLM5标准获取当前位置,如果这不能替代lat lon全局变量。
我怀疑它可能取决于我的方法,因为我仍然在学习最好的方法,因为我之前能够访问position.coords.latitude,position.coords.longitude作为警报框的一部分。
TIA
人族
EDIT JörnBerkefelds评论我有var postion =“”;其他地方是正确的 - 我删除了它,它解决了问题。
Ť