本文中World Wind的GitHub下载地址:https://github.com/hujiulin/WorldWindhtml
美国国家航空航天局(National Aeronautics and Space Administration, NASA)主导的World Wind是全球开发人员共同参与研发的一个开源地理信息系统项目。由NASA Research开发,NASA Learning Technologies来发展,将地球的卫星、电子、地形地图以及其余地理数据经过一个三维的数字化的地球进行展现,旨在面向各行业的数据集成,支持WMS、WFS、WTMS等服务,是一款很是优秀的三维客户端框架绘制引擎。它使用了XML对数据进行描述和设置,具备良好的通用性和扩展性。World Wind目前有基于.NET和Java开发的两种版本。World Wind除了三维地球的基础功能以外,还具备很强的可扩展性,具备多种功能性插件,支持谷歌、微软等发布的地图(卫星、电子、地形)数据。java
本文主要解决了World Wind编译、运行、中文乱码等问题。git
[1].源码的下载,环境的配置,源码的编译[使用国际网络,以防网络不能访问]github
源码的下载:windows
WorldWind分为.Net和java两种版本,Nasa的官方网站是:http://worldwind.arc.nasa.gov/java/服务器
提供java版本的下载。网络
.Net版本的下载:app
http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/框架
这里提供的是svn,建议用svn进行download编辑器
备注:上述SVN是经过http://www.worldwindcentral.com/wiki/Source_code 维基百科找到的。
环境的配置:
1. 须要提早装好DirectX9
源码的编译:
1.乱码:会发现不少字符串相关的语法错误。文件编码引发
在VS的解决方案管理器里右键文件
选“打开方式”,
选“带编码功能的CSharp编辑器”
选“西欧(windows)-代码页 1252”
打开文件,无乱码
文件菜单文件的保存编码改为UTF8,再保存源码文件
备注:受影响的文件有6个左右
2. LoaderLock问题:
菜单(调试-》异常)——》异常窗口 ——》ManagerDebuggingAssistants ——》去掉LoaderLock选项
3. 注册表权限问题:
打开HtmlEditor项目的属性,取消“生成(Build )”选项卡的为COM互操做注册(’Register for COM interop’)前的勾选
4.开始运行程序,发现一切正常,可是从初始化界面到程序自己须要等待较长的时间,这是由于中国连不上worldwind的服务器形成的缘由,worldwind本身也提供离线模式,亦能够修改xml中wms服务器的url。此处暂时采用的办法是注释掉如下两行代码:
Worldwind->PluginSDK->ConfigurationLoader.cs中:
262行:
321行:
5. 运行程序,加载Initializing的画面错位
经过调试发如今worldwind.cs中的public MainApplication()中[563行],
使用splash窗体。
Splash窗体:
Splash构造函数
能够看到picturebox的代码注释,并且窗体上并没有picturebox的控件。
将图片调整成如图所示的样子,启动程序正常。
决定将源码备份到百度网盘和本身的svn服务器上。[百度的服务器上没上传成功]
刚才迁移了worldwind的源码,出现一个问题:
从新生成,清理项目都没有用。
解决方法:
删除该文件:
删除以后,需从新配置:
问题解决。
备注:第一次运行程序时,稍微须要等下。
若是缺乏引用:AVIFile.dll FlickrNel.dll等引用,请将Release模式切换为Debug,便可彻底编译运行经过。[固然具体缘由是须要将对应dll拷贝到Release目录下。]
在解决乱码问题的时候,部分人遇到一个状况:主界面显示度数的地方会造成“掳”这样的乱码,这是由于乱码问题并没获得彻底解决,请在“高级选项保存”时选择:带签名的UTF-8保存便可解决该问题。
乱码的文件有:
Project | File |
---|---|
WorldWind | Compass3D.cs |
WorldWind | GPSTrackerPlugin.WorldWind.cs |
WorldWindow | WorldWindow.cs |
PluginSDK | ConfigurationLoader.cs |
PluginSDK | Angle.cs |
乱码问题所有解决:
今天将svn上的代码,迁移到x64的机器上编译,程序不能运行,调试模式下看到错误:
“未处理的“System.BadImageFormatException”类型的异常”
解决方式:
Any CPU或者x64模式-》改为x86,而后将output path改为与“..\bin\Debug\”
从新生成解决方案,编译运行便可成功:
参考连接:http://cesiumcn.org/topic/206.html | 国内快速访问:http://cesium.coinidea.com/topic/206.html