概述
TerraExplorer 7.0基于原生的64位软件来设计,这样就可以最大化的去利用可用的内存。这个变化对原来的API有一定的影响,需要生成64位的应用程序。如果想用32位的程序比如IE去访问创建好的应用程序,需要在VisualStudio添加TEX32to64.dll,而不是TerraExplorerX.dll。这样32位的应用程序就可以访问三维窗口控件和信息树控件,也能够在VisualStudio(32位)中使用TerraExplorer控件。除了新的功能,API v7.0相对于APIv6.6只做了细微的改动。这样,客户既可以使用新的功能,又能很容易的去更新基于6.6写得的代码。
C#环境中,修改步骤如下:
1、配置工程的生成目标平台为64位。
打开Visual Studio 配置管理器:在可用的目标平台列表中,选择64位,然后关闭
2、 创建SGWorld70实例代替SGWorld66
创建SGWorld70实例代替SGWorld66
3、重命名所有的类型为v7.0
例如,重命名:
IPosition66 pos =…
为:
IPosition70 pos =…
注:Geometry相关的对象(如:IGeometry 和ILinearRing)没有版本号,所以不必修改。
4、重新编译代码
大多数的编译错误有可能是忘记修改为70,如果还有错误,请考虑6.6到7.0修改了的属性和方法,有的属性和方法可能被废弃了。具体详情参考下节。
Javascript中,修改步骤如下:
1. 创建SGWorld70实例代替SGWorld66
将<object id="globe" classid="clsid: 3A4F9199-65A8-11D5-85C1-0001023952C1"/>修改为<object id="globe" classid="clsid: 3A4F919A-65A8-11D5-85C1-0001023952C1" />
2. 修改变化了的方法和属性
新增属性
属性 |
接口 |
更新内容 |
说明 |
CameraDeltaPitch |
IRouteWaypoint70 |
删除 |
|
CameraDeltaYaw |
IRouteWaypoint70 |
删除 |
|
Flags |
IPopupMessage70 |
修改 |
新增_HTML_POPUP_FLAGS值 |
LimitScreenSize |
ITerrainDynamicObject70 |
新增 |
获取和设置标签是否随着视角的远近而变化大小 |
LineToGround |
ILabelStyle70 |
删除 |
|
LineToGroundLength |
新增 |
获取和设置标签线延伸到地面的长度 |
|
LineToGroundType |
新增 |
获取和设置标签延伸到地面的类型 (无,自定义长度或者到地面) |
|
MeshGroundOffset |
IMeshLayer70 |
新增 |
设置mesh图层的偏移 |
Opacity |
ISlopeMap70 |
新增 |
设置坡度图的透明度 增加该属性 |
Oversampling |
IMeshLayer70 |
新增 |
获取和设置mesh图层的LOD |
Property |
IFeature70 |
删除 |
这个属性被 GetProperty 方法代替 |
ReplaceTerrainWithMesh |
IMeshLayer70 |
新增 |
获取和设置3DML是否和mpt融合 |
Settings |
IProject70 |
修改 |
增加了一些值 |
TargetFrameRate |
IApplication70 |
新增 |
获取和设置TE的刷新帧率 |
Time |
IRouteWaypoint70 |
新增 |
设置飞机在特定节点的时间 |
TrackLineStyle |
ITerrainDynamicObject70 |
新增 |
是否显示动态对象的路径 |
新增方法
方法 |
接口 |
更新内容 |
说明 |
CalculateVolume |
IAnalysis70 |
删除 |
|
CanExecute |
ICommand70 |
修改 |
CommandID新增值 |
CreateRouteWaypoint |
ICreator70 |
修改 |
删除掉两个参数:CameraDeltaYaw 和CameraDeltaPItch |
EditItem |
IProjectTree70 |
修改 |
Flags新增参数 |
Execute |
ICommand70 |
修改 |
CommandID新增值 |
ExecuteQuery |
IFeatureLayer70 I3DMLFeatureLayer70 |
新增 |
该方法返回图层中的所有属性。支持属性SQL和空间查询 |
GetAvailableCodecs |
IMovieWriter70 |
修改 |
返回支持wmv格式的编码器。还有AVI 格式 |
GetFeather |
ITerrainModifier70 |
新增 |
返回羽化值 |
新增 |
返回所有打开pop消息的标题 |
||
GetProperty |
IFeature70 |
新增 |
返回对象属性表中的属性值 |
HideCrossSectionBox |
IAnalysis70 |
新增 |
隐藏剖面分析的结果 |
ICodecInfo70 |
新增 |
确定选择是解码器是否是WMV解码器 |
|
新增 |
可以加载多个不同类型的文件 |
||
新增 |
重新连接SkylineGlobe 服务 |
||
修改 |
ObjectIdStr 命名为ObjectID |
||
Search |
新增 |
返回搜索对象,OnSGWorld 返回搜索结果 |
|
SetHUDLayer |
IWindow70 |
删除 |
|
新增 |
显示三维对象的横截面 |
||
新增 |
显示动态对象的路径 |
新增事件
事件 |
接口 |
更新内容 |
说明 |
新增 |
键盘事件 |
新增接口
接口 |
说明 |
该接口替换了 IAviWriter70 |
|
访问SkylineGlobe Server的接口 |