Skip to content

Commit 57914fb

Browse files
authored
fix(bmap): bmap event moveend is always triggered when dragging or zoomend. (apache#12558)
1 parent 38bd9eb commit 57914fb

File tree

3 files changed

+601
-6
lines changed

3 files changed

+601
-6
lines changed

extension-src/bmap/BMapCoordSys.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,13 @@ BMapCoordSys.create = function (ecModel, api) {
201201
var center = bmapModel.get('center');
202202
var zoom = bmapModel.get('zoom');
203203
if (center && zoom) {
204-
var pt = new BMap.Point(center[0], center[1]);
205-
bmap.centerAndZoom(pt, zoom);
204+
var bmapCenter = bmap.getCenter();
205+
var bmapZoom = bmap.getZoom();
206+
var centerOrZoomChanged = bmapModel.centerOrZoomChanged([bmapCenter.lng, bmapCenter.lat], bmapZoom);
207+
if (centerOrZoomChanged) {
208+
var pt = new BMap.Point(center[0], center[1]);
209+
bmap.centerAndZoom(pt, zoom);
210+
}
206211
}
207212

208213
bmapCoordSys = new BMapCoordSys(bmap, api);

extension-src/bmap/BMapView.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,10 @@ export default echarts.extendComponentView({
6767
}
6868

6969
bmap.removeEventListener('moving', this._oldMoveHandler);
70-
// FIXME
71-
// Moveend may be triggered by centerAndZoom method when creating coordSys next time
72-
// bmap.removeEventListener('moveend', this._oldMoveHandler);
70+
bmap.removeEventListener('moveend', this._oldMoveHandler);
7371
bmap.removeEventListener('zoomend', this._oldZoomEndHandler);
7472
bmap.addEventListener('moving', moveHandler);
75-
// bmap.addEventListener('moveend', moveHandler);
73+
bmap.addEventListener('moveend', moveHandler);
7674
bmap.addEventListener('zoomend', zoomEndHandler);
7775

7876
this._oldMoveHandler = moveHandler;

0 commit comments

Comments
 (0)