首页 / 浏览问题 / 组件GIS / 问题详情
iobjects.Net的坐标点显示
8EXP 2017年07月10日
请问,在mapcontrol中如何显示原图层的经纬度?如何将已知经纬度的点显示在mapcontrol中,并且使点与图层一起缩放平移?请说明用何控件,最好能展示一下代码。

1个回答

您好,显示原图层的经纬度是什么意思?是显示经纬网还是鼠标移到哪儿就显示那个地方的经纬度?

将已知经纬度的点显示在mapcontrol中有如下方法:

1.新建一个点类型的数据集,获取该数据集的Recordset,使用Recordset.AddNew(Geometry)方法,Geometry就有已知的经纬度构造成Geopoint。这样就相当于将已知点存在了点数据集中,mapcontrol.map.layers.add()方法可以将该数据集加进mapcontrol。

2.可以用已知点的坐标构造一个GeoPoint,然后使用mapcontrol.map.trackinglayer.add()方法将该点加在地图的跟踪图层上面。

值得一提的是,第一个方法是将点对象存进了数据集中,第二个方法只是临时显示在当前地图的跟踪层上面,并没有存储点对象。
5,985EXP 2017年07月11日
您好,请问,如果我想每隔1分钟更新一下坐标点在地图上的位置,上1分钟的点位置不再显示,请问该选用什么组件。谢谢
您可以自己用一个时间控件,时间间隔设置为1分钟,每一分钟执行如下操作:

1.如果每分钟更新的点存储在不同的数据集,此时工作就是移除之前的图层,加入现在的图层。

2.如果每分钟更新的点存储在同一个数据集,此时需要设置图层过滤,使用Layer.DisplayFilter

属性。此前需要做的工作的就是把每分钟更新的最后一个点的SmID记录下来,每次更新的时候小

于该SmID的点都被过滤掉,不显示。

3.如果您觉得之前的点不再需要的话,直接删除掉之前的点也是可以的,如果需要的话,参考1,2建议
...