From 1813157c34d611106817f9960d38eba1d9546387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Sandvik?= Date: Mon, 6 Jan 2020 17:22:29 +0100 Subject: [PATCH] fix: spider handling --- src/Map.js | 4 ---- src/layers/Cluster.js | 8 ++++---- src/layers/DonutCluster.js | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/Map.js b/src/Map.js index a3f7fc08..e0fce06b 100644 --- a/src/Map.js +++ b/src/Map.js @@ -262,8 +262,6 @@ export class Map extends Evented { } openPopup(content, lnglat, onClose, offset) { - // console.log('openPopup', content, lnglat); - this._popup = new mapboxgl.Popup({ offset: offset, maxWidth: 'auto', @@ -278,8 +276,6 @@ export class Map extends Evented { } closePopup() { - // console.log('closePopup'); - if (this._popup) { this._popup.remove() this._popup = null diff --git a/src/layers/Cluster.js b/src/layers/Cluster.js index 97def10e..c5db4946 100644 --- a/src/layers/Cluster.js +++ b/src/layers/Cluster.js @@ -100,13 +100,15 @@ class Cluster extends Layer { this.spider.spiderfy(clusterId, lnglat, features) this.setClusterOpacity(clusterId, true) + + this.getMapGL().on('zoom', this.unspiderfy) } } unspiderfy = () => { if (this.spider) { this.spider.unspiderfy() - this.spider = null + this.getMapGL().off('zoom', this.unspiderfy) } } @@ -140,13 +142,11 @@ class Cluster extends Layer { }) this.setOpacity(this.options.opacity) - - mapgl.on('zoom', this.unspiderfy) } onRemove() { this.unspiderfy() - this.getMapGL().off('zoom', this.unspiderfy) + this.spider = null } } diff --git a/src/layers/DonutCluster.js b/src/layers/DonutCluster.js index cbfefeaa..0286c1ba 100644 --- a/src/layers/DonutCluster.js +++ b/src/layers/DonutCluster.js @@ -24,7 +24,7 @@ class DonutCluster extends Cluster { const { groups, opacity } = this.options const mapgl = this.getMapGL() const newClusters = {} - const features = mapgl.querySourceFeatures(this.getId()) + const features = this.getSourceFeatures() // For every cluster on the screen, create an donut marker for (let i = 0; i < features.length; i++) { @@ -124,7 +124,6 @@ class DonutCluster extends Cluster { evt.feature = { type, id, properties, geometry } } - // console.log('EVENT CLICK FIRED', evt); this.fire('click', evt) } else { this.zoomToCluster(