Не перемещайте связанные круги при использовании OverlappingMarkerSpiderfier
Я решил использовать https://github.com/jawj/OverlappingMarkerSpiderfier при наличии нескольких маркеров на одном месте или очень близко друг к другу.
Проблема заключалась в том, что в моей области действия каждый маркер имеет привязанный маркер, который перемещается при срабатывании spiderfy.
1 ответ
В основном решение состоит в том, чтобы добавить слушателей и вручную убедиться, что круги находятся в определенных местах.
this.oms.addListener('spiderfy', function (activeMarkers) {
activeMarkers.forEach(function(marker) {
console.log(marker._originalPosition);
marker._circle.unbind('center');
marker._circle.setCenter(marker._originalPosition);
});
});
this.oms.addListener('unspiderfy', function (activeMarkers) {
activeMarkers.forEach(function(marker) {
circle.bindTo('center', marker, 'position');
});
});
Где вы должны хранить _originalPosition
заранее, так как исходное местоположение не доступно из _omsData
(см. вопрос).