在传单标记群集组中查找标记

时间:2014-03-24 06:17:17

标签: angularjs leaflet markerclusterer

我希望通过它在传单markercluster组中的marker.title属性找到一个标记。我正在使用带角度(1.2.8)的角度传单指令(v 0.7.5)。标记数据由服务提供。这是我正在使用的代码:

    $timeout(function(){    
      leafletData.getLayers().then(function(layers) {
          $scope.markerClusterGrp = layers.overlays.locations;
          var clusters = $scope.markerClusterGrp.getLayers();
          for (var i in clusters){
            if (marker.title == clusters[i].options.title) {
              childMarker = clusters[i];
              break;
            } 
         }
      });       
    },1000);

此代码有效。但是,在我对$ scope.markers应用过滤器之后,上面函数返回的options.titles列表与$ scope.markers中的marker.titles列表不同。我已经创建了一个jsfiddle来说明这种行为。请查看console.log语句以查看它的运行情况。我不确定这是否是我的代码中的错误或错误。

http://jsfiddle.net/mukhtyar/z2Ucr/

我的最终目标是找到我感兴趣的标记的可见父级,并突出显示鼠标悬停事件中的父级群集。任何帮助解释这种行为或建议以不同的方式来解决这个问题非常感谢!谢谢。

编辑:我通过使用群集latlng代替标题来解决这个问题。

//Iterate through all the markers
for (var i in clusters){
  if ((marker.lat == clusters[i]._latlng.lat) &&
    (marker.lng == clusters[i]._latlng.lng)) {
    childMarker = clusters[i];
    break;
  }
}

0 个答案:

没有答案