// 变化可视区域 替代掉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();
}
}