关于javascript:arcgis-for-js实现地图拖拽范围

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理