需要:要求地图只能在一个固定的可视范畴内拖动。
筹备资料: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) } },