【发布时间】:2016-12-07 14:44:18
【问题描述】:
当多个标记位于同一位置或彼此非常靠近时,我决定使用OverlappingMarkerSpiderfier。
问题是,在我的范围内,每个标记都有绑定的标记,当触发 spiderfy 时会移动。
【问题讨论】:
-
我也填了bug report。
标签: javascript google-maps markerspiderfier
当多个标记位于同一位置或彼此非常靠近时,我决定使用OverlappingMarkerSpiderfier。
问题是,在我的范围内,每个标记都有绑定的标记,当触发 spiderfy 时会移动。
【问题讨论】:
标签: javascript google-maps markerspiderfier
基本上解决方案是添加侦听器并手动确保圆圈保持在适当位置。
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 无法提供原始位置(请参阅issue)。
【讨论】: