Markercluster в Mapbox
Я следую за примерами markercluster из библиотеки Mapbox, но не могу решить мою проблему. Если вы, ребята, посмотрите на мой рабочий пример, вы заметите следующую строку кода:
L.mapbox.featureLayer(markerLayer).on('ready', function(e) {
Первоначально я подумал, что могу поместить маркеры в markercluster featureLayer, но, думаю, это был неправильный подход. Какие-либо решения? Благодарю.
Пример следующий здесь
1 ответ
Пример mapbox, на который вы ссылаетесь, вызывает AJAX для извлечения данных GeoJSON, поэтому ему необходимо подключить прослушиватель "готов".
В вашем случае ваши данные GeoJSON определены в ваших скриптах, поэтому событие "ready" не будет запущено (кроме того, вы должны использовать L.mapbox.featureLayer
непосредственно с вашим объектом GeoJSON, а не с слоем объектов).
Вы можете просто использовать eachLayer
метод для перебора всех созданных маркеров в слое объектов и добавления их в группу кластеров маркеров.
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