3.4.1 ILayerObject
ILayerObject是图层对象,图层对象是对CooRun SDK中所有展示对象进行管理的一个基本单元。包括数据加载、空间分析、测量、绘制、动态路径等功能在内,都是通过图层对象进行管理的。图层对象提供对图层进行显隐,定位,更新等操作。
图层对象在创建之后,会拥有一个唯一标识的ID,通过ID可以获取指定的图层对象,也可以将此图层对象作为其他功能的参数。
图层对象由MapManagerCOM组件的CreateLayer()接口创建,创建之后需要由MapManagerCOM组件的AddLayer()接口将图层对象添加到场景中;在删除图层时需要调用MapManagerCOM组件的RemoveLayer()接口。
1.GetLayerID
说明:
获取图层ID。图层ID为图层对象的唯一性标识。场景中不会出现具有相同ID的图层对象。
语法:
Javascript调用
GetLayerID()
C++调用
HRESULT GetLayerID([out,retval] LONG* id)
C#调用
long GetLayerID()
返回值: id
id表示返回的图层ID。
2.GetLayerName
说明:
获取图层名称。
语法:
Javascript调用
GetLayerName()
C++调用
HRESULT GetLayerName([out,retval] BSTR* name)
C#调用
string GetLayerName()
返回值: name
name表示返回的图层名称。
3.SetLayerName
说明:
设置图层名称。
语法:
Javascript调用
SetLayerName(name)
C++调用
HRESULT SetLayerName([in] BSTR name)
C#调用
void SetLayerName(string name)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
name | string | 图层名称 |
4.GetVisible
说明:
获取图层显隐状态。
语法:
Javascript调用
GetVisible()
C++调用
HRESULT GetVisible([out,retval] VARIANT_BOOL* state)
C#调用
bool GetVisible()
返回值: state
state表示返回的图层显隐状态。true-显示;false-隐藏。
5.SetVisible
说明:
设置图层显隐状态。
语法:
Javascript调用
SetVisible(state)
C++调用
HRESULT SetVisible([in] VARIANT_BOOL state)
C#调用
void SetVisible(bool state)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
state | bool | 显隐状态。true-显示;false-隐藏。 |
6.Locate
说明:
图层定位。图层定位可以飞行到图层中心点位置。
语法:
Javascript调用
Locate()
C++调用
HRESULT Locate([out,retval] VARIANT_BOOL* state)
C#调用
bool Locate()
返回值: state
state表示是否定位成功。true-成功;false-失败。
7.UpdateLayerOptions
说明:
通过图层配置对象更新图层。一般空间分析、测量、绘制和路径漫游图层可以进行图层更新;数据类图层不支持更新操作。
语法:
Javascript调用
UpdateLayerOptions(pLayerOptions)
C++调用
HRESULT UpdateLayerOptions([in] IUnknown* pLayerOptions)
C#调用
void UpdateLayerOptions(ILayerOptions pLayerOptions)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
pLayerOptions | ILayerOptions | 图层配置对象 |
8.GetLayerOptions
说明:
获取图层配置对象。
语法:
Javascript调用
GetLayerOptions()
C++调用
HRESULT GetLayerOptions([out,retval] IUnknown** layerConfigOption)
C#调用
ILayerOptions GetLayerOptions()
返回值: layerConfigOption
layerConfigOption表示图层配置对象。
9.AddObserver
说明:
添加监听处理。图层对象添加监听处理之后,前端还需要添加回调处理事件。当对象有响应消息时,会主动回调给前端。如果不添加监听处理,那么不会发送回调消息。
语法:
Javascript调用
AddObserver()
C++调用
HRESULT AddObserver()
C#调用
void AddObserver()
10.DelObserver
说明:
移除监听处理,移除图层对象的监听处理后,图层对象不再向前端发送回调消息。
语法:
Javascript调用
DelObserver()
C++调用
HRESULT DelObserver()
C#调用
void DelObserver()
11.GetLayerResult
说明:
获取图层对象结果。
语法:
Javascript调用
GetLayerResult()
C++调用
HRESULT GetLayerResult([out,retval] IUnknown** options)
C#调用
ILayerOptions GetLayerResult()
返回值: options
options表示图层结果对象。
12.SerializeLayer
说明:
序列化图层。通过序列化可以将图层的配置信息保存为本地文件。后续可以通过反序列操作将图层还原。
语法:
Javascript调用
SerializeLayer(filePath)
C++调用
HRESULT SerializeLayer([in] BSTR filePath)
C#调用
void SerializeLayer(string filePath)
参数:
参数名 | 参数类型 | 说明 |
---|---|---|
filePath | string | 序列化文件路径 |
13.GetLayerInfo
说明:
获取图层信息。主要包括图层的中心点信息和图层所属窗口信息。
语法:
Javascript调用
GetLayerInfo()
C++调用
HRESULT GetLayerInfo([out,retval] IUnknown** options)
C#调用
ILayerOptions GetLayerInfo()
返回值: options
options表示图层信息对象。