如何在 Leaflet 中重置地图定位器

How to reset map locator in Leaflet

我的地图定位器可以使用,但我不确定如何重置标记,以便在用户定位时重置位置。目前,我的代码如下所示:

    //map locator 
    map.locate({setView: true, maxZoom: 16});

    function onLocationFound(e) {
    var radius = e.accuracy;

    L.marker(e.latlng).addTo(map)
    .bindPopup("Vous êtes ici").openPopup();

    L.circle(e.latlng, radius).addTo(map);
    }

    map.on('locationfound', onLocationFound);


    function onLocationError(e) {
    alert(e.message);
    }

    map.on('locationerror', onLocationError);
    // end of geolocator with marker

覆盖经纬度和半径:

var marker = null;
var circle = null;

//map locator 
map.locate({setView: true, maxZoom: 16});

function onLocationFound(e) {
    var radius = e.accuracy;

    if(!marker){
        marker = L.marker(e.latlng).addTo(map);
        circle = L.circle(e.latlng,radius).addTo(map);
    }else{
        marker.setLatLng(e.latlng);
        circle.setLatLng(e.latlng);
        circle.setRadius(radius);
    }

    marker.bindPopup("Vous êtes ici").openPopup();
}