首页 / 浏览问题 / 组件GIS / 问题详情
点替换为图标或者图片显示
58EXP 2019年08月21日
使用产品:iobject.net  9D(2019)    操作系统:win10X64

你好,请问一下,我现在做组件开发,怎么实现绘制一个点和添加一个点后,把点替换成一个图标显示呢(最好能实现一个点放上就显示为图标,如果不能再统一对添加过的点进行替换)?需要调用什么接口呢?

1个回答

您好!直接用TrackingLayer3D.Add 方法 (Geometry, String)来实现,图片用GeoPicture来实现。具体请查看iObjects.Net的帮助文档,在搜索里搜索关键接口进行查阅。
3,362EXP 2019年08月21日
这个Tracking3d图层怎么添加到图层集合中,在mapcontrol中展示;这个跟踪图层,怎么获取到相应的对应点数据集或者点图层的点位置,进行图片显示。

您好!根据您的上述描述我定位为您是想在二维地图上添加点,TrackingLayer是跟踪图层,在SuperMap中,每个地图窗口都有一个跟踪图层,确切地说,每个地图显示时都有一个跟踪图层。跟踪图层是一个空白的透明图层,总是在地图各图层的最上层,主要用于在一个处理或分析过程中,临时存放一些图形对象,以及一些文本等。只要地图显示,跟踪图层就会存在,你不可以删除跟踪图层,也不可以改变其位置。

您如果是想将鼠标点击的点添加到点数据集中,就需要获取该点数据集的记录集,将点对象添加到该记录集中,代码如下:

Recordset recordset = datasetVector.GetRecordset(true, CursorType.Dynamic);
  recordset.MoveLast();
 bool aa = recordset.AddNew(geoPoint);
  recordset.Update();

您如果想获取选中点对象的位置添加图片时,这是获取选中对象的代码

Selection[] selection= mapControl1.Map.FindSelection(true);
            Recordset r = selection[0].ToRecordset();
        GeoPoint geo=  r.GetGeometry() as GeoPoint;

点的位置就是GeoPint.X和GeoPint.Y。

...