3.7.2 IRoam


IRoam是漫游对象。该对象提供了三维场景的各类漫游模式的切换功能。主要有:地下漫游、室内漫游、自定义滑行、自动旋转、旋转模式漫游等。具体的使用示例可参考各类漫游模式展示

漫游对象需要通过MapManagerCOM组件的CreateRoam()方法创建。

1.SetUnderGroundRoamMode

说明:

设置地下漫游模式。开启地下漫游后,会先将地形半透明显示,然后进行地下数据的浏览,可以随意穿地进行漫游。

语法:

Javascript调用

SetUnderGroundRoamMode(state, underGroundHeight)

C++调用

HRESULT SetUnderGroundRoamMode([in] VARIANT_BOOL state, [in] DOUBLE underGroundHeight)

C#调用

void SetUnderGroundRoamMode(bool state, double underGroundHeight)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭
underGroundHeight double 地下网格和地面的高度

2.SetInDoorRoamMode

说明:

设置室内漫游模式。室内漫游是指模拟在室内浏览、并且不会出现穿墙效果的漫游模式。具体使用可见室内漫游

语法:

Javascript调用

SetInDoorRoamMode(state, idStr)

C++调用

HRESULT SetInDoorRoamMode([in] VARIANT_BOOL state, [in] BSTR idStr, [out,retval] VARIANT_BOOL* ret)

C#调用

bool SetInDoorRoamMode(bool state, string idStr)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭
idStr string 漫游挡板图层ID

返回值: ret

ret表示是否开启成功。true-成功;false-失败。

3.SetAutoRotateRoamMode

说明:

设置自动旋转漫游模式。自动旋转漫游模式是指在锁定观察点位置的情况下,通过鼠标点击(拖动)围绕观察点进行旋转的漫游效果。

语法:

Javascript调用

SetAutoRotateRoamMode(state)

C++调用

HRESULT SetAutoRotateRoamMode([in] VARIANT_BOOL state)

C#调用

void SetAutoRotateRoamMode(bool state)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭

4.SetCustomGlideRoamMode

说明:

设置自定义滑动飞行漫游模式。该接口会锁定场景漫游速度、俯仰角、漫游高度,然后可以通过鼠标/键盘进行场景漫游。

语法:

Javascript调用

SetCustomGlideRoamMode(state, height, speed, pitch)

C++调用

HRESULT SetCustomGlideRoamMode([in] VARIANT_BOOL state, [in] DOUBLE height, [in] DOUBLE speed, [in] DOUBLE pitch)

C#调用

void SetCustomGlideRoamMode(bool state, double height, double speed, double pitch)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭
height double 漫游高度
speed double 漫游速度
pitch double 漫游角度

5.SetViewRotateRoamMode

说明:

设置旋转漫游模式。旋转漫游是指在一定时间内,通过改变相机的目标点、观察点、视角等参数,达到模拟场景旋转的效果。

语法:

Javascript调用

SetViewRotateRoamMode(viewType, vecticalAngle, horizontalAngle, flyTime)

C++调用

HRESULT SetViewRotateRoamMode([in] VARIANT_BOOL viewType, [in] DOUBLE vecticalAngle, [in] DOUBLE horizontalAngle, [in] DOUBLE flyTime)

C#调用

void SetViewRotateRoamMode(bool viewType, double vecticalAngle, double horizontalAngle, double flyTime)

参数:

参数名 参数类型 说明
viewType bool 是否绕观察点旋转。true-绕观察点旋转;false-绕目标点旋转
vecticalAngle double 垂直俯仰角。 取值范围-89到89。单位(度)
horizontalAngle double 水平旋转角。 取值范围-180到180.单位(度)
flyTime double 旋转时间

6.SetCursorFromFile

说明:

设置鼠标光标文件。鼠标光标文件为.cur类型文件。可以通过该接口替换某种鼠标光标类型的文件。

语法:

Javascript调用

SetCursorFromFile(type, path)

C++调用

HRESULT SetCursorFromFile([in] SHORT type, [in] BSTR path, [out,retval] VARIANT_BOOL* state)

C#调用

bool SetCursorFromFile(short type, string path)

参数:

参数名 参数类型 说明
type short 光标类型
path string cur文件路径

光标类型:

光标类型 说明
0 CURSOR_ARROW 箭头
1 CURSOR_DRAG_NORMAL 普通拖拽
2 CURSOR_DRAG_GRASP 拖拽中
3 CURSOR_ZOOM 放大缩小
4 CURSOR_FORWARD 前进\抬升
5 CURSOR_BACKWARD 后退\下降
6 CURSOR_LEFT 左转
7 CURSOR_RIGHT 右转
8 CURSOR_LEFT_FORWARD 左前转
9 CURSOR_LEFT_BACKWARD 左后转
10 CURSOR_RIGHT_FORWARD 右前转
11 CURSOR_RIGHT_BACKWARD 右后转
12 CURSOR_MEASURE 测量
13 CURSOR_PICK 拾取
14 CURSOR_DRAW 绘制
15 CURSOR_STOP 停止
16 CURSOR_FLY 飞行

返回值: state

state表示设置状态。true-成功;false-失败。

7.SetCursorMode

说明:

设置鼠标光标模式。可以通过该接口切换鼠标光标显示类型。如替换成拾取模式光标、绘制模式光标等。

语法:

Javascript调用

SetCursorMode(type)

C++调用

HRESULT SetCursorMode([in] SHORT type)

C#调用

void SetCursorMode(short type)

参数:

参数名 参数类型 说明
type short 模式类型

模式类型:

模式类型 说明
0 ROAMMODE_NORMAL 普通漫游模式
1 ROAMMODE_ONGROUND 贴地漫游模式
2 ROAMMODE_UNDERGROUND 地下漫游模式
3 ROAMMODE_INDOOR 室内漫游模式
4 ROAMMODE_AUTOROTATE 自动旋转漫游模式
5 ROAMMODE_CUSTOM 自定义漫游模式
6 ROAMMODE_MEASURE 测量模式
7 ROAMMODE_PICK 拾取模式
8 ROAMMODE_DRAW 绘制模式

8.SetIntersectLayer

说明:

设置室内漫游挡板图层Id。

语法:

Javascript调用

SetIntersectLayer(layerid)

C++调用

HRESULT SetIntersectLayer([in] LONG layerid)

C#调用

void SetIntersectLayer(long layerid)

参数:

参数名 参数类型 说明
layerid long 挡板图层id

9.SetAutoGlideRoamMode

说明:

设置自动滑动漫游模式。自动滑动漫游模式是指在通过点击屏幕相对位置,达到拖动场景的效果。

语法:

Javascript调用

SetAutoGlideRoamMode(state)

C++调用

HRESULT SetAutoGlideRoamMode([in] VARIANT_BOOL state)

C#调用

void SetAutoGlideRoamMode(bool state)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭

10.SetWalkRoamMode

说明:

设置设置步行漫游模式。自动滑动漫游模式是模拟行人在真实场景中步行的效果。开启步行后可以通过鼠标控制场景漫游。

语法:

Javascript调用

SetWalkRoamMode(state)

C++调用

HRESULT SetWalkRoamMode([in] VARIANT_BOOL state)

C#调用

void SetWalkRoamMode(bool state)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭

11.SetDriveRoamMode

说明:

设置设置车行漫游模式。自动滑动漫游模式是模拟汽车在真实场景中行驶的效果。开启车行后可以通过鼠标控制场景漫游。

语法:

Javascript调用

SetDriveRoamMode(state)

C++调用

HRESULT SetDriveRoamMode([in] VARIANT_BOOL state)

C#调用

void SetDriveRoamMode(bool state)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭

12.SetFlyRoamMode

说明:

设置设置飞行漫游模式。自动滑动漫游模式是模拟飞机在真实场景中飞行的效果。开启飞行后可以通过鼠标控制场景漫游。

语法:

Javascript调用

SetFlyRoamMode(state)

C++调用

HRESULT SetFlyRoamMode([in] VARIANT_BOOL state)

C#调用

void SetFlyRoamMode(bool state)

参数:

参数名 参数类型 说明
state bool 开启状态。true-开启;false-关闭

13.SetIntersectTypeAndLayer

说明:

设置漫游相交类型及图层。在进行步行、车行、飞行漫游模拟时,可以设置这三种漫游模式与场景中模型图层的相交模式,具体相交模式可通过type参数控制,默认与所有模型图层都不相交(只与地形相交)。

语法:

Javascript调用

SetIntersectTypeAndLayer(type, layerIdList)

C++调用

HRESULT SetIntersectTypeAndLayer([in] SHORT type, [in] BSTR layerIdList)

C#调用

void SetIntersectTypeAndLayer(bool type, string layerIdList)

参数:

参数名 参数类型 说明
type int 漫游与模型图层相交模式。0-与所有图层不相交;1-与所有图层相交;2-与列表中的图层相交;3-与列表之外的图层相交。默认0
layerIdList string 图层Id列表。中间用,隔开。-1代表所有图层

results matching ""

    No results matching ""