【问题标题】:navigator.geolocation.watchPosition empty positionnavigator.geolocation.watchPosition 空位
【发布时间】:2023-03-21 00:29:02
【问题描述】:

navigator.geolocation.watchPosition 成功回调总是使用空的位置对象调用。我错过了什么? 尝试了以下设置(授予位置,https):

  • Chrome 桌面 95.0.4638.54
  • Chrome Android 94.0.4606.85

function errorCb(error) {
    console.log('errorCb() ' + error.code + ", " + error.message);
}
if (navigator.geolocation) {
    const options = {
        enableHighAccuracy: false,
        timeout: 5000,
        maximumAge: 0
    };
    navigator.geolocation.watchPosition(position => {
        console.log("pos: " + JSON.stringify(position));  // always displays "pos: {}"
    }, errorCb, options);
}

【问题讨论】:

  • 因为返回的对象不能被字符串化,也不能放在字符串中。如果执行console.log(position),您将看到返回的对象以及您可以访问的属性。
  • @Andy 就是这样!谢谢!

标签: javascript geolocation gps w3c-geolocation


【解决方案1】:

参考 Andys 的评论,提供的位置对象不能被字符串化。直接访问对象:

var coords = position.coords;
var latitude = coords.latitude;
var longitude = coords.longitude;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多