迭代 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;
}

请注意,如果当前显示本机工具提示(即,如果用户鼠标当前悬停在图标上),浏览器可能不会在内容消失并再次出现之前更新内容。