在原有一个div的基础上,在添加一个div用来装地图。设置好两个容器的宽高
然后对两个view进行监听,可以用view.watch('extent',function(newVal,oldVal,property,object){})
进行监听
当鼠标移出一个地图的时候,记得viewWatch.remove()
,不然会进入死循环
<div id="myView">
<div id="mainView"></div>
<div id="splitView" class="d-n"></div>
</div>
style
#myView{
padding: 0;
margin: 0;
height: 100%;
width: 100%;
display: flex;
}
#mainView{
height: 100%;
flex: 1;
}
#splitView{
height: 100%;
flex: 1;
}
.d-n{
display: none;
}
监听
function splitScreen(view){
let mainViewWatch,splitViewWatch
mainView=view;
mainViewWatch=mainView.watch('extent',function(newVal,oldVal,property,object){
splitView.extent=newVal;
mainViewWatch.remove();
})
mainView.on('pointer-enter',setSplitView)
mainView.on('pointer-leave',function(){ mainViewWatch.remove();})
splitView.on('pointer-enter',setMainView)
splitView.on('pointer-leave',function(){ splitViewWatch.remove();})
function setMainView(){
splitViewWatch=splitView.watch('extent',function(newVal,oldVal,property,object){
mainView.extent=newVal;
})
}
function setSplitView(){
mainViewWatch=mainView.watch('extent',function(newVal,oldVal,property,object){
splitView.extent=newVal;
})
}
}