ArcGIS JS 4X MapImageLayer的graphic鼠标点击交互

博客介绍了如何在ArcGIS中使用MapImageLayer替代DynamicMapServiceLayer,并通过FeatureLayer实现图层的鼠标交互。文章详细阐述了如何添加图层,以及封装获取点击和悬停图形对象的方法,提供了示例代码供参考。

4X去掉了之前的ArcGISDynamicMapServiceLayer,替换的MapImageLayer更能更强大一些,但是MapImageLayer没有图形的鼠标交互,对需要添加图形交互的MapServer图层需要用FeatureLayer加到map对象上。

    // 包含图层url等信息的对象数组
    layerList.reverse().forEach((ele: any) => {
      let layer;
      if (ele.type === 'feature') {
        // arcgisFuns是自己封装的arcGIS组件对象 等同于new FeatureLayer
        layer = arcgisFuns.FeatureLayer({
          // 自己封装的一个拼接图层url的方法 
          // 示例:http://ip:6080/arcgis/rest/services/XXX/${ele.name}/MapServer
          url: layerConfig.getServerPath(ele.name, 'MapServer') + '/0',
          id: ele.name,
          visible: false,
          outFields: ['*'], // 这里需要自行设置输出字段,默认不全
        });
      } else {
        layer = arcgisFuns.MapImageLayer({
          url: layerConfig.getServerPath(ele.name, 'MapServer'),
          id: ele.name,
          visible: false,
        });
      }
      _t.view.map.add(layer);
    });

然后是封装的一个获取鼠标点击图层内graphic的方法。GraphicsLayer和FeatureLaye

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值