Добро пожаловать в SO!
Похоже, вы просто перепутали MarkerClusterGroup с маркером.
В Leaflet у вас есть Группы слоев , которые содержат дочерние слои, такие как маркеры,Ваша MarkerClusterGroup является такой группой слоев.
Просто создайте экземпляр группы за пределами вашего цикла forEach (но внутри цикла карт, поскольку вам нужна хотя бы одна группа на карту).
Затем добавьтеваши маркеры в него, а не прямо на карту.
mapEls.forEach(mapEl => {
const map = L.map(mapEl)
const mcg = L.markerClusterGroup().addTo(map)
placeEls.forEach(placeEl => {
const coordinates = [placeEl.value.coordinates.latitude, placeEl.value.coordinates.longitude]
const marker = L.marker(coordinates).addTo(mcg)
})
})
Примечание: что касается прослушивателя щелчка, чтобы открыть всплывающее окно маркера, у вас будут проблемы, когда маркер будет скрыт под кластером.Используйте mcg.zoomToShowLayer(marker, cb)
и откройте всплывающее окно tje в обратном вызове cb
.У вас должны быть другие сообщения на эту тему.Не стесняйтесь, чтобы открыть новый вопрос, если вам нужна помощь.