cesium 同步多个地图

我们经常需要对多个地图进行联动 分别展示,
对于cesium 的多屏联动 我们用typescript 实现

```javascript

export class LinkageMap{
private viewers:Array;
private focusIndex=0;
constructor(_viewers:Array){
super();
this.viewers = _viewers;
}
sync(focusIndex=0){
this.focusIndex= focusIndex;
this.viewers[0].scene.postRender.addEventListener(this.syncMapEventHandle, this);
for(let index =0;index<this.viewers.length;index++){ const="" viewer="this.viewers[index];" viewer.container.onmouseenter="(event:any)="> {
this.focusIndex = index;
}
}
}
cancelSync(){
this.viewers[0].scene.postRender.removeEventListener(this.syncMapEventHandle, this);
for(let index =0;index<this.viewers.length;index++){
const viewer= this.viewers[index];
viewer.container.onmouseenter = null;
}
}
private syncMapEventHandle(){

posted @ 2022-01-20 17:24  haibalai  阅读(221)  评论(0编辑  收藏  举报