如何使用传单的map.eachLayer查找标记?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用传单的map.eachLayer查找标记?相关的知识,希望对你有一定的参考价值。

我能够显示聚类标记的内容,但无法显示单个标记的内容。

请找到下面的代码,其中else语句将处理单个标记。

map.eachLayer(function(marker) {  
   if (marker.getChildCount) { // to get cluster marker details
     console.log('cluster length ' + marker.getAllChildMarkers().length);
   } else {
     // how to display the contents of a single marker ??

     alert(marker.options.title); // doesn't work
   }

谢谢。

答案

请记住,map.eachLayer()适用于地图的每一层。这包括弹出窗口和地图图块层,以及标记和标记簇。并非所有这些类型的图层都具有与标记或聚类相同的选项。您需要进行测试以检查每个图层是否为标记,群集或其他内容。此外,请记住标记可能不一定有标题集。

这对我有用:

map.eachLayer(function(layer) {
    if(layer.options && layer.options.pane === "markerPane") {
        alert("Marker [" + layer.options.title + "]");
    }
});

以上是关于如何使用传单的map.eachLayer查找标记?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用传单和 jQuery Birdseye 在点击时突出显示标记

如何标记传单滑块

如何从地图外部与传单标记层进行交互?

传单如何实时更新用户位置标记

如何创建由数字变量着色的传单标记

如何在传单地图中仅添加一个标记