【发布时间】:2020-06-27 17:08:12
【问题描述】:
我是使用leaflet.js 绘制了大约10000 个图标标记,因为它是图标标记,所以我不能使用circleMarker。我找到了一个传单插件Leaflet.Canvas-Markers,它可以帮助我快速绘制10000个图标标记,但是这个插件导致点击事件失败。 这是我的代码
var ciLayer = L.canvasIconLayer({}).addTo(leafletMap)
var icon = L.icon({
iconUrl: 'StructWell.png',
iconSize: [20, 18],
iconAnchor: [10, 9]
});
function markerClickHandler (e) {
console.log(e)
console.log()
}
let markers = []
SiteList.results.forEach((site, i) => {
var marker = L.marker([site.latitude, site.longitude], {icon: icon, title: JSON.stringify(site)})
marker.on('click', markerClickHandler)
// ciLayer.addMarker(marker)
markers.push(marker);
})
ciLayer.addLayers(markers);
当我单击标记时,函数 markerClickHandler 不起作用。 是我做了一些错误,还是有更多的解决方案。关键是带有点击事件的大量图标标记。 谢谢
【问题讨论】:
-
你为什么先打电话给
ciLayer.addMarker(marker),然后再打电话给ciLayer.addLayers(markers);? -
对不起,我做错了,代码
ciLayer.addMarker(marker)是一个测试,但是我删除了这个代码,点击事件也不起作用
标签: leaflet