javascript - getCurrentPosition lat/lng 未转换为 Google map 中的正确位置

标签 javascript google-maps geolocation elm

我在使用 HTML5 Geolocation getCurrentPosition() 并让我的实际位置显示在 Google map 中时遇到问题。我的应用程序是使用 elm-lang/geolocation 包在 Elm 中编写的,以返回我的位置并启用 enableHighAccuracy。获取纬度/经度或在该纬度/经度处放置标记都没有问题。

我遇到的问题是 map 上的标记没有反射(reflect)我的实际位置。我的准确度下降到 12 英尺,标记放置 10 次后始终位于 map 的一个非常小的区域内,但是这个非常小的区域距离我站立的位置大约 90 英尺。我无法确定问题是否是我的手机返回的 GPS 位置与 Google map 的定位不一致,如果我的 GPS 使用某种不同类型的方案显示经纬度坐标,如果地理定位不解释它们正确,或者如果谷歌地图只是不显示非常精确的 GPS 坐标中的标记。

我的应用程序将检查小于 100 英尺的距离,因此 90 英尺的标记放置差异很大。

我正在以卫星模式查看 Google map ,如果这有影响的话。以下是 map 的初始化方式。

window.roundsMap = new google.maps.Map(document.getElementById(ele),
                { zoom: 18
                , tilt: 0
                , mapTypeId: google.maps.MapTypeId.SATELLITE
                , center: coords
                , disableDefaultUI: true
                }

下面是标记的放置方式(myIcon 是在另一个函数中创建的 js svg 对象):

 new google.maps.Marker({
            map: window.roundsMap,
            icon: myIcon,
            position: myPos
        })

最佳答案

您是否尝试启用高精度?

navigator.geolocation.getCurrentPosition(
    geolocationSuccess,
    geolocationError, {
        timeout: 0,
        enableHighAccuracy: true,
        maximumAge: Infinity
    }
);

来源:https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions/enableHighAccuracy

您还可以使用 watchPosition 持续观察用户位置,结果通常更准确:

navigator.geolocation.watchPosition(
    geolocationSuccess,
    geolocationError, {
        timeout: 0,
        enableHighAccuracy: true,
        maximumAge: Infinity
    }
);

来源:https://developer.mozilla.org/fr/docs/Web/API/Geolocation/watchPosition

关于javascript - getCurrentPosition lat/lng 未转换为 Google map 中的正确位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45286372/

相关文章:

javascript - 如何将(kml的路径)替换为变量?我正在使用 geoxml3

Python ssl.SSLError : [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl. c:748)

android - 我在哪里? - 获取国家

javascript - 谷歌地图未在 Framework7 中加载

javascript - 将html文本设置到textarea js中

javascript - 将 2 个折线图放入一张 Google 图表中

Android Png 覆盖问题

javascript - npm run build 失败并显示 "Error: custom keyword definition is invalid: data.errors should be boolean"

google-maps - 如何从 javascript 函数更改标记的位置?

javascript - Google Maps API v3 - 'Set Current Location' 最准确的方法