У меня есть приложение, которое имеет большое количество маркеров (отсюда и желание использовать Marker Clusterer), но я хочу позволить пользователю перемещать маркер вокруг. К сожалению, маркер исчезает после того, как он был перемещен, и вы увеличиваете / уменьшаете масштаб. Именно эти шаги воспроизводят проблему:
- Создайте все маркеры / добавьте их в объект кластеризатора маркеров.
- Увеличьте изображение, чтобы увидеть отдельный маркер.
- Переместить маркер на новое место.
- Уменьшать масштаб, пока не включится кластеризация (и сгруппированный перемещенный маркер не менее чем с одним другим маркером)
- Увеличьте масштаб, чтобы увидеть перемещенный маркер.
Я ожидаю, что маркер все еще будет там после увеличения, но это не так. После шага 3 маркер остается видимым - он исчезает только после уменьшения и повторного увеличения. Кластер по-прежнему правильно считает маркер (он отображается в общем количестве кластеров при уменьшении), но маркер больше не появляется снова.
Я пытался использовать последние версии MarkerClusterer и MarkerClustererPlus, и я имею дело с v3 API карт. Кроме того, у меня есть прослушиватель событий, который вызывает repaint
в кластере после появления маркера dragend
(думая, что repaint
приведет к правильному расположению маркера).
[ Редактировать ]
Минимальный пример (основанный на примере Marker Clusterer), демонстрирующий проблему, можно найти здесь . Из в этом примере изменились только строки, включающие библиотеки javascript (сделанные абсолютные ссылки) и добавление draggable: true
к параметрам маркера. Выполнение вышеуказанных 5 шагов должно воспроизвести проблему.