Route

new mars3d.graphic.Route(options)

动态实时轨迹路线,是由多个其他类型Graphic组合而成,方便一起控制和管理。
使用 Route#addDynamicPosition 方法来添加动画轨迹点位置。 如果只是显示单个模型等对象,建议直接使用对应的矢量对象,效率更高。

参数名称 类型 描述信息
options object

参数对象,包括以下:

参数名称 类型 默认值 描述信息
position Cesium.SampledPositionProperty 可选

自定义外部构造好的传入动态坐标位置(含时序的点集合)

attr object 可选

矢量数据的 属性信息,可以任意附加属性。

label LabelEntity.StyleOptions 可选

使用 文本 对象,及其对应的样式

billboard BillboardEntity.StyleOptions 可选

使用 图标 对象,及其对应的样式 // * @param {Cesium.Cartesian3|boolean} [options.billboard.alignedAxis] 为true时自动使用VelocityVectorProperty

point PointPrimitive.StyleOptions 可选

使用 图标 对象,及其对应的样式

model ModelPrimitive.StyleOptions 可选

使用 gltf模型 对象,及其对应的样式

circle CircleEntity.StyleOptions 可选

使用 圆 对象,及其对应的样式

coneTrack ConeTrack.StyleOptions 可选

使用 圆锥体 对象,及其对应的样式

path PathEntity.StyleOptions 可选

使用 path轨迹 对象,及其对应的样式

polyline PolylineEntity.StyleOptions 可选

使用 polyline路线 对象,及其对应的样式
// * @param {number} [options.polyline.maxDistance] 设置保留的轨迹长度值(单位:米),不设置时保留所有的轨迹

wall WallEntity.StyleOptions 可选

使用 墙体 对象,及其对应的样式
// * @param {number} [options.wall.maxDistance] 设置保留的轨迹长度值(单位:米),不设置时保留所有的轨迹
// * @param {number} [options.wall.surface] 设置墙底部高度是否贴地

highlight object 可选

鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用

参数名称 类型 描述信息
label LabelEntity.StyleOptions 可选

使用 文本 对象,及其对应的样式

billboard BillboardEntity.StyleOptions 可选

使用 图标 对象,及其对应的样式

point PointPrimitive.StyleOptions 可选

使用 图标 对象,及其对应的样式

model ModelPrimitive.StyleOptions 可选

使用 gltf模型 对象,及其对应的样式

circle CircleEntity.StyleOptions 可选

使用 圆 对象,及其对应的样式

coneTrack ConeTrack.StyleOptions 可选

使用 圆锥体 对象,及其对应的样式

path PathEntity.StyleOptions 可选

使用 path轨迹 对象,及其对应的样式

polyline PolylineEntity.StyleOptions 可选

使用 polyline路线 对象,及其对应的样式

wall WallEntity.StyleOptions 可选

使用 墙体 对象,及其对应的样式

orientation Cesium.Property | object 可选

自定义实体方向, 默认内部根据轨迹自动的

fixedFrameTransform Cesium.Transforms.LocalFrameToFixedFrame Cesium.Transforms.eastNorthUpToFixedFrame 可选

参考系

frameRate number 1 可选

多少帧获取一次数据。用于控制效率,如果卡顿就把该数值调大一些。

maxCacheCount number 100 可选

保留的坐标点数量, 当为-1时保留所有

forwardExtrapolationType Cesium.ExtrapolationType Cesium.ExtrapolationType.HOLD 可选

在任何可用坐标之后一次请求值时要执行的推断类型,默认为最后一个坐标位置。

backwardExtrapolationType Cesium.ExtrapolationType Cesium.ExtrapolationType.HOLD 可选

在任何可用坐标之前一次请求值时要执行的推断类型,默认为第一个坐标位置。

referenceFrame Cesium.ReferenceFrame Cesium.ReferenceFrame.FIXED 可选

当使用addDynamicPosition设置为动画轨迹位置时,position位置被定义的参考系。

numberOfDerivatives number 0 可选

当使用addDynamicPosition设置为动画轨迹位置时,每个位置的导数的数量;即速度、加速度等。

autoMiddleDynamicPosition boolean 可选

当使用addDynamicPosition设置为动画轨迹位置时,如果中间缺少数据时是否自动添加中间点。

clampToTileset boolean 可选

是否进行贴模型。

frameRateHeight number 30 可选

clampToTileset:true时,多少帧计算一次贴模型高度

camera object 可选

视角模式设置,包括:

参数名称 类型 默认值 描述信息
type string 可选

视角模式类型,包括:'':无、'gs':跟随视角、'dy':第一视角、'sd':上帝视角

radius number 可选

'gs'跟随视角时的 初始俯仰距离值(单位:米)

heading number 可选

'gs'跟随视角时的 初始方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

'gs'跟随视角时的 初始俯仰角度值,绕纬度线旋转角度, -90至90

followedX number 50 可选

'dy'锁定第一视角时,距离运动点的距离(后方)

followedZ number 10 可选

'dy'锁定第一视角或'sd'上帝视角时,距离运动点的高度(上方)

offsetX number 0 可选

'dy'锁定第一视角时,锁定点的本身的X轴方向(前后)偏移值

offsetY number 0 可选

'dy'锁定第一视角时,锁定点的本身的Y轴方向(横向)偏移值

offsetZ number 0 可选

'dy'锁定第一视角时,锁定点的本身的Z轴方向(高度)偏移值

popup string | Array | function 可选

绑定的popup弹窗值,也可以bindPopup方法绑定

popupOptions Popup.StyleOptions 可选

popup弹窗时的配置参数,也支持如pointerEvents等Popup构造参数

tooltip string | Array | function 可选

绑定的tooltip弹窗值,也可以bindTooltip方法绑

tooltipOptions Tooltip.StyleOptions 可选

tooltip弹窗时的配置参数,也支持如pointerEvents等Tooltip构造参数

contextmenuItems object 可选

当矢量数据支持右键菜单时,也可以bindContextMenu方法绑定

id string | number createGuid() 可选

矢量数据id标识

name string '' 可选

矢量数据名称

show boolean true 可选

矢量数据是否显示

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为所加入的图层对象,false时不冒泡事件

allowDrillPick boolean | function 可选

是否允许鼠标穿透拾取

flyTo boolean 可选

加载完成数据后是否自动飞行定位到数据所在的区域。

flyToOptions object 可选

加载完成数据后是否自动飞行定位到数据所在的区域的对应 BaseGraphic#flyTo方法参数。

参考:

继承

成员(属性)

readonly alt : number

当前海拔高度值

billboard : BillboardPrimitive

图标 子对象

readonly center : Cesium.Cartesian3

中心点坐标 (笛卡尔坐标)

继承自:

readonly centerPoint : LngLatPoint

中心点坐标

继承自:

circle : CircleEntity

圆 子对象

coneTrack : ConeTrack

圆锥体 子对象

readonly coordinate : Array

位置坐标(数组对象),示例[113.123456,31.123456,30.1]

继承自:

readonly currIndex : number

当前飞行过的positions轨迹点数组的index顺序

debugAxis : boolean

是否显示3个方向轴,用于对比测试

继承自:

debugAxisLength : number

显示3个方向轴时的对应轴长度,用于对比测试

继承自:

readonly groundPosition : Cesium.Cartesian3

求当前位置射线与地球相交点

heading : number

四周方向角,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

height : number

坐标对应的高度值(单位:米)

继承自:

isPause : boolean

是否暂停状态 【针对全局时钟的,即 map.clock.shouldAnimate】

label : LabelPrimitive|*

文本 子对象

model : ModelPrimitive

模型 子对象

readonly modelMatrix : Cesium.Matrix4

将图元(所有几何实例)从模型转换为世界坐标的4x4变换矩阵。
提示:父类属性,非所有子类都具备

multiplier : number

倍速,构造完成的对象,可以调用此属性调整速度。

objectsToExclude : Array.<object>|undefined

贴模型分析时,排除的不进行贴模型计算的模型对象,默认是当前本身,可以是: primitives, entities 等

readonly orientation : Cesium.Quaternion

三维空间中的旋转 【仅部分对象支持】

继承自:

path : PathEntity

path路径 子对象

pitch : number

俯仰角,上下摇摆的角度,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

point : PointPrimitive|*

像素点 子对象

polyline : PolylineEntity

路线 子对象

position : Cesium.Cartesian3|LngLatPoint

位置坐标 (笛卡尔坐标), 赋值时可以传入LatLngPoint对象

继承自:

readonly positionShow : Cesium.Cartesian3

当前实时位置坐标(笛卡尔坐标)

继承自:

readonly positionsShow : Array.<Cesium.Cartesian3>

同 positions只是为了兼容entity的同名属性

继承自:

readonly property : Cesium.SampledPositionProperty

时序动态坐标对象

readonly readyPromise : Promise.<(ModelEntity|object)>

获取model模型子对象完成解析加载完成的Promise承诺

使用示例:
route.readyPromise.then(function(graphic) {
    console.log("load完成", graphic)
  })

roll : number

滚转角,左右摆动的角度,0-360度角度值
提示:父类属性,非所有子类都具备

继承自:

readonly startTime : Cesium.JulianDate

开始时间

readonly stopTime : Cesium.JulianDate

结束时间

style : object

样式信息 【仅用于标绘,兼容其他graphic统一处理逻辑】

readonly trackedEntity : Cesium.Entity|*

用于 map.trackedEntity 追踪的

继承自:

wall : WallEntity

墙体 子对象

方法

static mars3d.graphic.Route.clearLastCamera()void

清除最后一次的相机跟踪

返回值:

addDynamicPosition(point, currTime)BasePointPrimitive

设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”。 【仅LabelPrimitive、PointPrimitive、BillboardPrimitive、ModelPrimitive 等部分子类支持】

参数名称 类型 默认值 描述信息
point LngLatPoint | Cesium.Cartesian3 | Array.<number>

指定位置坐标

currTime Cesium.JulianDate | Date | string | number Cesium.JulianDate.now() 可选

指定时间。当为String时,可以传入'2021-01-01 12:13:00'; 当为Number时,可以传入当前时间延迟的秒数。

返回值:

当前对象本身,可以链式调用

继承自:

autoSurfaceHeight(options)Promise.<object>

异步计算更新坐标高度进行贴地(或贴模型),内部自动调用PointUtil#getSurfaceHeight方法处理。

参数名称 类型 默认值 描述信息
options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
has3dtiles boolean auto 可选

是否在3dtiles模型上分析(模型分析较慢,按需开启),默认内部根据点的位置自动判断(但可能不准)

objectsToExclude Array.<object> 可选

贴模型分析时,排除的不进行贴模型计算的模型对象,可以是: primitives, entities, 或 3D Tiles features

返回值:

异步计算完成的Promise

继承自:

computeModelMatrix(offest)Cesium.Matrix4

获取当前矩阵

参数名称 类型 描述信息
offest object

偏移值

参数名称 类型 描述信息
x number

X轴方向偏移值,单位:米

y number

Y轴方向偏移值,单位:米

z number

Z轴方向偏移值,单位:米

返回值:

当前矩阵

eachChildGraphic(method, context)Route

遍历所有矢量数据并将其作为参数传递给回调函数

参数名称 类型 描述信息
method function

回调方法

context object 可选

侦听器的上下文(this关键字将指向的对象)。

返回值:

当前对象本身,可以链式调用

flyToPoint(options)void

定位至当前时间所在的位置 (非相机位置)

参数名称 类型 默认值 描述信息
options object {} 可选

具有以下属性的对象:

参数名称 类型 描述信息
radius number 可选

相机距离目标点的距离(单位:米)

heading number 可选

方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

俯仰角度值,绕纬度线旋转角度, 0至360

roll number 可选

翻滚角度值,绕经度线旋转角度, 0至360

duration number 可选

飞行持续时间(秒)。如果省略,内部会根据飞行距离计算出理想的飞行时间。

endTransform Cesium.Matrix4 可选

表示飞行完成后摄像机将位于的参考帧的变换矩阵。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机的飞行角度高于该值,请在飞行过程中调整俯仰角度以向下看,并将地球保持在视口中。

flyOverLongitude number 可选

地球上2点之间总是有两种方式。此选项会迫使相机选择战斗方向以在该经度上飞行。

flyOverLongitudeWeight number 可选

仅在通过flyOverLongitude指定的lon上空飞行,只要该方式的时间不超过flyOverLongitudeWeight的短途时间。

easingFunction Cesium.EasingFunction.Callback 可选

控制在飞行过程中如何插值时间。

返回值:

getCoordinate(noAlt)Array

位置坐标(数组对象),示例[113.123456,31.123456,30.1]

参数名称 类型 描述信息
noAlt boolean

true时不导出高度值

返回值:

位置坐标(数组对象)

继承自:

getCoordinates(noAlt)Array.<Array>

位置坐标(数组对象),示例 [ [123.123456,32.654321,198.7], [111.123456,22.654321,50.7] ]

参数名称 类型 描述信息
noAlt boolean

true时不导出高度值

返回值:

位置坐标(数组对象)

getRectangle(options)Cesium.Rectangle|object

获取数据的矩形边界

参数名称 类型 描述信息
options boolean 可选

控制参数

参数名称 类型 默认值 描述信息
isFormat boolean false 可选

是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 }

返回值:

isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象

pause()void

暂停 【针对全局时钟的,即 map.clock.shouldAnimate】

返回值:

proceed()void

继续 【针对全局时钟的,即 map.clock.shouldAnimate】

返回值:

setCameraOptions(cameraOptions)void

更新视角模式,传入空值代表取消。

参数名称 类型 描述信息
cameraOptions object 可选

参数,包括:

参数名称 类型 默认值 描述信息
type string 可选

视角模式类型,包括:'':无、'gs':跟随视角、'dy':第一视角、'sd':上帝视角

radius number 可选

'gs'跟随视角时的 离目标的距离值(单位:米)

heading number 可选

'gs'跟随视角时的 初始方向角度值,绕垂直于地心的轴旋转角度, 0至360

pitch number 可选

'gs'跟随视角时的 初始俯仰角度值,绕纬度线旋转角度, 0至360 *

followedX number 50 可选

'dy'锁定第一视角时,距离运动点的距离(后方)

followedZ number 10 可选

'dy'锁定第一视角或'sd'上帝视角时,距离运动点的高度(上方)

返回值:

定义的类型

mars3d.graphic.Route.EventType

当前类支持的EventType事件类型

属性:
属性名称 类型 描述信息
change string

变化了

endItem string

完成了一个传入坐标点的漫游

end string

完成了当前所有点的漫游

add string

添加对象

remove string

移除对象

show string

显示了对象

hide string

隐藏了对象

popupOpen string

popup弹窗打开后

popupClose string

popup弹窗关闭

tooltipOpen string

tooltip弹窗打开后

tooltipClose string

tooltip弹窗关闭

contextMenuOpen string

右键菜单 打开后

contextMenuClose string

右键菜单 关闭

contextMenuClick string

右键菜单 单击某一项后

highlightOpen string

highlight高亮后

highlightClose string

highlight关闭后

click string

左键单击 鼠标事件

rightClick string

右键单击 鼠标事件

mouseOver string

鼠标移入 鼠标事件

mouseOut string

鼠标移出 鼠标事件

使用示例:
//绑定监听事件
graphic.on(mars3d.EventType.change, function (event) {
  console.log('坐标发生了变化', event)
})
参考: