需求:要求地图只能在一个固定的可视范围内拖动。
准备材料: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)
}
},
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。