Не перемещайте связанные круги при использовании 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 (см. вопрос).

Другие вопросы по тегам