我正在尝试 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);
})
通过 Stackoverflow 使用 API 时存在一些问题,因此这里有一个可用的 JSFiddle 的链接。