开发语言:C#
平台版本:MapGIS K9 SP3
MapGIS K9三维平台也提供了接口和组件以实现二次开发。用户可以根据提供的接口和组件进行二次开发,也可以借助MapGISK9数据中心框架,可以方便的调用三维平台已有的基本功能。本文就是个简单的数据浏览和功能调用示例。
我们要用到两个控件,一个是三维场景控件:MapGIS mx_TDEViewCtrlControl ,另外一个就是三维目录树控件:MapGIS mx_TDETreeCtrlControl。我们新建一个窗体,并将两个控件添加到窗体中。
控件准备好了,现在需要准备数据了。数据需要在三维平台里面操作完成,配置好显示的模型,并保存目录树。(具体配置过程可参考大赛提供的三维平台操作视频)
数据配置完成之后,在窗体的构造函数中添加两行代码:
public Form1()
{
InitializeComponent();
axmx_TDEViewCtrl1.initEnvionment();//初始化三维场景控件
axmx_TDETreeCtrl1.initEnvionment();//初始化三维目录树控件
}
然后运行就可以看到数据了:(此处我以2012年高级开发A组一等奖作品数据为例)
数据可以浏览了,现在给大家说一下功能如何调用。
我们先添加一个按钮,然后在按钮的click事件中写代码:
private voidbutton1_Click(object sender,EventArgs e)
{
//调用 添加标注 功能
axmx_TDEViewCtrl1.SetFuncItem("CreateMark");
}
通过这样一句话,就可以调用三维平台已有的添加标注的功能。
SetFunItem方法需要的参数是功能插件的别名,这个别名可以在MapGIS安装目录下Program文件夹中的一个叫做ActiveXFuncList.xm的文件中查看,节点属性中的DispName属性就是可调用的方法别名。
下图为添加标注功能演示截图: