首页 / 浏览问题 / 云GIS / 问题详情
如何给地图上的军标绑定右击事件
5EXP 2021年07月05日
把标绘面板里面的军标,渲染到地图上,然后想给军标绑定右击事件,就是右击军标,弹出环形菜单,麻烦问一下,改怎么操作。是for LeaFlet,动态标绘文档里面的,事件里面的movingTargetLayer来触发右击事件吗,如果是还怎么关联那,麻烦帮忙指点一下。谢谢。

1个回答

您好,查看了动态标绘的api,右键事件是movingTargetLayer才有的,大致思路就是设置一个div 先隐藏,然后通过点击的点设置该div的top和left,下面代码供参考
 

plottingLayer.on("featurecontextmenu", function (event) {
        var contentMe = document.getElementById("contentMe");
            contentMe.style.top = event.originalEvent.clientY + "px";
            contentMe.style.left = event.originalEvent.clientX + "px";
            contentMe.style.display = "block";

    })
865EXP 2021年07月06日
plottinglayer是怎么配置的那,我用了。还是给军标右击不了。
就是用movingTargetLayer触发的那句代码该怎么写那,麻烦从头到尾帮忙写一下,谢谢啦
官网代码里面有,就是单纯的把L.supermap.plotting.plottingLayer改成L.supermap.plotting.movingTargetLayer  ;

var plottingLayer = L.supermap.plotting.movingTargetLayer("plot", serverUrl);

触发的语句之前都写了,还有如果你的标绘处于选中状态是监听不了标绘的右键事件的
var host = "https://iserver.supermap.io"

      var serverUrl = host + "/iserver/services/plot-jingyong/rest/plot/"

      var plottingLayer = L.supermap.plotting.movingTargetLayer("plot", serverUrl)

      plottingLayer.on(SuperMap.Plot.Event.movingtargetcontextmenu, (event) => {

        console.log(event, '------------------')

      })

我是这样写的,按照文档里面,但是还是没有用,是不是要重新建一个图层。。。。
...