TerraExplorer_proC#开发阶段性小结

最近研究了一下如何用skyline快速构建基于.net的GIS系统,现做阶段性小结:

 

Q1.winform窗体是否允许加载多个3D窗口

 

A:答案是否,我在项目中不管是一个窗体上还是在一个程序中不同窗体上加载多个3D窗口均会报错,咨询技术人员发现这是不允许的,一个进

 

程只允许一个3D窗口。但是项目要求有多个窗口并且要实现同步跟踪,于是我的解决方法是通过文件共享位置信息的方法,在主窗口中实时记录

 

每一帧的视点信息,TerraExplorerClass的onframe事件是对每一帧的变化作出动作,可以在这个事件中取到当前视点信息(GetPosition),

 

并将视点信息写到外部某文件中,子窗口的onframe事件读取视点信息并设置当前视点,注意在这里主窗口和子窗口是两个不同的winform程

 

序(两个工程),仅仅通过共享文件来通信,读取和写入文件的时候注意文件的共享属性。

 

Q2.主窗口程序和子窗口程序当窗体失去焦点时3D漫游停止?

 

A:感觉skyline内部对3D窗口有锁的机制,如果不设置,任何skyline程序只能在获取到焦点(变成激活窗体)之后才能实现漫游,否则漫游就

 

会停止,解决方法是在窗体加载时通过接口ITerraExplorer51的SetParam方法设置参数,

 

      例如ITerraExplorer51.SetParam(7000,2);这是隐藏参数,手册里没有。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值