迭代 Leaflet 标记簇组并更新标记的标题
Iterate a Leaflet marker cluster group and update the titles of the markers
Self.companyMarkersClusterGroup.eachLayer(function(layer){
const companyData = layer.options.companyData;
layer.title = GetCompanyMapMarkerTitle(companyData);
});
我正在尝试遍历 Leaflet marker cluster group 中的所有标记并更新它们的标题。
上面的代码似乎不起作用。我做错了什么?
会不会是内部循环变量layer
是标记的本地深拷贝,所以更新它不会更新标记?如果是这样,我该如何更新标记?
如果“标题”是指当您像这样实例化标记时出现的标记图标上的本机工具提示/title
option:
L.marker(latLng, {
title: "marker icon native tooltip"
});
...那么您需要更新标记 options 标题,以及 fiddle 其当前图标标题(如果有)以立即更新它(如果图标当前显示在地图上):
const newTitle = "new title content";
layer.options.title = newTitle;
const icon = layer.getElement();
if (icon) {
icon.title = newTitle;
}
请注意,如果当前显示本机工具提示(即,如果用户鼠标当前悬停在图标上),浏览器可能不会在内容消失并再次出现之前更新内容。
Self.companyMarkersClusterGroup.eachLayer(function(layer){
const companyData = layer.options.companyData;
layer.title = GetCompanyMapMarkerTitle(companyData);
});
我正在尝试遍历 Leaflet marker cluster group 中的所有标记并更新它们的标题。
上面的代码似乎不起作用。我做错了什么?
会不会是内部循环变量layer
是标记的本地深拷贝,所以更新它不会更新标记?如果是这样,我该如何更新标记?
如果“标题”是指当您像这样实例化标记时出现的标记图标上的本机工具提示/title
option:
L.marker(latLng, {
title: "marker icon native tooltip"
});
...那么您需要更新标记 options 标题,以及 fiddle 其当前图标标题(如果有)以立即更新它(如果图标当前显示在地图上):
const newTitle = "new title content";
layer.options.title = newTitle;
const icon = layer.getElement();
if (icon) {
icon.title = newTitle;
}
请注意,如果当前显示本机工具提示(即,如果用户鼠标当前悬停在图标上),浏览器可能不会在内容消失并再次出现之前更新内容。