尝试将标记放在用户的位置,但标记默认为原始位置

时间:2019-08-06 17:23:51

标签: leaflet

当传单地图开始时,我将默认中心设置为费城,并带有一个弹出气泡,其中包含“查找我”选项。 “查找我”功能将地图的中心重新定位到用户的位置。问题是我希望在标记更改后将标记放置在用户的位置,但是我尝试过的所有操作都会将标记放置在中心城市费城。

<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>

0 个答案:

没有答案