RoamObj

new CooSDK.RoamObj(props)

漫游模式控制对象。可切换普通漫游、地下漫游、自定义漫游、自动旋转模式漫游和旋转模式漫游五种漫游模式。其中:
1.普通漫游模式 是CooGIS SDK默认的漫游模式。它是指通过鼠标和键盘直接操作场景漫游。
2.地下漫游模式 会先将地形半透明显示,然后进行* 地下数据的浏览,可以随意穿地进行漫游。
3.自定义滑行模式 是指锁定漫游的高度、俯仰角度和速度进行场景浏览。可以通过该模式模拟现实中的步行、车行以及飞行效果。
4.自动旋转漫游模式 是指在锁定观察点位置的情况下,通过鼠标点击(拖动)围绕观察点进行旋转的漫游效果。
5.旋转漫游模式 是指在一定时间内,通过改变相机的目标点、观察点、视角等参数,达到模拟场景旋转的效果。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
isEnable bool false optional

漫游回调刷新开关。

callback Boolean "none" optional

实时经纬度转换屏幕坐标回调事件绑定的函数。

delay Number null optional

漫游回调刷新延时,单位为毫秒。

Example:
//开启漫游回调刷新
var roamObj = new CooSDK.RoamObj({
    isEnable:true,
    callback: getResult
});

function getResult(p1, p2) {
     //p1 回调的对象类型。
     //p2 当前相机的视点高度:
     console.log("eyeHeight:" + p2);
}

// 进入地下漫游模式
roamObj.setUnderGroundRoamMode(true, 100);

// 进入自动旋转模式
roamObj.setAutoRotateRoamMode(true);

// 进入自定义滑行漫游模式
roamObj.setCustomGlideRoamMode(true, 18, 1, -10);

// 绕视点进行旋转
roamObj.setViewRotateRoamMode(true, -60, 0, 1);

// 绕目标点进行旋转 
roamObj.setViewRotateRoamMode(false, 0, 60, 1000);
Demo:

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
roamObj = roamObj.destroy();

setAreaRoamMode(state, bVisible, minHeight, maxHeight, pointArray)

设置区域限制漫游模式开关。

Name Type Default Description
state Boolean

区域限制漫游模式开关。

bVisible Boolean false

是否显示限制区域隔板。

minHeight Number

最低漫游限制高度。

maxHeight Number

最高漫游限制高度。

pointArray Array.<PositionObj>

构成限制区域的坐标的数组。

setAutoRotateRoamMode(state)

设置自动旋转漫游模式开关。

Name Type Default Description
state Boolean true optional

自动旋转漫游模式开关。

setCustomGlideRoamMode(state, height, speed, pitch)

设置自定义漫游模式开关。

Name Type Default Description
state Boolean true optional

自定义漫游模式开关。

height Number 0 optional

漫游高度。

speed Number 1.0 optional

漫游速度。

pitch Number -45 optional

漫游相机俯仰角度。

setIndoorRoamMode(state, modelData)

设置室内漫游开关。

Name Type Default Description
state Boolean true optional

室内漫游模式开关。

modelData ModelData

人工模型数据对象。

Example:
// 通常在开启室内漫游之前,需要自行把视点定位至室内某位置,确保正确进入该模式
var cameraObj = new CooSDK.CameraObj({
     focalPos: new CooSDK.PositionObj(120.218858151859, 30.210131567115, 13.463045283221),
     rotate: 70.81658149598344,
     pitch: -14.38361735291744,
     flyTime: 0,
     distance: 17.91285320902337,
     isLocate: true
});
// 这里的ModelData数据可以预先加载好,也可以在此接口中创建加载
var roamObj = new CooSDK.RoamObj();
roamObj.setIndoorRoamMode(true, new CooSDK.ModelData({
     url: gModelBaffleUrl
}));

setMouseCursorRes(cursorType, curPath)

替换鼠标指定动作下的光标图标。

Name Type Default Description
cursorType EnumCursorType

鼠标动作类型。

curPath String "" optional

需要替换的鼠标光标路径。传空时,恢复使用默认光标文件。

setMouseMode(mouseMode)

设置鼠标漫游模式(控制光标相关动作表现)。

Name Type Default Description
mouseMode EnumMouseMode EnumMouseMode.NORMAL optional

鼠标漫游模式

setOnGroundRoamMode(state)

设置贴地漫游模式开关。

Name Type Default Description
state Boolean true optional

贴地漫游模式开关。

setUnderGroundRoamMode(state, underGroundHeight)

设置地下漫游模式开关。

Name Type Default Description
state Boolean true optional

地下漫游模式开关。

underGroundHeight Number 5 optional

相对地面距离(m),正值为地下。

setViewRotateRoamMode(bEye, pitch, rotate, time)

设置相机旋转漫游模式开关。

Name Type Default Description
bEye Boolean true optional

是否已视点旋转。

pitch Number -45 optional

漫游相机基于当前位置的俯仰角转动角度。

rotate Number 0 optional

漫游相机基于当前位置的水平角转动角度。

time Number 1 optional

漫游相机旋转时间,单位ms。

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
isEnable bool optional

漫游回调刷新开关。

callback Boolean optional

实时经纬度转换屏幕坐标回调事件绑定的函数。

delay Number optional

漫游回调刷新延时,单位为毫秒。

Example:
roamObj.update({
   isEnable:false
});