输入在此代码中添加标记样式的位置(Leaflet)

时间:2017-09-26 03:37:56

标签: javascript leaflet

我有点像一般的编码和传单的初学者。我遇到了一个小问题。我有一些代码可以使用可拖动的用户提交标记。

var currentMarker;
map.on("click", function (event) {
if (currentMarker) {
    currentMarker._icon.style.transition = "transform 0.3s ease-out";
    currentMarker._shadow.style.transition = "transform 0.3s ease-out";        
    currentMarker.setLatLng(event.latlng);

    setTimeout(function () {
        currentMarker._icon.style.transition = null;
        currentMarker._shadow.style.transition = null;
    }, 300);
    return;
}

currentMarker = L.marker(event.latlng, {
    draggable: true
}).addTo(map).on("click", function () {
    event.originalEvent.stopPropagation();
}).bindPopup("HI").openPopup();
});

document.getElementById("done").addEventListener("click", function () {
currentMarker = null;
});

我还使用了awesome-markers leaflet插件来设置我已放置在地图上的标记。我正在寻找帮助,我应该将此代码放在上面列出的代码中,以使用这些选项设置通用标记的样式。

icon: L.AwesomeMarkers.icon({
    icon: '#fix',
    markerColor: 'darkpurple',
    iconColor: '#F8FAEE',           
})    

我尝试了很多不同的地方,虽然我说我是初学者,如果确实有可能,我可能会忽略该怎么做。感谢您的帮助和时间,我很感激。

1 个答案:

答案 0 :(得分:1)

欢迎来到SO!

iconL.marker工厂的一个选项,与draggable: true选项一样。

L.marker(event.latlng, {
  draggable: true,
  icon: L.AwesomeMarkers.icon({ /* … */ })
}).addTo(map)

另请参阅Markers With Custom Icons宣传单教程以及Leaflet.awesome-markers插件主页,该主页链接到在线demo,您可以从中获取代码的灵感。