关于百度地图 MapGL 视角移动函数 centerAndZoom 完成后触发事件
// 变化可视区域 替代掉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(); } }