需要:要求地图只能在一个固定的可视范畴内拖动。
筹备资料:arcgis for js 4.X
监听地图拖动事件
//可视范畴设置
this.view.on('drag', () => {
// 获取操作图层的范畴
this.showExtent()
})
实时获取以后view的extent而后与提前设定的四制范畴做较比,任意一边超出都回跳到指定范畴MaxfullExtent
async showExtent(){
const Extent = await arcgisPackage.Extent
const SpatialReference = await arcgisPackage.SpatialReference
let MaxfullExtent={
xmin: 99.792016726,
ymin: 25.557485039,
xmax: 108.872216922,
ymax: 30.166249687
}
let ext=this.view.extent;
if(ext.xmin<MaxfullExtent.xmin||ext.xmax>MaxfullExtent.xmax||ext.ymax>MaxfullExtent.ymax||ext.ymin<MaxfullExtent.ymin){
let fullExtent = new Extent(
{
...MaxfullExtent,
spatialReference:new SpatialReference({ wkid: parseInt(4490) })//SpatialReference设置地图坐标系
}
);
this.view.goTo(fullExtent)
}
},
发表回复