首页 / 浏览问题 / WebGIS / 问题详情
鼠标右击图层中的军标标号不生效
31EXP 2021年07月15日
let plotLayer = map.Layer2DManager.addLayer(
      cmapp.ShareMap.EsMapConstants.LAYER_TYPE_2D.PLOTTING,
      { layerName: "标绘图层" },
      {
        options: {
          type: "layer",
          isChoosed:true
        },
        parentNodeName:'标绘',
      }
    );
    map.Layer2DManager.setDrawingLayer(plotLayer);
    //右击不可以start
    let movingTarget = L.supermap.plotting.movingTargetLayer("plot", EsMapURL.SuperMapService.plotUrl);
    movingTarget.addTo(map);
    movingTarget.on("featurecontextmenu", (event) => {
      console.log("右击")
    });
    //右击不可以end
    

这边右击方法没反应,换成左击方法确可以,请教下是我哪边写的有问题吗?

    //左击可以start
    // let movingTarget = L.supermap.plotting.editControl()
    // movingTarget.addTo(map);
    // movingTarget.on("featuresselected", (event) => {
    //   console.log("左击")
    // });
    //左击可以end

1个回答

您好,你右键的这个标绘是不是处于选中状态,如果是选中状态的话,右键事件是触发不了,只有处于非选中状态才能触发右键事件。
865EXP 2021年07月16日
不是选中状态,就直接右击的

我把addLayer里面的layName的值'标绘图层'改成其他名字右击事件就生效了。但是这样就无法绑定同一个图层,显示隐藏效果就不生效了

let plotLayer = map.Layer2DManager.addLayer(

      cmapp.ShareMap.EsMapConstants.LAYER_TYPE_2D.PLOTTING,

      { layerName: "标绘图层" },

      {

        options: {

          type: "layer",

          isChoosed:true

        },

        parentNodeName:'标绘',

      }

    );

    map.Layer2DManager.setDrawingLayer(plotLayer);

    //右击不可以start

    let movingTarget = L.supermap.plotting.movingTargetLayer("标绘图层", EsMapURL.SuperMapService.plotUrl);

    movingTarget.addTo(map);

    movingTarget.on("featurecontextmenu", (event) => {

      console.log("右击")

    });

    //右击不可以end
我是没看懂你的啥意思,控制这个标绘图层显隐,可以通过movingTargetLayer的属性visibility来控制
...