Mapbox中的Markercluster

时间:2015-12-18 05:49:28

标签: leaflet mapbox markerclusterer

我正在关注Mapbox库中的markercluster示例,但无法解决我的问题。如果你们看看我的工作示例here,你会注意到这行代码:

https://github.com/jaredsinclair/JTSImageViewController
https://github.com/NYTimes/NYTPhotoViewer
https://github.com/gonzalezreal/Vertigo

我最初的想法是我可以在markercluster featureLayer中放置标记,但我想这是一种错误的方法。有解决方案吗感谢。

here

之后的示例

1 个答案:

答案 0 :(得分:2)

您引用的mapbox示例进行AJAX调用以检索GeoJSON数据,因此需要附加一个on" ready"监听器。

在您的情况下,您的GeoJSON数据是在您的脚本中定义的,因此"准备好"不会触发事件(此外,您应该直接使用L.mapbox.featureLayer和GeoJSON对象,而不是功能层。)

您只需使用eachLayer method遍历要素图层中所有已创建的标记,然后将其添加到标记群集组中。

var clusterGroup = new L.MarkerClusterGroup();

var markerLayer = L.mapbox.featureLayer(markers).eachLayer(function(layer) {
  clusterGroup.addLayer(layer);
});

map.addLayer(clusterGroup);

更新了Plunker:http://plnkr.co/edit/fN6xYcn1Lg532eLe39IS?p=preview