3.2 MapManagerCOM


MapManagerCOM是三维地图组件,负责创建并管理SDK在使用过程中涉及到的对象,包括图层对象、响应器对象、更新对象、漫游对象、导航对象等。

三维地图组件对象可通过SDKCtrl的GetIMapMgrPtr()方法创建。

接口方法:

序号 方法名称 方法说明
1 CreateLayerOptions 创建图层配置对象
2 CreateLayer 创建图层对象
3 AddLayer 将图层添加至场景
4 GetLayerCount 获取已经添加至场景的图层数量
5 GetLayerByIndex 根据图层ID获取图层
6 GetLayerObject 获取图层对象
7 RemoveLayer 移除场景图层
8 CreateLayerGroup 创建图层组
9 AddLayerGroup 添加图层组
10 GetLayerGroupCount 获取已经添加至场景的图层组数量
11 GetLayerGroupByIndex 根据索引值获取图层组
12 GetLayerGroupChildByIndex 根据索引获取图层组子图层组
13 RemoveLayerGroup 移除图层组
14 RemoveAll 移除所有图层及图层组
15 CreateDataSourceOptions 创建数据源配置对象
16 CreateDataSource 创建数据源对象
17 CreateSymbol 创建符号对象
18 CreateStyle 创建样式对象
19 CreateResource 创建资源对象
20 CreateResourceLibrary 创建资源库对象
21 CreateStyleSheet 创建样式表对象
22 GetFeatureModelLayer 获取要素图层对象
23 CreateFeature 创建矢量要素对象
24 CreateResponserOptions 创建响应器配置对象
25 CreateResponser 创建响应器对象
26 AddResponser 添加响应器对象
27 RemoveResponser 移除响应器对象
28 CreateOperationOptions 创建更新操作配置对象
29 CreateOperation 创建更新对象
30 AddOperation 添加更新对象
31 RemoveOperation 移除更新对象
32 CreatePosition 创建坐标对象
33 CreateNavigation 创建导航对象
34 CreateTransformation 创建坐标转换对象
35 CreateRoam 创建漫游对象
36 SetParame 设置地图参数
37 DeserializeLayer 反序列化图层
38 SerializeMap 保存工程文件
39 DeserializeMap 打开工程文件
40 CreateParticleModifier 创建粒子修改器对象
41 CreateParticleRender 创建粒子绘制类型对象
42 CreateParticleModel 创建粒子模板对象
43 CreateParticleEmitter 创建粒子发射器对象
44 CreateParticleZone 创建粒子区域对象
45 CreateParticleGroup 创建粒子组对象
46 GetParticleSystemLayer 获取粒子图层对象
47 CreateRefrenceSystemOptions 创建参考系配置项对象
48 CreateRefrenceSystem 创建参考系对象
49 GetRefrenceSystem 获取参考系对象
50 DestroyRefrenceSystem 销毁指定参考系对象
51 CreateMapViewOptions 创建窗口配置对象
52 CreateMapView 创建窗口对象
53 DestroyMapView 销毁指定窗口对象
54 GetMapViewCount 获取当前窗口数量
55 GetMapViewIDByIndex 根据索引获取窗口id
56 GetMapViewByID 根据id获取窗口对象
57 GetActivedMapViewID 获取当前激活的窗口id
58 SetCurrentMapViewID 设置当前操作窗口
59 DeserializeMapView 窗口反序列化
60 CreateAnimationFrame 创建动画帧配置对象
61 CreateAnimationAction 创建动画插值行为
62 GetLayerGroupById 获取图层组对象
63 DeserializeLayerByUrl 根据网络路径反序列化图层

1.CreateLayerOptions

说明:

创建图层配置对象。图层配置对象是图层配置参数的容器,图层对象在创建或更新时所需要的参数都是由图层配置对象传入。

语法:

Javascript调用

CreateLayerOptions(name)

C++调用

HRESULT CreateLayerOptions([in] BSTR name, [out,retval] IUnknown** iLayerOptions)

C#调用

ILayerOptions CreateLayerOptions(string name)

参数:

参数名 参数类型 说明
name string 图层配置对象名称,名称任意

返回值: iLayerOptions

iLayerOptions表示图层配置对象

2.CreateLayer

说明:

创建图层对象。根据图层配置对象创建相应类型的图层对象。

语法:

Javascript调用

CreateLayer(layerType, opt)

C++调用

HRESULT CreateLayer([in] BSTR layerType, [in] IUnknown* opt, [out,retval] IUnknown** iLayerObject)

C#调用

ILayerObject CreateLayer(string layerType, ILayerOptions opt)

参数:

参数名 参数类型 说明
layerType string 图层配置类型
opt ILayerOptions 图层配置对象

图层配置类型:

配置类型 说明
ModelLayer 模型图层
ImageLayer 影像图层
ElevationLayer 地形高程图层
FeatureModelLayer 矢量图层
AnalysisLayer 分析测量图层
DynamicPathLayer 路径漫游图层
AnimationLayer 模型动画图层

返回值: iLayerObject

iLayerObject表示图层对象

3.AddLayer

说明:

添加图层对象。图层添加至场景后,场景会将图层中的数据进行展示。

语法:

Javascript调用

AddLayer(iLayerObject)

C++调用

HRESULT AddLayer([in]IUnknown* iLayerObject, [out,retval] VARIANT_BOOL* state)

C#调用

bool AddLayer(ILayerObject iLayerObject)

参数:

参数名 参数类型 说明
iLayerObject ILayerObject 图层对象,图层对象需调用CreateLayer方法进行创建

返回值: state

state表示图层是否添加成功。true-成功;false-失败。

4.GetLayerCount

说明:

获取已经添加至场景的图层数量。

语法:

Javascript调用

GetLayerCount()

C++调用

HRESULT GetLayerCount([out,retval] LONG* count)

C#调用

long GetLayerCount()

返回值: count

count表示图层数量。

5.GetLayerByIndex

说明:

根据图层索引获取图层对象。

语法:

Javascript调用

GetLayerByIndex(index)

C++调用

HRESULT GetLayerByIndex([in] LONG index, [out,retval] IUnknown** layer)

C#调用

ILayerObject GetLayerByIndex(long index)

参数:

参数名 参数类型 说明
index long 图层索引值

注意: 该方法配合GetLayerCount()]使用,可以获取场景中的所有图层对象。

返回值: layer

layer表示图层对象。

6.GetLayerObject

说明:

通过图层Id获取图层对象。

语法:

Javascript调用

GetLayerObject(layerID)

C++调用

HRESULT GetLayerObject([in] LONG layerID, [out,retval] IUnknown** iLayerObject)

C#调用

ILayerObject GetLayerObject(long layerID)

参数:

参数名 参数类型 说明
layerID long 图层ID

返回值: iLayerObject

iLayerObject表示图层对象。如果图层不存在,则返回空对象。

7.RemoveLayer

说明:

移除图层对象。

语法:

Javascript调用

RemoveLayer(layer)

C++调用

HRESULT RemoveLayer([in] IUnknown* layer, [out,retval] VARIANT_BOOL* state)

C#调用

bool RemoveLayer(ILayerObject layer)

参数:

参数名 参数类型 说明
layer ILayerObject 图层对象

返回值: state

state表示图层是否移除成功。true-成功;false-失败。

8.CreateLayerGroup

说明:

创建图层组对象。图层组对象用于管理一组或一类图层对象,通过图层组控制这组图层对象的添加、显隐和删除操作。

语法:

Javascript调用

CreateLayerGroup(name)

C++调用

HRESULT CreateLayerGroup([in] BSTR name, [out,retval] IUnknown** iLayerGroup)

C#调用

ILayerGroup CreateLayerGroup(string name)

参数:

参数名 参数类型 说明
name string 图层组名称

返回值: iLayerGroup

iLayerGroup表示图层组对象。

9.AddLayerGroup

说明:

添加图层组对象。

语法:

Javascript调用

AddLayerGroup(iLayerGroup)

C++调用

HRESULT AddLayerGroup([in]IUnknown* iLayerGroup)

C#调用

void AddLayerGroup(ILayerGroup iLayerGroup)

参数:

参数名 参数类型 说明
iLayerGroup ILayerGroup 图层组对象,图层组对象需要调用CreateLayerGroup()方法创建

10.GetLayerGroupCount

说明:

获取已经添加至场景的图层组对象数量。

语法:

Javascript调用

GetLayerGroupCount()

C++调用

HRESULT GetLayerGroupCount([out,retval] LONG* count)

C#调用

long GetLayerGroupCount()

返回值: count

count表示图层组对象的数量。

11.GetLayerGroupByIndex

说明:

根据索引值获取图层组对象。

语法:

Javascript调用

GetLayerGroupByIndex(index)

C++调用

HRESULT GetLayerGroupByIndex([in] LONG index, [out,retval] IUnknown** group)

C#调用

ILayerGroup GetLayerGroupByIndex(long index)

参数:

参数名 参数类型 说明
index long 索引值

返回值: group

group表示图层组对象。

12.GetLayerGroupChildByIndex

说明:

根据索引获取图层组子图层组对象。

语法:

Javascript调用

GetLayerGroupChildByIndex(fatherGroup, index)

C++调用

HRESULT GetLayerGroupChildByIndex([in] IUnknown* fatherGroup, [in] LONG index, [out,retval] IUnknown** iLayerGroup)

C#调用

ILayerGroup GetLayerGroupChildByIndex(ILayerGroup fatherGroup, long index)

参数:

参数名 参数类型 说明
fatherGroup ILayerGroup 父图层组对象
index long 索引值

返回值: iLayerGroup

iLayerGroup表示图层组对象。

13.RemoveLayerGroup

说明:

移除图层组对象。将图层组对象从场景移除,移除时图层组对象里的图层都会被移除。

语法:

Javascript调用

RemoveLayerGroup(iLayerGroup)

C++调用

HRESULT RemoveLayerGroup([in] IUnknown* iLayerGroup, [out,retval] VARIANT_BOOL* state)

C#调用

bool RemoveLayerGroup(ILayerGroup iLayerGroup)

参数:

参数名 参数类型 说明
iLayerGroup ILayerGroup 图层组对象

返回值: state

state表示图层组是否移除成功。true-成功;false-失败。

14.RemoveAll

说明:

移除所有图层及图层组对象。将已经添加至场景中所有的图层与图层组对象都移除。

语法:

Javascript调用

RemoveAll()

C++调用

HRESULT RemoveAll([out,retval] VARIANT_BOOL* state)

C#调用

bool RemoveAll()

返回值: state

state表示图层组是否移除成功。true-成功;false-失败。

15.CreateDataSourceOptions

说明:

创建数据源配置对象。数据源配置对象用于数据源对象的创建。

语法:

Javascript调用

CreateDataSourceOptions(dataSourceTypeName)

C++调用

HRESULT CreateDataSourceOptions([in] BSTR dataSourceTypeName, [out,retval] IUnknown** iDataSourceOptions)

C#调用

IDataSourceOptions CreateDataSourceOptions(string dataSourceTypeName)

参数:

参数名 参数类型 说明
dataSourceTypeName string 数据源配置类型

数据源配置主要有以下类型:

类型名称 说明
c3s 本地c3s格式模型数据
cpm 本地wrl格式模型数据(具有LOD层级)
gms 网络wrl格式模型数据(具有LOD层级)
ogr 本地矢量数据(shp/dxf)
wfs wfs服务发布的数据
sde 矢量数据(sde)
gdal 本地原始的高程影像数据
mtd 本地切割后的高程影像数据
mtds 网络切割后的高程影像数据
rest ArcGis发布的Rest服务
smesh 本地倾斜摄影数据(OSGB)
smeshs 网络倾斜摄影数据(OSGB)
wms wms服务发布的数据
wmts ArcGis发布的wmts服务

返回值: iDataSourceOptions

iDataSourceOptions表示数据源配置对象。

16.CreateDataSource

说明:

创建数据源对象,数据源对象用于获取对应数据的参数配置。

语法:

Javascript调用

CreateDataSource(iDataSourceOptions)

C++调用

HRESULT CreateDataSource([in] IUnknown* iDataSourceOptions, [out,retval] IUnknown** iDataSource)

C#调用

IDataSourceObject CreateDataSource(IDataSourceOptions iDataSourceOptions)

参数:

参数名 参数类型 说明
iDataSourceOptions IDataSourceOptions 数据源配置对象

返回值: iDataSource

iDataSource表示数据源对象。

17.CreateSymbol

说明:

创建符号对象,符号对象用于配置对应类型符号化的相关参数,

语法:

Javascript调用

CreateSymbol(type)

C++调用

HRESULT CreateSymbol([in] BSTR type, [out,retval] IUnknown** iSymbol)

C#调用

ISymbolObject CreateSymbol(string type)

参数:

参数名 参数类型 说明
type string 符号化配置对象类型

符号化配置对象共有以下几种类型:

参数名 说明
PointSymbol 线符号配置对象,要将矢量绘制为点时,需要此符号
LineSymbol 线符号配置对象,要将矢量绘制为线时,需要此符号
PolygonSymbol 面符号配置对象,要将矢量绘制为面时,需要此符号
TextSymbol 文字符号配置对象,要在场景中显示文字时,需要此符号
IconSymbol 图片符号配置对象,要将矢量显示为图片时,需要此符号
ModelSymbol 模型符号配置对象,要将矢量显示为模型时,需要此符号
PointExtrusionSymbol 点挤出符号配置对象,要将矢量点挤出为面时,需要此符号
LineExtrusionSymbol 线挤出符号配置对象,要将矢量的线挤出为面或管线时,需要此符号
PolygonExtrusionSymbol 面挤出符号配置对象,要将矢量的面挤出为体块时,需要此符号
SkinSymbol 纹理符号配置对象,要为矢量显示纹理时,需要此符号
BufferSymbol 缓冲区符号配置对象,要将矢量绘制为缓冲区时,需要此符号
AltitudeSymbol 矢量贴地符号配置对象,要将矢量贴地时,需要此符号

返回值: iSymbol

iSymbol表示符号对象。

18.CreateStyle

说明:

创建样式对象。样式对象用于设置矢量符号化时使用的样式。在配置矢量样式时需要将样式对象添加至样式表对象中。

语法:

Javascript调用

CreateStyle(name)

C++调用

HRESULT CreateStyle([in] BSTR name, [out,retval] IUnknown** iStyle)

C#调用

IStyle CreateStyle(string name)

参数:

参数名 参数类型 说明
name string 样式配置对象名称。 名称任意

返回值: iStyle

iStyle表示样式对象。

19.CreateResource

说明:

创建资源对象。资源对象用于设置矢量符号化时需用到的资源(图标、模型等),资源对象的名称必须与符号对象名称相匹配。

语法:

Javascript调用

CreateResource(symbol)

C++调用

HRESULT CreateResource([in] BSTR symbol, [out,retval] IUnknown** iResourceObj)

C#调用

IResourceObject CreateResource(string symbol)

参数:

参数名 参数类型 说明
symbol string 资源类型,与符号对象名称相同

返回值: iResourceObj

iResourceObj表示资源对象。

20.CreateResourceLibrary

说明:

创建资源库对象。用于管理资源对象,并且资源库对象的名称必须和使用的样式对象名称保持一致。

语法:

Javascript调用

CreateResourceLibrary(name)

C++调用

HRESULT CreateResourceLibrary([in] BSTR name, [out,retval] IUnknown** iResLib)

C#调用

IResourceLibrary CreateResourceLibrary(string name)

参数:

参数名 参数类型 说明
name string 资源库名称

返回值: iResLib

iResLib表示资源库对象。

21.CreateStyleSheet

说明:

创建样式表对象。在进行矢量图层创建时,需要将样式对象、资源库对象等添加到样式表对象中,再将样式表对象添加到矢量图层配置对象中。

语法:

Javascript调用

CreateStyleSheet()

C++调用

HRESULT CreateStyleSheet([out,retval] IUnknown** iStyleSheet)

C#调用

IStyleSheet CreateStyleSheet()

返回值: iStyleSheet

iStyleSheet表示样式表对象。

22.GetFeatureModelLayer

说明:

获取要素图层对象,要素图层对象包含了对矢量图层的要素对象操作,包括添加、删除、获取等操作。

语法:

Javascript调用

GetFeatureModelLayer(layerId)

C++调用

HRESULT GetFeatureModelLayer([in] LONG layerId, [out,retval] IUnknown** iFMLayer)

C#调用

IFeatureModelLayer GetFeatureModelLayer(long layerId)

参数:

参数名 参数类型 说明
layerId long 矢量图层ID

返回值: iFMLayer

iFMLayer表示要素图层对象。

23.CreateFeature

说明:

创建要素对象。要素是矢量数据的一个基本单元,可以创建要素对象对矢量图层进行编辑操作。

语法:

Javascript调用

CreateFeature()

C++调用

HRESULT CreateFeature([out,retval] IUnknown** iFeature)

C#调用

IFeature CreateFeature()

返回值: iFeature

iFeature表示要素对象。

24.CreateResponserOptions

说明:

创建响应器配置对象。响应器配置对象用于创建/更新响应器对象。

语法:

Javascript调用

CreateResponserOptions(name)

C++调用

HRESULT CreateResponserOptions([in] BSTR name, [out,retval] IUnknown** iResponserOptions)

C#调用

IResponserOption CreateResponserOptions(string name)

参数:

参数名 参数类型 说明
name string 响应器类型

响应器类型主要包括:

类型 说明
PickModelResponser 模型拾取
PickVectorResponser 矢量拾取
PickObliqueResponser 倾斜摄影单体化拾取
AxisEditResponser 拖拽器
UILogoResponser Logo响应器
UICrossResponser 中心十字标响应器
UICompassResponser 罗盘响应器
UITipsResponser 提示文字响应器
UIStateResponser 状态栏响应器
UIFullScreenResponser 全屏按钮响应器
UICaptionResponser 字幕响应器
SceneshotResponser 截图响应器

返回值: iResponserOptions

iResponserOptions表示响应器配置对象

25.CreateResponser

说明:

创建响应器对象。根据配置项创建相应类型的响应器。

语法:

Javascript调用

CreateResponser(type, opt)

C++调用

HRESULT CreateResponser([in] BSTR type, [in] IUnknown* opt, [out,retval] IUnknown** iResponserObject)

C#调用

IResponserObject CreateResponser(string type, IResponserOption opt)

参数:

参数名 参数类型 说明
type string 响应器配置类型
opt IResponserOption 响应器配置对象

响应器配置类型:

参数名 说明
PickModelResponser 模型拾取
PickVectorResponser 矢量拾取
PickObliqueResponser 倾斜摄影单体化拾取
AxisEditResponser 拖拽器
UILogoResponser Logo响应器
UICrossResponser 中心十字标响应器
UICompassResponser 罗盘响应器
UITipsResponser 提示文字响应器
UIStateResponser 状态栏响应器
UIFullScreenResponser 全屏按钮响应器
UICaptionResponser 字幕响应器
SceneshotResponser 截图响应器

返回值: iResponserObject

iResponserObject表示响应器对象。

26.AddResponser

说明:

添加响应器对象。将响应器添加至场景以响应对应的操作。

语法:

Javascript调用

AddResponser(rsp)

C++调用

HRESULT AddResponser([in] IUnknown* rsp, [out,retval] VARIANT_BOOL* state)

C#调用

bool AddResponser(IResponserObject rsp)

参数:

参数名 参数类型 说明
rsp IResponserObject 响应器对象

返回值: state

state表示是否添加成功。true-成功;false-失败。

27.RemoveResponser

说明:

移除响应器对象。

语法:

Javascript调用

RemoveResponser(type)

C++调用

HRESULT RemoveResponser([in] BSTR type, [out,retval] VARIANT_BOOL* state)

C#调用

bool RemoveResponser(string type)

参数:

参数名 参数类型 说明
type string 响应器类型

响应器类型:

类型 说明
PickModelResponser 模型拾取
PickVectorResponser 矢量拾取
PickObliqueResponser 倾斜摄影单体化拾取
AxisEditResponser 拖拽器
UILogoResponser Logo响应器
UICrossResponser 中心十字标响应器
UICompassResponser 罗盘响应器
UITipsResponser 提示文字响应器
UIStateResponser 状态栏响应器
UIFullScreenResponser 全屏按钮响应器
UICaptionResponser 字幕响应器
SceneshotResponser 截图响应器

返回值: state

state表示是否移除成功。true-成功;false-失败。

28.CreateOperationOptions

说明:

创建更新操作配置对象。

语法:

Javascript调用

CreateOperationOptions(name)

C++调用

HRESULT CreateOperationOptions([in] BSTR name, [out,retval] IUnknown** iOperationOptions)

C#调用

IOperationOption CreateOperationOptions(string name)

参数:

参数名 参数类型 说明
name string 更新操作名称,名称任意

返回值: iOperationOptions

iOperationOptions表示更新操作配置对象。

29.CreateOperation

说明:

创建更新对象。

语法:

Javascript调用

CreateOperation(layerType,opt)

C++调用

HRESULT CreateOperation([in] BSTR layerType, [in] IUnknown* opt, [out,retval] IUnknown** iLayerObject)

C#调用

IOperationObject CreateOperation(string layerType,IOperationOption opt)

参数:

参数名 参数类型 说明
layerType string 更新操作类型
opt IOperationOption 更新操作配置对象

返回值: iLayerObject

iLayerObject表示更新对象。

30.AddOperation

说明:

添加更新对象。更新操作添加到场景后,会自动触发更新操作。

语法:

Javascript调用

AddOperation(iOperationObject)

C++调用

HRESULT AddOperation([in]  IUnknown* iOperationObject, [out,retval] VARIANT_BOOL* result)

C#调用

bool AddOperation(IOperationObject iOperationObject)

参数:

参数名 参数类型 说明
iOperationObject IOperationObject 更新对象

返回值: result

result表示是否添加成功。true-成功; false-失败。

31.RemoveOperation

说明:

移除更新对象。

注意: 将更新对象从场景中移除时,之前对场景的更新会保留在场景中,因此如果要将更新效果也移除时,需要先通过更新将效果还原。

语法:

Javascript调用

RemoveOperation(iOperationObject)

C++调用

HRESULT RemoveOperation([in] IUnknown* iOperationObject, [out,retval] VARIANT_BOOL* result)

C#调用

bool RemoveOperation(IOperationObject iOperationObject)

参数:

参数名 参数类型 说明
iOperationObject IOperationObject 更新对象

返回值: result

result表示是否移除成功。true-成功; false-失败。

32.CreatePosition

说明:

创建坐标对象。该对象用于封装场景三维坐标。

语法:

Javascript调用

CreatePosition(x, y, z)

C++调用

HRESULT CreatePosition([in] DOUBLE x, [in] DOUBLE y, [in] DOUBLE z, [out,retval] IUnknown** iPosition)

C#调用

IPosition CreatePosition(double x, double y, double z)

参数:

参数名 参数类型 说明
x double 场景x轴坐标值
y double 场景y轴坐标值
z double 场景y轴坐标值

返回值: iPosition

iPosition表示坐标对象。

33.CreateNavigation

说明:

创建导航对象。导航对象用于飞行定位、获取场景视点信息等。

语法:

Javascript调用

CreateNavigation()

C++调用

HRESULT CreateNavigation([out,retval] IUnknown** iNavigation)

C#调用

INavigate CreateNavigation()

返回值: iNavigation

iNavigation表示导航对象。

34.CreateTransformation

说明:

创建坐标转换对象。坐标转换对象用于不同坐标系之间的坐标相互转换.

语法:

Javascript调用

CreateTransformation()

C++调用

HRESULT CreateTransformation([out,retval] IUnknown** iTrans)

C#调用

ITransformate CreateTransformation()

返回值: iTrans

iTrans表示坐标转换对象。

35.CreateRoam

说明:

创建漫游对象。漫游对象用于切换场景漫游类型。

语法:

Javascript调用

CreateRoam()

C++调用

HRESULT CreateRoam([out,retval] IUnknown** iRoam)

C#调用

IRoam CreateRoam()

返回值: iRoam

iRoam表示漫游对象。

36.SetParame

说明:

设置地图参数。目前该接口主要用于开启雾效,设置雾效颜色、浓度等效果。

语法:

Javascript调用

SetParame(parameType, parameValue)

C++调用

HRESULT SetParame([in] BSTR parameType, [in] BSTR parameValue, [out,retval] VARIANT_BOOL* result)

C#调用

bool SetParame(string parameType, string parameValue)

参数:

参数名 参数类型 说明
parameType string 参数类型
parameValue string 参数值

返回值: result

result表示是否设置成功。true-成功; false-失败。

37.DeserializeLayer

说明:

反序列化图层。反序列化图层与图层对象的序列化图层操作对应,它会将序列化图层保存的图层还原到场景中,并返回新的图层对象。

语法:

Javascript调用

DeserializeLayer(filePath)

C++调用

HRESULT DeserializeLayer([in] BSTR filePath, [out,retval] IUnknown** iLayerObject)

C#调用

ILayerObject DeserializeLayer(string filePath)

参数:

参数名 参数类型 说明
filePath string 序列化文件路径

返回值: iLayerObject

iLayerObject表示图层对象

38.SerializeMap

说明:

保存工程文件。该接口会将场景中的所有图层信息保存到文件当中。

语法:

Javascript调用

SerializeMap(filePath)

C++调用

HRESULT SerializeMap([in] BSTR filePath)

C#调用

void SerializeMap(string filePath)

参数:

参数名 参数类型 说明
filePath string 工程文件保存路径

39.DeserializeMap

说明:

打开工程文件。该接口和SerializeMap对应,它会将工程文件中的所有图层还原到场景中。

语法:

Javascript调用

DeserializeMap(filePath, readType)

C++调用

HRESULT DeserializeMap([in] BSTR filePath, [in] LONG readType)

C#调用

void DeserializeMap(string filePath, long readType)

参数:

参数名 参数类型 说明
filePath string 工程文件路径
readType long 读取类型。 1-开启独立线程执行;其他-直接打开工程文件

40.CreateParticleModifier

说明:

创建粒子修改器对象。

语法:

Javascript调用

CreateParticleModifier()

C++调用

HRESULT CreateParticleModifier([out,retval] IUnknown** iParticleModifier)

C#调用

IParticleModifier CreateParticleModifier()

返回值: iParticleModifier

iParticleModifier表示粒子修改器对象。

41.CreateParticleRender

说明:

创建粒子绘制类型对象。

语法:

Javascript调用

CreateParticleRender()

C++调用

HRESULT CreateParticleRender([out,retval] IUnknown** iParticleRender)

C#调用

IParticleRender CreateParticleRender()

返回值: iParticleRender

iParticleRender表示粒子绘制类型对象。

42.CreateParticleModel

说明:

创建粒子模板对象。

语法:

Javascript调用

CreateParticleModel()

C++调用

HRESULT CreateParticleModel([out,retval] IUnknown** iParticleModel)

C#调用

IParticleModel CreateParticleModel()

返回值: iParticleModel

iParticleModel表示粒子模板对象。

43.CreateParticleEmitter

说明:

创建粒子发射器对象。

语法:

Javascript调用

CreateParticleEmitter()

C++调用

HRESULT CreateParticleEmitter([out,retval] IUnknown** iEmitter)

C#调用

IParticleEmitter CreateParticleEmitter()

返回值: iEmitter

iEmitter表示粒子发射器对象。

44.CreateParticleZone

说明:

创建粒子区域对象。

语法:

Javascript调用

CreateParticleZone()

C++调用

HRESULT CreateParticleZone([out,retval] IUnknown** iZone)

C#调用

IParticleZone CreateParticleZone()

返回值: iZone

iZone表示粒子区域对象。

45.CreateParticleGroup

说明:

创建粒子组对象

语法:

Javascript调用

CreateParticleGroup()

C++调用

HRESULT CreateParticleGroup([out,retval] IUnknown** iParticleGroup)

C#调用

IParticleGroup CreateParticleGroup()

返回值: iParticleGroup

iParticleGroup表示粒子组对象。

46.GetParticleSystemLayer

说明:

获取粒子图层对象。

语法:

Javascript调用

GetParticleSystemLayer(layerId)

C++调用

HRESULT GetParticleSystemLayer([in] LONG layerId, [out,retval] IUnknown** iParticleSystemLayer)

C#调用

IParticleSystemLayer GetParticleSystemLayer(long layerId)

参数:

参数名 参数类型 说明
layerId long 图层ID

返回值: iParticleSystemLayer

iParticleSystemLayer表示粒子图层对象。

47.CreateRefrenceSystemOptions

说明:

创建参考系配置项对象。参考系配置对象是参考系配置参数的容器。

语法:

Javascript调用

CreateRefrenceSystemOptions()

C++调用

HRESULT CreateRefrenceSystemOptions([out,retval] IUnknown** refSysOpt)

C#调用

IParticleSystemLayer CreateRefrenceSystemOptions()

参数:

参数名 参数类型 说明
- - -

返回值: IRefrenceSystemOptions

IRefrenceSystemOptions表示参考系配置对象。

48.CreateRefrenceSystem

说明:

创建参考系对象。参考系对象在创建窗口时使用,可根据该对象设定窗口使用的坐标参考系。

语法:

Javascript调用

CreateRefrenceSystem(refSysOpt)

C++调用

HRESULT CreateRefrenceSystem([in] IUnknown* refSysOpt, [out,retval] IUnknown** refSysObj)

C#调用

IRefrenceSystem CreateRefrenceSystem(IRefrenceSystemOptions refSysOpt)

参数:

参数名 参数类型 说明
refSysOpt IRefrenceSystemOptions 坐标参考配置对象

返回值: IRefrenceSystem

IRefrenceSystem表示参考系对象。

49.GetRefrenceSystem

说明:

获取当前激活窗口的参考系对象。

语法:

Javascript调用

GetRefrenceSystem()

C++调用

HRESULT GetRefrenceSystem([out,retval] IUnknown** refSys)

C#调用

IRefrenceSystem GetRefrenceSystem()

参数:

参数名 参数类型 说明
- - -

返回值: IRefrenceSystem

IRefrenceSystem表示参考系对象。

50.DestroyRefrenceSystem

说明:

销毁指定参考系对象。

语法:

Javascript调用

DestroyRefrenceSystem(refSys)

C++调用

HRESULT DestroyRefrenceSystem([in] IUnknown* refSys, [out,retval] VARIANT_BOOL* state)

C#调用

bool DestroyRefrenceSystem(IRefrenceSystem refSys)

参数:

参数名 参数类型 说明
refSys IRefrenceSystem 坐标参考系对象

返回值: state

state表示是否移除成功。true-成功;false-失败。

51.CreateMapViewOptions

说明:

创建窗口配置项对象。

语法:

Javascript调用

CreateMapViewOptions()

C++调用

HRESULT CreateMapViewOptions([out,retval] IUnknown** mapViewOpt)

C#调用

IMapViewOptions CreateMapViewOptions()

参数:

参数名 参数类型 说明
- - -

返回值: IMapViewOptions

IMapViewOptions表示窗口配置对象。

52.CreateMapView

说明:

创建窗口对象。根据坐标参考系对象和窗口配置对象创建并添加窗口对象。

语法:

Javascript调用

CreateMapView(refSys, mapViewOpt)

C++调用

HRESULT CreateMapView([in] IUnknown* refSys, [in] IUnknown* mapViewOpt, [out,retval] IUnknown** mapView)

C#调用

IMapViewObject CreateLayer(IRefrenceSystem refSys, IMapViewOptions mapViewOpt)

参数:

参数名 参数类型 说明
refSys string 图层配置类型
opt IRefrenceSystem 坐标参考系对象

返回值: IMapViewObject

IMapViewObject表示窗口对象。

53.DestroyMapView

说明:

销毁指定窗口对象。

语法:

Javascript调用

DestroyMapView(mapView)

C++调用

HRESULT DestroyMapView([in] IUnknown* mapView, [out,retval] VARIANT_BOOL* state);

C#调用

bool DestroyMapView(IMapViewObject laymapViewer)

参数:

参数名 参数类型 说明
layer IMapViewObject 窗口对象

返回值: state

state表示是否移除成功。true-成功;false-失败。

54.GetMapViewCount

说明:

获取已经创建的场景窗口数量。

语法:

Javascript调用

GetMapViewCount()

C++调用

HRESULT GetMapViewCount([out,retval] LONG* count)

C#调用

long GetMapViewCount()

返回值: count

count表示窗口数量。

55.GetMapViewIDByIndex

说明:

根据窗口索引获取窗口对象Id。

语法:

Javascript调用

GetMapViewIDByIndex(index)

C++调用

HRESULT GetMapViewIDByIndex([in] LONG index, [out,retval] LONG* id)

C#调用

Long GetMapViewIDByIndex(long index)

参数:

参数名 参数类型 说明
index long 窗口索引值

注意: 该方法配合GetMapViewCount使用,可以获取场景中的所有窗口对象。

返回值: id

id表示窗口对象的Id。

56.GetMapViewByID

说明:

根据id获取窗口对象。

语法:

Javascript调用

GetMapViewByID(id)

C++调用

HRESULT GetMapViewByID([in] LONG id, [out,retval] IUnknown** mapView)

C#调用

IMapViewObject GetMapViewByID(long id)

参数:

参数名 参数类型 说明
id long 窗口对象Id

返回值:IMapViewObject

IMapViewObject表示窗口对象。如果窗口不存在,则返回空对象。

57.GetActivedMapViewID

说明:

获取当前激活的窗口Id.

语法:

Javascript调用

GetActivedMapViewID()

C++调用

HRESULT GetActivedMapViewID([out,retval] LONG* id)

C#调用

Long GetActivedMapViewID()

参数:

参数名 参数类型 说明
- - -

返回值: id

id表示窗口对象的Id。

58.SetCurrentMapViewID

说明:

设置当前操作窗口。设置之后,后续的添加图层、响应器等对象,会直接添加到该窗口中。

语法:

Javascript调用

SetCurrentMapViewID(id)

C++调用

HRESULT SetCurrentMapViewID([in] LONG id)

C#调用

Long GetActivedMapViewID(id)

参数:

参数名 参数类型 说明
id long 窗口id

59.DeserializeMapView

说明:

反序列化窗口对象。反序列化窗口与窗口对象的序列化操作对应,它会将序列化窗口保存的窗口信息和图层对象信息还原到场景中。

语法:

Javascript调用

DeserializeMapView(filePath, readType)

C++调用

HRESULT DeserializeMapView([in] BSTR filePath, LONG readType);

C#调用

ILayerObject DeserializeLayer(string filePath, Long readType)

参数:

参数名 参数类型 说明
filePath string 序列化文件路径
readType Long 反序列化类型。0-只反序列化图层对象信息;1-反序列化视口所有信息。

60.CreateAnimationFrame

说明:

创建动画帧配置对象。

语法:

Javascript调用

CreateAnimationFrame()

C++调用

HRESULT CreateAnimationFrame([out,retval] IUnknown** iFrame)

C#调用

IAnimatonFrame CreateAnimationFrame()

参数:

参数名 参数类型 说明
- - -

返回值: IAnimatonFrame

IAnimatonFrame表示动画帧配置对象。

61.CreateAnimationAction

说明:

创建动画插值行为配置对象。

语法:

Javascript调用

CreateAnimationAction()

C++调用

HRESULT CreateAnimationAction([out,retval] IUnknown** iAction)

C#调用

IAnimationAction CreateAnimationAction()

参数:

参数名 参数类型 说明
- - -

返回值: IAnimationAction

IAnimationAction表示动画插值行为配置对象。

62.GetLayerGroupById

说明:

通过图层组Id获取图层组对象。

语法:

Javascript调用

GetLayerGroupById(layerGroupID)

C++调用

HRESULT GetLayerGroupById([in] LONG layerGroupID, [out,retval] IUnknown** iLayerGroupObject)

C#调用

ILayerGroup GetLayerGroupById(long layerGroupID)

参数:

参数名 参数类型 说明
layerID long 图层ID

返回值: ILayerGroup

ILayerGroup表示图层对象。如果图层不存在,则返回空对象。

63.DeserializeLayerByUrl

说明:

反序列化图层。根据网络路径反序列化图层对象。

语法:

Javascript调用

DeserializeLayerByUrl(URL)

C++调用

HRESULT DeserializeLayerByUrl([in] BSTR URL, [out,retval] IUnknown** iLayerObject)

C#调用

ILayerObject DeserializeLayerByUrl(string URL)

参数:

参数名 参数类型 说明
URL string 序列化文件路径

返回值: iLayerObject

iLayerObject表示图层对象

results matching ""

    No results matching ""