首页 / 浏览问题 / 组件GIS / 问题详情
如何清除地图要素编辑状态?
3EXP 2020年03月30日

在mapControl.TrackMode的状态为edit前提下,执行m_mapControl.Action = SuperMap.UI.Action.VertexEdit;,再选择任意可编辑要素图层后,被选中的要素状态变为节点编辑状态,此时点击地图空白处要素选中状态消失,mapControl.Action自动变成为默认的select2,此时再选择此要素仍显示为节点编辑状态。

击空白地图后,mapControl的Action不是已经自动变成select2了吗,为什么此时选择要素会显示节点编辑状态呢,不是应该显示为要素选中状态吗?是因为选中要素后的状态已经存储到图层里面了吗?通过执行怎样的代码可以消除掉被选中要素的VertexEdit状态,从而在点选要素时呈现出选中状态而不是节点编辑的状态呢?

1个回答

你好,设置鼠标状态为select即可
2,432EXP 2020年03月31日
我又测试了一下,变成select之后,选中的要素都不能移动了,这肯定是不符合使用的。并且即使换成select,上述问题仍然存在。在选中一个元素之后,修改action为VertexEdit节点编辑状态,然后点击空白底图,此时再更改action为select再点选刚才的元素,仍然显示编辑节点状态而不显示选中状态。
编辑状态是包括移动,编辑节点的,就是select2状态,select状态不能编辑(移动,节点编辑等)。

目前没办法通过action做到只移动 不编辑节点,因为action中的状态编辑包括了这两个。你可以自己写一个移动类的方法,不用我们框架自带的编辑类。
...