Показать текущее местоположение на карте OSM

Я попробовал скрипт для добавления текущего местоположения на карту, показывающую также другие точки, и он правильно показывает мою позицию как на ноутбуке, так и на смартфоне. Я взял отсюда:

Как найти пользователя с помощью листовки?

Это мой сценарий:

   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.");
        });

Однако есть 2 проблемы...

Карта постоянно меняет масштаб, чтобы показать только мою позицию. Я уменьшаю масштаб, и карты сразу же приближаются к текущему местоположению.

И... карта показывает мое положение, не заменяя предыдущее. Через несколько мгновений на карте появляется множество маркеров и кругов, показывающих путь, которым я иду...

Есть ли способ исправить это? Кто-нибудь может мне помочь, пожалуйста!


person Fernando    schedule 25.08.2020    source источник