3.6 GroupObjectCOM
GroupObjectCOM是图层组对象组件,负责提供三维场景中图层组对象操作的接口。
图层组对象是将多个图层(子图层组)集成到一个对象中进行管理,可实现批量添加、显隐、删除的功能。图层组对象提供了添加图层、删除图层、显隐图层、获取图层信息以及子图层等接口。
图层组对象的操作流程主要是:
- 创建图层组对象。图层组对象需要通过MapManagerCOM组件的CreateLayerGroup()方法创建。
- 向图层组对象中添加图层对象。
- 添加图层组对象。调用MapManagerCOM组件的AddLayerGroup()方法将图层组对象添加进场景中。
1.AddLayer
说明:
添加图层对象。
语法:
Javascript调用
AddLayer(iLayerObject)
C++调用
HRESULT AddLayer([in] IUnknown* iLayerObject, [out,retval] VARIANT_BOOL* state)
C#调用
bool AddLayer(ILayerObject iLayerObject)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
iLayerObject | ILayerObject | 图层对象 |
返回值: state
state表示是否添加成功。
2.RemoveLayer
说明:
移除图层对象。
语法:
Javascript调用
RemoveLayer(layerObject)
C++调用
HRESULT RemoveLayer([in] IUnknown* layerObject, [out,retval] VARIANT_BOOL* state)
C#调用
bool RemoveLayer(ILayerObject layerObject)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
layerObject | ILayerObject | 图层对象 |
返回值: state
state表示是否移除成功。
3.GetLayerCount
说明:
获取图层对象数量。
语法:
Javascript调用
GetLayerCount()
C++调用
HRESULT GetLayerCount([out,retval] LONG* count)
C#调用
long GetLayerCount()
返回值: count
count表示图层对象数量。
4.GetLayerGroupCount
说明:
获取子图层组对象数量。
语法:
Javascript调用
GetLayerGroupCount()
C++调用
HRESULT GetLayerGroupCount([out,retval] LONG* count)
C#调用
long GetLayerGroupCount()
返回值: count
count表示子图层组对象数量。
5.SetVisible
说明:
设置图层组对象显隐。
语法:
Javascript调用
SetVisible(state)
C++调用
HRESULT SetVisible([in] VARIANT_BOOL state)
C#调用
void SetVisible(bool state)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
state | bool | 图层组对象显隐状态 |
6.GetVisible
说明:
获取图层组对象显隐状态。
语法:
Javascript调用
GetVisible()
C++调用
HRESULT GetVisible([out,retval] VARIANT_BOOL* state)
C#调用
bool GetVisible()
返回值: state
state表示图层组对象显隐状态。
7.GetName
说明:
获取图层组对象名称。
语法:
Javascript调用
GetName()
C++调用
HRESULT GetName([out,retval] BSTR* name)
C#调用
string GetName()
返回值: name
name表示获取的图层组对象名称。
8.SetName
说明:
设置图层组对象名称。
语法:
Javascript调用
SetName(name)
C++调用
HRESULT SetName([in] BSTR name)
C#调用
void SetName(string name)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
name | string | 图层组对象名称 |
9.AddLayerGroup
说明:
添加子图层组对象。
语法:
Javascript调用
AddLayerGroup(iLayerGroup)
C++调用
HRESULT AddLayerGroup([in]IUnknown* iLayerGroup, [out,retval] VARIANT_BOOL* state)
C#调用
bool AddLayerGroup(ILayerGroup iLayerGroup)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
iLayerGroup | ILayerGroup | 图层组对象 |
返回值: state
state表示是否添加成功。true-成功;false-失败。
10.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-失败。
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.GetLayerByIndex
说明:
通过索引值获取图层对象。
语法:
Javascript调用
GetLayerByIndex(index)
C++调用
HRESULT GetLayerByIndex([in] LONG index, [out,retval] IUnknown** layer)
C#调用
ILayerObject GetLayerByIndex(long index)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
index | long | 图层索引 |
返回值: layer
layer表示图层对象。