首页 / 浏览问题 / 组件GIS / 问题详情
如何使矢量要素居中闪烁
5EXP 2019年12月26日
查询到的结果,比如选中某一行记录,然后对应行的矢量要素可以在mapcontrol里居中并闪烁

1个回答

您好,获取到对应记录的几何数据,移动到mapcontrol中央,再通过移除,添加,反复操作,做定时器
2,432EXP 2019年12月27日
刚接触,不太熟悉。能不能详细点,或者说下用到哪些类(代码)
我们的矢量数据集是Datasetvector类,recordset就是它的记录集,存属性信息的,里面包含了几何对象,通过从这个类里面获取几何对象Geometry,改变其坐标信息,移到mapcontrol中央,再自己定义一个timer,事件就写闪烁事件(不断添加geometry,移除)

如果这样您那边还是不太明白,建议下个帮助文档,按照我说的这几个类查一下,了解一下

移动到mapcontrol中央 。怎么实现??

修改你获取的Geometry坐标点,修改为你中央点坐标
不改变矢量数据的坐标属性前提下或者显示后又恢复成原来数据。。。
您好,也可以 ,那你只获取geometry,更新后不修改到recordset,添加到trackinglayer上显示,trackinglayer是在map类里面,你可以看下
就是可以以这个矢量数据的坐标为mapcontrol的中心坐标嘛?
可以啊,你修改geometry的坐标就行了,修改过后不调用recordset更新方法,把geometry添加到trackinglayer上展示,这个图层不保存数据的
q:发现并没有显示出应该显示的矢量要素,可以闪烁但并不能居中也不是记录中的矢量要素。
你好,我并没有看到获取geometry的代码,也没有看到修改geometry坐标的代码。

你如果通过点击实现,需要把你点击的selection转换为记录集recordset,再从recordset中获取geometry对象

你好,能不能帮我看下为什么只能在第一个数据集进行操作(也就是我们选的SmID 都只能在第一个数据集,以world为例,只能在第一个ocean面数据集进行选择某个面进行闪烁三次)。

另外怎么获取选中的矢量要素的坐标,并在rackinglayer显示????

谢谢热心的工作人员。。。。

如果能像桌面版supermap再加上闪烁和居中就更加美观啦
你好,给你说一下逻辑关系,一个数据集对应一个recordset,一个图层layer,一个layer对应与之相关的selection,这个关系理清过后去检查你的代码。

获取坐标可以通过鼠标点击事件,获取屏幕坐标,通过map.PixelToMap转换为地图上的坐标点。
...