// 变化可视区域 替代掉centerAndZoom changeBounds (param: { center: number[], zoom: number, onAfter?: Function, isNoOnChange?: boolean }){ let isMove = false; const animation_start = function(){ isMove = true; }; const animation_end = function(){ after(); }; let onzoomend = {}; // 是否禁止响应地图 if( param.isNoOnChange === true ){ onzoomend = this.map._listeners.onzoomend; this.map._listeners.onzoomend = {}; } const after = ()=>{ this.boundsChange((res: any)=>{ param.onAfter && param.onAfter(res); }, false); if( param.isNoOnChange === true ){ setTimeout(()=> this.map._listeners.onzoomend = onzoomend, 10); } this.map.off("animation_start", animation_start); this.map.off("animation_end", animation_end); } this.map.on("animation_start", animation_start); this.map.on("animation_end", animation_end); const p = new BMapGL.Point(param.center[0], param.center[1]); this.map.centerAndZoom(p, param.zoom); if( isMove == false ){ after(); } }
标签:map,视角,end,MapGL,param,onzoomend,start,animation,centerAndZoom From: https://www.cnblogs.com/liao1992/p/17158550.html