Mam problem muszę zrobić analogiczne dodanie clustermarker tak jak w google maps. Moj kod wyglada tak
if (markers) {
this.mapPromise.then(map => {
this.resetMapSpiderifier()
var markersAtTheSamePosition: { [pos: string]: any } = {}
var markersAtTheSamePositionNotAdded: { [pos: string]: any } = {}
var mapMarkers = markers.map(marker => {
let newMarker = this.createMarker(marker)
if (newMarker) {
let mapMarker = newMarker.getMapMarker()
this.markers[marker.referenceValue] = mapMarker
// calculate spiderfier markers
var stringPosition = marker.coords.latitude.toString() + marker.coords.longitude.toString()
if (markersAtTheSamePosition[stringPosition]) {
this.mapSpiderifier.addMarker(mapMarker)
markersAtTheSamePositionNotAdded[stringPosition] = markersAtTheSamePosition[stringPosition]
} else
markersAtTheSamePosition[stringPosition] = mapMarker
return mapMarker
}
return null
}).filter(m => m != null)
// end calculate spiderfier markers
for (var pos in markersAtTheSamePositionNotAdded) {
this.mapSpiderifier.addMarker(markersAtTheSamePositionNotAdded[pos])
}
// init cluster
if (this.$scope.options.isClustering) {
this.mapCluster = new MarkerClusterer(map, mapMarkers, this.getMapClusterOptions())
}
})
}
funkcja w Leaflet jako parametr przyjmuje tylko opcje nie tak jak google this.mapCluster = new MarkerClusterer(map, mapMarkers, this.getMapClusterOptions())
w jaki sposób dodać mapMarkers
do funkcji markerClusterGroup