当传单地图开始时,我将默认中心设置为费城,并带有一个弹出气泡,其中包含“查找我”选项。 “查找我”功能将地图的中心重新定位到用户的位置。问题是我希望在标记更改后将标记放置在用户的位置,但是我尝试过的所有操作都会将标记放置在中心城市费城。
<body onLoad="intro_function()"></body>
<script>
var map = L.map("map", {
center: [39.952, -75.165],
zoom: 12
}),
marker; // map centered on Philadelphia
function intro_function() {
var intro = L.popup().setContent(
'<button style="width:100%" id="locate" onClick="locateUser()">Find Me </button></p>'
);
intro.setLatLng(map.getCenter()).openOn(map);
} // popup bubble
function locateUser() {
this.map.locate({ setView: true, maxZoom: 13 });
map.onchange = userMarker();
} //relocate center of map to user's location
function userMarker() {
var center = map.getCenter();
var newCenter = L.marker(center);
newCenter.addTo(map);
} //despite the map showing user's location, the marker ends up in Philadelphia
</script>