【发布时间】:2014-08-27 15:31:15
【问题描述】:
我在 AngularJS 应用程序上使用 Leaflet 和 Marker Cluster 插件。
在选择地图的项目时,我需要突出显示它。因为我使用的是 divIcons,所以我正在添加或删除类,如果项目不是标记,也会设置颜色。
为此,我将最后点击的项目保存在内存中,以便在选择下一个项目时,我可以取消突出显示前一个项目并突出显示当前项目。
// De-highlight previous item
if (lastClickedLayer) {
if (lastClickedLayer instanceof L.Marker) {
lastClickedLayer._icon.classList.remove('marker-highlighted');
}
else {
lastClickedLayer.setStyle({
color: (lastClickedLayer.feature.status === 'active') ? '#43A7E0' : '#EB7938'
});
}
}
// Highlight item on the map
lastClickedLayer = e.layer;
if (e.layer instanceof L.Marker) {
e.layer._icon.classList.add('marker-highlighted');
}
else {
e.layer.setStyle({
color: '#32C9AC'
});
}
如果没有标记聚类,一切都会好起来的!当我缩小并获得一组当前标记(假设我先选择一个标记)然后放大回该群集时,我选择的标记没有分配“标记突出显示”类。
Also, If I'm at the vey end of zoom-in and clusters are showing spider-webs of markers (or how they're called), when cluster in which is selected marker is closed, I can't seem取消设置该层的类 - 它只是未定义。
我怎样才能解决我的问题?
哦,我的地图项保存为新的 L.MarkerClusterGroup()。
【问题讨论】:
标签: leaflet leaflet.markercluster