Leafletjs 显示我的位置标记而不是硬编码位置

Leafletjs show my location marker instead of hardcoded location

我正在尝试 Leaflet.js,我有一张带有这样标记的地图:

var marker = new L.marker([5.897818, -1.120009],{
    draggable: true,
    autoPan: true
}).addTo(mymap);

这显示正常,但我希望它出现在我的当前位置而不是上面的硬编码位置。

我该怎么做?

您需要的是利用 Geolocation API 并使用其结果创建标记。

var mymap = L.map('mapid').setView([51.505, -0.09], 13);

navigator.geolocation.getCurrentPosition(position => {
  const { coords: { latitude, longitude }} = position;
  var marker = new L.marker([latitude, longitude], {
    draggable: true,
    autoPan: true
  }).addTo(mymap);

  console.log(marker);
})

将 API 与 Whosebug 一起使用存在一些问题,因此这里有一个 link 到工作 JSFiddle