欢迎来到天天文库
浏览记录
ID:37901070
大小:169.50 KB
页数:24页
时间:2019-06-02
《skyline开发资料汇总》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、开发入门(c#):经过几个月的摸索,对skyline的开发有了一定的了解。入门的阶段总是让人郁闷,现将本人的经验进行简单的总结,方便自己,方便他人。本文是个人的经验总结,如果有不同的见解,欢迎各位朋友一起讨论。欢迎转载本文,转载是请注明本文地址www.3snews.net/?gisbamboo,谢谢!本文包括两方面的内容,一方面是介绍skyline开发帮助文档,另一方面是根据帮助文档编写一个skyline的例程。一、帮助文档介绍安装好skylinepro后,在安装目录下可以找到开发帮助文档Program
2、mersGuide.chm我是把软件安装在C盘,C:ProgramFilesSkylineTerraExplorerProHelp。帮助文档共有七个章节,skylin桌面开发主要是用到第三章和第四章。1、TerraExplorerCoClassInterfacesTerraExplorerClass类是创建TerraExplorer组件类的入口,TerraExplorerCoClassInterfaces中所有的接口都实现了TerraExplorerClass类。以获得IInformationTre
3、e5对象为例,代码如下:TerraExplorerterraExplorer=newTerraExplorerClass();IInformationTree5iInformationTree5=newTerraExplorerClass();以上两行代码,就可以得到iInformationTree5实例了,就可以调用iInformationTree5的方法。其他组件类接口的使用方法都是类似的。TerraExplorerClass除了能实现组件类接口,也能直接实例化。TerraExplorerClasste
4、rraExplorerClass=newTerraExplorerClass();terraExplorerClass对象提供了丰富的方法,最常用的就是Invoke方法了,这个方法实际上是和IMenu接口的Invoke方法是一样的,只要传入菜单命令ID,就可以调用skyline已经封装好的很多功能了,菜单命令可以参考开发帮助IMenu接口的介绍。2、ITerraExplorerObject5Interfaces主要是介绍创建TerraExplorer各种对象的接口。以上接口不能通过直接实现,必须通过组件类实
5、例的方法创建。实现ITerrainPolyline接口的代码如下:方法一:ITerrainPolylineiTerrainPolyline=null;iTerrainPolyline=terraExplorerClass.CreatePolyline(null,Color,HeightStyleCode.HS_ON_TERRAIN,groupID,“线的名称”);方法二:IObjectManager51iObjectManager51=(IObjectManager51)terraExplorer;ITer
6、rainPolylineiTerrainPolyline=null;iTerrainPolyline=iObjectManager51.CreatePolyline(null,Color,HeightStyleCode.HS_ON_TERRAIN,groupID,“线的名称”);二、开发实例——路线转移路线转移功能,可以通过鼠标画一个转移的路线,双击鼠标结束画线。创建好路线之后,再创建一个动态对象,动态对象以之前创建好的路线作为运动的轨迹。1、创建私有变量privateTerraExplorerClasst
7、erraExplorerClass;ITerrainPolylineiTerrainPolyline=null;2、创建路线iTerrainPolyline=terraExplorerClass.CreatePolyline(null,Color,HeightStyleCode.HS_ON_TERRAIN,groupID,“路线”);//创建鼠标左键委托this.terraExplorerClass.OnLButtonDown+=new_ITerraExplorerEvents5_OnLButtonDown
8、EventHandler(TE_OnLButtonDown);//创建鼠标双击委托this.terraExplorerClass.OnLButtonDblClk+=new_ITerraExplorerEvents5_OnLButtonDblClkEventHandler(TE_OnLButtonDblClk);this.TE.SetMouseInputMode(MouseInputMode.MI_COM_CLIE
此文档下载收益归作者所有