首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getLocation和setInterval

getLocation和setInterval
EN

Stack Overflow用户
提问于 2016-10-17 21:19:10
回答 2查看 669关注 0票数 1

我想要创建一个应用程序,什么是显示我目前的位置谷歌地图上的“实时”。

以下是相关代码:

代码语言:javascript
复制
    function updatePosition() {
        navigator.geolocation.getCurrentPosition(function (position) {
            var myLatLng = {lat: position.coords.latitude, lng: position.coords.longitude};
            marker.setPosition(myLatLng);
            $('#log').append('<p>new position - lat: ' + position.coords.latitude + ', lng: ' + position.coords.longitude + ' </p>');
        });
    }
    setInterval(updatePosition, 2000);

我该怎么说..。它起作用了。但不像我预料的那样。相反,2秒,它刷新我的位置,并写入日志约5-30秒。

是否可以用谷歌地图刷新这个位置,或者如果没有,我应该使用另一张地图,如传单或OpenLayers吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-17 21:32:50

如果您像这样运行代码

代码语言:javascript
复制
function updatePosition() {
    navigator.geolocation.getCurrentPosition(function (position) {
        var myLatLng = {lat: position.coords.latitude, lng: position.coords.longitude};
        console.log(myLatLng);
      setTimeout(updatePosition, 0);
    });
}
updatePosition();

您将看到getCurrentPosition花费有限的时间-在我的例子中,5秒,这是一个零超时.所以,像你一样每两秒运行一次并不能使它更新得更快。

票数 1
EN

Stack Overflow用户

发布于 2016-10-17 21:28:34

您遇到的延迟可能是由于从设备获取位置的延迟造成的。此外,尝试检查错误作为getCurrentPosition函数的第二个处理程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40095821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档