查阅Cesium API

导航模块。

Author:
  • 金磊、张丹钊、张恒、薛鹏

方法

定位到对象

flyTo(target, options)

调用方法:
sgworld.Navigate.flyTo(entity)
参数描述:
名称 类型 描述
target Entity | Array.<Entity> | EntityCollection | DataSource | ImageryLayer | Cesium3DTileset | TimeDynamicPointCloud | Promise.<(Entity|Array.<Entity>|EntityCollection|DataSource|ImageryLayer|Cesium3DTileset|TimeDynamicPointCloud)> Cesium原生地图对象
options Object 可选 参数
名称 类型 默认值 描述
time Number 3.0 可选 飞行时间
maxHeight Number 可选 飞行时的最大高度
heading Number 0 可选 水平角
pitch Number -45 可选 俯仰角
range Number 可选 距离
定位到对象

flyToObj(obj)

调用方法:
sgworld.Navigate.flyToObj(sdkObject)
参数描述:
名称 类型 描述
obj SDKObject sdk地图对象
飞向兴趣点

flyToPointsInterest(option, fnc)

调用方法:
sgworld.Navigate.flyToPointsInterest({
     destination: new Cesium.Cartesian3.fromDegrees(110, 32, 8000000),
     orientation: {
            heading: 5.872721681579488,
            pitch: -0.5778040134280382,
            roll: 0.0
        }
})
参数描述:
名称 类型 描述
option Object 参数
名称 类型 描述
destination Cartesian3 坐标
orientation Object 可选 方向
duration Number 可选 时间
fnc function 飞行结束回调函数
定位到坐标

flyToPosition(x, y, z, option)

调用方法:
sgworld.Navigate.flyToPosition(120, 30, 1000)
或
sgworld.Navigate.flyToPosition(120, 30, 1000, {
     heading: 0,
     pitch: -90,
     roll: 0,
})
参数描述:
名称 类型 描述
x Number 经度
y Number 纬度
z Number 高度
option Object 可选 参数
名称 类型 默认值 描述
heading Number 0 可选 航向角
pitch Number -90 可选 俯仰角
roll Number 0 可选 翻滚角
time Number 3 可选 飞行时间
获取相机参数

getCameraInfo()

调用方法:
sgworld.Navigate.getCameraInfo(data => {
  console.log(data)
})
或
data = sgworld.Navigate.getCameraInfo()
获取当前摄像机的经纬度

getDegrees()Degrees

调用方法:
let degrees = sgworld.Navigate.getDegrees()
返回:
获取鼠标当前经纬度

getMouseDegrees(movement, objectsToExclude)Degrees

调用方法:
let degrees = sgworld.Navigate.getMouseDegrees(movement);
参数描述:
名称 类型 描述
movement object 可选 鼠标屏幕位置
objectsToExclude Array/Object 可选 排除的实体对象
返回:
获取鼠标当前三维笛卡尔坐标

getMousePosition(movement, objectsToExclude)Cartesian3

调用方法:
let position = sgworld.Navigate.getMousePosition(movement);
参数描述:
名称 类型 描述
movement object 可选 鼠标屏幕位置
objectsToExclude Array/Object 可选 排除的实体对象
返回:
获取当前摄像机的三维笛卡尔坐标
调用方法:
let position = sgworld.Navigate.getPosition()
返回:
绕地球旋转一周

globalRotate(option, callBack)

调用方法:
sgworld.Navigate.globalRotate();
参数描述:
名称 类型 描述
option Object 可选 参数
名称 类型 默认值 描述
startPosition Cartesian3 可选 起点
angle Number 3 可选 间隔角度
callBack function 可选 回调函数
这个方法用于视点跳转到一个对象/位置
调用方法:
sgworld.Navigate.jumpTo(sdkObject)
参数描述:
名称 类型 描述
obj SDKObject sdk地图对象
跳转到坐标

jumpToPosition(x, y, z, option)

调用方法:
sgworld.Navigate.jumpToPosition(120, 30, 1000)
或
sgworld.Navigate.jumpToPosition(120, 30, 1000, {
     heading: 0,
     pitch: -90,
     roll: 0,
})
参数描述:
名称 类型 描述
x Number 经度
y Number 纬度
z Number 高度
option Object 可选 参数
名称 类型 默认值 描述
heading Number 0 可选 航向角
pitch Number -90 可选 俯仰角
roll Number 0 可选 翻滚角
time Number 3 可选 飞行时间
指北

northfinger()

调用方法:
sgworld.Navigate.northfinger()
围绕视图中心旋转

rotateCenter(degrees, time)PointFly

渲染效果:
调用方法:
sgworld.Navigate.rotateCenter(360, 5);
参数描述:
名称 类型 默认值 描述
degrees Number 360 可选 旋转角度,顺时针为正,逆时针为负
time Number 5 可选 旋转总用时
返回:
跳转到位置

setPosition(x, y, z)

调用方法:
sgworld.Navigate.setPosition(110, 30, 10)
参数描述:
名称 类型 描述
x Number 经度
y Number 纬度
z Number 高度
取消飞行
调用方法:
sgworld.Navigate.Stop()
放大视野
调用方法:
sgworld.Navigate.zoomIn()
缩小视野
调用方法:
sgworld.Navigate.zoomOut()