【问题标题】:Where is position.coords.latitude in the window object?window 对象中的 position.coords.latitude 在哪里?
【发布时间】:2020-09-19 06:18:10
【问题描述】:

鉴于这些用于确定用户位置的函数:

function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } 
    else {
        alert("Geolocation is not supported by this browser.");
    }
}

function showPosition(position) {
    var lat = position.coords.latitude;
    var lon = position.coords.longitude;
}

我对它的工作原理有很高的了解,但我终其一生都无法在 window 对象中找到 position.coords.latitude 的来源。

它在 window.position.coords.latitude... 中或在 window.navigator.geolocation 中的某个地方是有意义的...

但是当我 console.log 窗口时,它不会出现在这两个位置。

它位于窗口对象的什么位置?

【问题讨论】:

    标签: javascript browser geolocation


    【解决方案1】:
    navigator.geolocation.getCurrentPosition()
    

    是一个异步函数。 如果您看到 navigator.geolocation.getCurrentPosition((a)=> console.log(a.timestamp)) 回调响应也包含时间戳。

    因为此 API 每次调用时都会获取坐标,所以它不会存储或缓存 lat/long

    希望这能回答您的问题。

    更多信息refer

    【讨论】:

      【解决方案2】:

      如果您在控制台中执行navigator.geolocation.getCurrentPosition(data => console.log(data)),则会出现一条提醒,要求您确认是否要共享您的位置。按允许。然后,您将在控制台中看到 getCurrentPosition() 返回一个包含 coords 属性的对象。 coords 也是一个具有 latitudelongitude(以及其他一些属性)的对象。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-27
        • 1970-01-01
        • 2015-07-05
        • 1970-01-01
        相关资源
        最近更新 更多