首页 / 浏览问题 / 组件GIS / 问题详情
对图层自定义绘制
35EXP 2019年10月18日
使用产品:iobjectscpp 9D  操作系统:win10 x64
数据类型:文件型

1.如何在自定义图层添加自定义对象(点、线、面、文本)

2.对象如何不跟随地图缩放改变自己大小(假设我绘制了一个正方形,希望无论在什么比例尺下,它一直是一个大小)

3.地图利用save()方法无法保存

4.记录集和选择集的使用

4.镂空的面对象如何生成

ps:iobjectscpp组件有具体的api介绍和说明文档吗?

2 个回答

1. 创建UGPoint, UGGeoLine , UGGeoRegion, UGGeoText添加到数据集即可

2. 线、面几何对象本身是坐标点串构成,在不同比例尺下其坐标映射到屏幕的位置也会变化,无法固定其显示大小。文本对象可设置固定大小。

3. 要将地图的修改保存到工作空间文件,还需调用工作空间的save()方法,可参考https://github.com/Jun0x01/JunSuCpp中Workspace::Save()

4. 记录集是数据集的一个映射用了管理数据集,通过记录集实现数据库操作;选择集代表的是地图上选中对象的集合,处理地图选中时使用。

5. 镂空即无填充,将对象风格的填充色设置成透明

6. 没有api独立文档,api说明请参考头文件。

694EXP 2019年10月18日
非常感谢,但还有一部分不能理解的地方

1.我需要在地图上放置一个矩形(中心点为标注的点)来表示点,它不能不随地图缩放?

2.关闭工作空间之前不释放是否无法保存?数据源的删除需要遍历数据集吗??

3.记录集和选择集有具体demo或者示例代码吗?

4.镂空填充透明在进行叠加分析时候他会计算空白部分吗?
1. 不太清楚你要用什么要的矩形来显示,表示点的话可以制作点符号库,点图层可设置符号不随图缩放,参考iDesktop中的操作

2. 对象释放了还能调用保存?需要保存时就保存,这个保存的是工作空间中数据源和地图等资源的关联信息。

  从工作空间删除数据源并不会删除数据集,只是移除了关联关系。清空数据源可以使用UGDatasets::RemoveAll()

3. 这个没有官方示例代码,仍然可以参考我的JunSuCpp中JunSuMFCDialogDlg.cpp,其中有相关操作的方法

4. 风格只影响显示,不影响分析,分析使用的是坐标,以及在地图上考虑图层是否可见。
好的,感谢您的回答
您好,是c++的问题吗
2,432EXP 2019年10月18日
是的,C++的
...