这是我编写的函数的一部分
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
人族
编辑 Jörn Berkefelds 评论说我有 var postion = ""; 其他正确的地方-我将其删除并解决了问题。
吨