在OSM地图中显示当前位置

时间:2020-08-25 18:17:49

标签: javascript openstreetmap userlocation

我尝试了一个脚本,将当前位置添加到显示其他点的地图中,并且可以正确显示我在笔记本电脑和智能手机中的位置。我从这里拿走的:

How to locate user with leaflet locate?

这是我的脚本:

   map.locate({setView: true, watch: true})
        .on('locationfound', function(e){
            var marker = L.marker([e.latitude, e.longitude]).bindPopup('A sua localização');
            var circle = L.circle([e.latitude, e.longitude], e.accuracy/2, {
                weight: 1,
                color: 'blue',
                fillColor: '#cacaca',
                fillOpacity: 0.2
            });
            map.addLayer(marker);
            map.addLayer(circle);
        })
       .on('locationerror', function(e){
            console.log(e);
            alert("Location access denied.");
        });

但是有两个问题...

地图会不断更改其缩放比例以仅显示我的位置。我将其缩小,然后地图立即放大到当前位置。

然后...该地图显示了我的位置并没有取代之前的位置。片刻之后,地图上出现了许多标记和圆圈,显示了我正在执行的路径...

有没有办法解决这个问题?谁能帮我吗?

0 个答案:

没有答案