小编flo*_*flo的帖子

使用传单API更新标记位置

我想用Leaflet API构建Web应用程序.首先,我的用户使用IP进行地理定位,然后如果他接受我尝试使用HTML5地理位置更新他的位置(准确性更好).

我的问题是标记位置没有在地图上更新,下面的代码失败,没有错误.我从传单文档中尝试了数百种不同的语法和方法来更新标记位置(即.setLatLng),但我没有成功.我想了解我的代码有什么问题.


这样做可以解决我的问题:

    var lat = (e.latlng.lat);
    var lng = (e.latlng.lng);
    var newLatLng = new L.LatLng(lat, lng);
    marker.setLatLng(newLatLng); 
Run Code Online (Sandbox Code Playgroud)

旧代码是:

//initial IP based geolocation

var lat = google.loader.ClientLocation.latitude;
var lng = google.loader.ClientLocation.longitude;

//place marker on the map

var marker = L.marker([lat,lng]).addTo(map);

//start HTML5 geolocation 

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

function onLocationFound(e) {

    var marker = L.marker([e.latlng.lat,e.latlng.lng]).update(marker);
    alert ('New latitude is ' + e.latlng.lat)
}

map.on('locationfound', onLocationFound);
Run Code Online (Sandbox Code Playgroud)

javascript leaflet

27
推荐指数
2
解决办法
6万
查看次数

标签 统计

javascript ×1

leaflet ×1