Map

new mars3d.Map(id, options)

地图类 ,这是构造三维地球的一切的开始起点。

参数名称 类型 默认值 描述信息
id string | Cesium.Viewer

地图div容器的id 或 已构造好的Viewer对象

options object {} 可选

参数对象:

参数名称 类型 描述信息
scene Map.sceneOptions 可选

场景参数

terrain Map.terrainOptions 可选

地形服务配置

basemaps Array.<Map.basemapOptions> 可选

底图图层配置

layers Array.<Map.layerOptions> 可选

可以叠加显示的图层配置

control Map.controlOptions 可选

添加的控件

effect Map.effectOptions 可选

添加的特效

thing Map.thingOptions 可选

添加的Thing对象(如分析、管理类等)

mouse Map.mouseOptions 可选

鼠标操作相关配置参数

method Map.methodOptions 可选

通过参数方式来构造地图后就直接执行调用Map的相关属性、方法,便于序列化

参考:

继承

成员(属性)

basemap : string|number|BaseTileLayer

获取或设置当前显示的底图,设置时可以传入图层id或name

readonly camera : Cesium.Camera

获取相机 Cesium.Camera

readonly canvas : HTMLCanvasElement

获取Canvas画布

readonly cesiumWidget : Cesium.CesiumWidget

获取 CesiumWidget

readonly clock : Cesium.Clock

获取时钟 Cesium.Clock

readonly container : HTMLDivElement

获取地图DOM容器。

readonly contextmenu : ContextMenu

右键菜单控件对象

readonly control : object

获取地图上已构造的控件对象

readonly controls : object

获取地图上已构造的控件对象,同 map.control

currentTime : Cesium.JulianDate

当前时间

readonly dataSources : Cesium.DataSourceCollection

获取要可视化的 DataSource 实例集。

readonly effect : object

获取地图上已构造的effect特效对象

readonly effects : object

获取地图上已构造的effect特效对象,同 map.effect

enabledEvent : boolean

设置事件的启用和禁用状态

继承自:

readonly entities : Cesium.EntityCollection

获取未绑定到特定数据源的实体的集合。这是 dataSourceDisplay.defaultDataSource.entities 的快捷方式。

fixedLight : boolean

是否固定光照, true:可避免gltf、3dtiles模型随时间存在亮度不一致。

readonly graphicLayer : GraphicLayer

默认绑定的图层,简单场景时快捷方便使用

hasTerrain : boolean

是否开启地形

highlightEnabled : boolean

是否全局启用highlight ,如果在某些场景,如标绘时,可以手动关闭下

默认值: true

readonly imageryLayers : Cesium.ImageryLayerCollection

获取将在地球上渲染的ImageryLayer图像图层的集合

readonly imageryLayersForClamp : Cesium.ImageryLayerCollection

获取将在地球上渲染的ImageryLayer图像图层的集合[贴模型时]

readonly keyboardRoam : KeyboardRoam

获取键盘漫游控制器

lang : Lang|Object

使用的语言文本配置

readonly level : number

获取当前地图层级(概略),一般为0-21层

readonly mouseEvent : MouseEvent

获取鼠标事件控制器

onlyPickModelPosition : boolean

是否只拾取模型上的点

onlyPickTerrainPosition : boolean

是否只拾取地形上的点,忽略模型和矢量数据

onlyVertexPosition : boolean

是否开启顶点吸附功能,只拾取顶点上的点

readonly options : object

当前类的构造参数

readonly scene : Cesium.Scene

获取场景。 Cesium.Scene

templateValues : object

图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置。

terrainProvider : Cesium.TerrainProvider|*

获取或设置当前的地形服务

readonly thing : object

获取地图上已构造的thing对象

readonly things : object

获取地图上已构造的thing对象,同 map.thing

readonly toolbar : HTMLDivElement

获取ToolBar控件DOM容器, 其样式为cesium-viewer-toolbar

trackedEntity : Cesium.Entity|BaseEntity|undefined|*

获取或设置相机当前正在跟踪的Entity实例。

readonly viewer : Cesium.Viewer

地图对应的Cesium原生的 Cesium.Viewer对象

zoomFactor : number

鼠标滚轮放大的步长比例, 初始化时可传参 scene.cameraController.zoomFactor

默认值: 3.0

方法

addControl(control, enabledVal)Map

添加控件到地图上

参数名称 类型 描述信息
control BaseControl

控件对象

enabledVal boolean 可选

如果传值,覆盖控件的enabled属性

返回值:

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

addEffect(effect)Map

添加特效对象到地图上

参数名称 类型 描述信息
effect BaseEffect

特效对象

返回值:

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

addEventParent(obj)BaseClass

添加抛出事件到父类,它将接收传播的事件

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

父类对象

返回值:

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

继承自:

addLayer(layer, showVal)Promise.<(boolean|object)>

添加图层到地图上

参数名称 类型 描述信息
layer BaseLayer

图层对象

showVal boolean 可选

如果传值,覆盖图层的show属性

返回值:

图层加载完成承诺

addThing(item)Map

添加Thing对象到地图上

参数名称 类型 描述信息
item BaseThing

Thing对象

返回值:

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

bindContextMenu(content, options)Map

绑定地图的默认右键菜单

参数名称 类型 默认值 描述信息
content Array.<object>

右键菜单配置数组,数组中每一项包括:

参数名称 类型 描述信息
text string | function 可选

菜单文字

icon string 可选

图标,可以是:图片url路径、base64字符串、svg字符串、字体图标class名

show boolean | function 可选

菜单项是否显示的回调方法

callback function 可选

菜单项单击后的回调方法

children Array.<object> 可选

当有二级子菜单时,配置数组。

options object {} 可选

控制参数

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

用于非规则对象时,横向偏移的px像素值

offsetY number 可选

用于非规则对象时,垂直方向偏移的px像素值

返回值:

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

使用示例:
//内置的默认右键菜单获取方法
    var defaultContextmenuItems =map.getDefaultContextMenu()
    map.bindContextMenu(defaultContextmenuItems)

cancelFlyTo()Map

停止视角定位等操作

返回值:

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

centerAt(cameraView, options)Promise.<boolean>

将相机本身定位至指定位置,同 setCameraView 方法 为了兼容老版本用户习惯和center参数名称一致而用的别名方法。

参数名称 类型 默认值 描述信息
cameraView object

飞行参数,同 setCameraView 方法

options object {} 可选

参数对象,同 setCameraView 方法

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

changeMouseModel(rightTilt)void

设置鼠标操作习惯方式。 false:中键旋转,右键拉伸远近(默认); true:可以设置为右键旋转,中键拉伸远近。

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

是否右键旋转

返回值:

clear(hasDestroy)void

移除所有加载的图层、控件、对象。慎用

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

是否释放对象

返回值:

clearPitchRange()void

清除鼠标操作限定的Pitch范围

返回值:

closeContextMenu()Map

关闭右键菜单

返回值:

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

closeHighlight()void

清除已高亮的矢量对象

返回值:

closePopup()Map

关闭Popup弹窗

返回值:

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

closeSmallTooltip()Map

关闭小提示窗

返回值:

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

closeTooltip()Map

关闭Tooltip弹窗

返回值:

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

destroy()void

销毁地图

返回值:

eachControl(method, context, reverse)Map

遍历每一个控件并将其作为参数传递给回调函数

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

回调方法

context object 可选

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

reverse boolean 可选

是否倒序执行

返回值:

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

eachLayer(method, context, reverse)Map

遍历每一个图层并将其作为参数传递给回调函数

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

回调方法

context object 可选

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

reverse boolean 可选

是否倒序执行

返回值:

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

eachThing(method, context, reverse)Map

遍历每一个Thing对象并将其作为参数传递给回调函数

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

回调方法

context object 可选

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

reverse boolean 可选

是否倒序执行

返回值:

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

expImage(options)Promise.<object>

截图,导出地图场景图片

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

参数对象:

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

是否自动下载图片

filename string '场景出图_' + width + 'x' + height 可选

图片名称

width number canvas.width 可选

图片的高度像素值

height number canvas.height 可选

图片的高度像素值

type string 'image/jpeg' 可选

图片格式

encoderOptions number 1 可选

在指定图片格式为 image/jpeg 或 image/webp的情况下,可以从 0 到 1 的区间内选择图片的质量。如果超出取值范围,将会使用默认值 0.92。其他参数会被忽略。

返回值:

截图完成后的回调方法的Promise

fire(type, data, propagate)BaseClass

触发指定类型的事件。

参数名称 类型 描述信息
type EventType | string

事件类型

data object 可选

传输的数据或对象,可在事件回调方法中event对象中获取进行使用

propagate BaseClass 可选

将事件传播给父类 (用addEventParent设置)

返回值:

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

继承自:

flyHome(options)void

飞行到默认视角, 一般为config.json中的center参数配置的视角。

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

参数对象:

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

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

返回值:

flyTo(target, options)Promise.<boolean>

飞行至Cesium相关矢量对象处,是Cesium本身的flyTo方法。

将相机移至提供的一个或多个实体或数据源。如果数据源仍在加载过程中,或者可视化仍在加载中,此方法在执行飞行之前等待数据准备就绪。 偏移量是在以边界球中心为中心的局部东北向上参考框中的航向/俯仰/范围。航向角和俯仰角是在局部的东西向北参考系中定义的。航向是从y轴到x轴的角度。间距是从xy平面开始的旋转。正螺距角度在平面上方。负俯仰角在平面下方。范围是到中心的距离。如果范围是零,则将计算范围以使整个边界球都可见。

在2D模式下,必须有一个俯视图。摄像机将被放置在目标上方并向下看。上方的高度目标将是范围。航向将根据偏移量确定。如果标题不能根据偏移量确定,航向将为北。

参数名称 类型 描述信息
target *

需要定位的Cesium内部对象。您还可以传递一个: Cesium.Entity|Cesium.Entity[]|Cesium.EntityCollection|Cesium.DataSource|Cesium.ImageryLayer|Cesium.Cesium3DTileset|Cesium.TimeDynamicPointCloud|Promise.<Entity|Entity[]|Cesium.EntityCollection|Cesium.DataSource|Cesium.ImageryLayer|Cesium.Cesium3DTileset|Cesium.TimeDynamicPointCloud>

options object 可选

具有以下属性的对象:

参数名称 类型 默认值 描述信息
duration number 3.0 可选

飞行持续时间(秒)。

maximumHeight number 可选

飞行高峰时的最大高度。

offset Cesium.HeadingPitchRange 可选

在局部东北朝上的参考框中,距目标的偏移量为中心。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

flyToExtent(extent, options)Promise.<boolean>

相机飞行定位至矩形区域

参数名称 类型 默认值 描述信息
extent object | Cesium.Rectangle

飞行参数, Object时可以传入:

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

最小经度值, -180 至 180

xmax number

最大经度值, -180 至 180

ymin number

最小纬度值, -90 至 90

ymax number

最大纬度值, -90 至 90

height number 可选

矩形高度值, 默认取地形高度值

options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
scale number 可选

缩放比例,可以控制视角比矩形略大一些,这样效果更友好。

minHeight number 可选

定位时相机的最小高度值,用于控制避免异常数据

maxHeight number 可选

定位时相机的最大高度值,用于控制避免异常数据

heading number 可选

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

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

duration number 可选

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

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

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

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback 可选

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

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

flyToGraphic(graphic, options)Promise.<boolean>

飞行定位到 Graphic矢量对象 处

参数名称 类型 默认值 描述信息
graphic BaseGraphic | Array.<BaseGraphic>

矢量对象

options object {} 可选

参数对象:

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

点状数据时,相机距离目标点的距离(单位:米)

scale number 1.2 可选

线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。

minHeight number 可选

定位时相机的最小高度值,用于控制避免异常数据

maxHeight number 可选

定位时相机的最大高度值,用于控制避免异常数据

heading number 可选

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

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度,-90至90

duration number 可选

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

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

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

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback 可选

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

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

flyToPoint(point, options)Promise.<boolean>

定位至目标点(非相机位置)

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

目标点位置(视角中心点)

options object {} 可选

具有以下属性的对象:

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

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

heading number 可选

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

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

duration number 可选

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

clampToGround boolean 可选

是否贴地对象,true时异步计算实际高度值后进行定位。

lock boolean 可选

是否是trackedEntity锁定视角状态

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

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

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

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

flyOverLongitude number 可选

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

flyOverLongitudeWeight number 可选

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

easingFunction Cesium.EasingFunction.Callback 可选

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

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

flyToPositions(positions, options)Promise.<boolean>

定位至坐标数组

参数名称 类型 默认值 描述信息
positions Array.<Cesium.Cartesian3>

坐标数组

options object {} 可选

参数对象:

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

点状数据时,相机距离目标点的距离(单位:米)

scale number 1.2 可选

线面数据时,缩放比例,可以控制视角比矩形略大一些,这样效果更友好。

minHeight number 可选

定位时相机的最小高度值,用于控制避免异常数据

maxHeight number 可选

定位时相机的最大高度值,用于控制避免异常数据

heading number 可选

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

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

duration number 可选

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

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

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

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback 可选

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

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

getBasemaps(removeEmptyGroup)Array.<BaseLayer>|Array

获取所有basemps底图图层

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

是否移除 空图层组

返回值:

图层数组

getCameraDistance()number

取相机到屏幕中心点的距离

返回值:

相机到屏幕中心点的距离,单位:米

getCameraView(options)object

获取当前相机视角参数, 示例:{"lat":30.526361,"lng":116.335987,"alt":45187,"heading":0,"pitch":-45}

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

参数对象:

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

是否简化,true时不返回roll并无小数,false时返回roll和保留角度1位小数位

返回值:

当前相机视角参数

getCenter()LngLatPoint

取地图屏幕中心点坐标

返回值:

屏幕中心点坐标

getContextMenu()Array.<object>

获取绑定的右键菜单数组

返回值:

右键菜单数组

getControl(attrValue, attrName)BaseControl

根据指定属性获取控件

参数名称 类型 默认值 描述信息
attrValue string | number | boolean

属性值

attrName string 'type' 可选

属性键

返回值:

控件对象

getCurrentOptions()object

获取地图的当前实时状态对应的配置参数。 同 toJSON

返回值:

地图的配置参数

getDefaultContextMenu()Array.<object>

获取平台内置的右键菜单,图标可以覆盖 mars3d.Icon.* 值

返回值:

右键菜单

getEffect(key, attrName)BaseEffect

根据指定属性获取Thing对象

参数名称 类型 默认值 描述信息
key string | EffectType | *

属性值(如type、id、name值)

attrName string 'type' 可选

属性名称

返回值:

Thing对象

getExtent(options)object

提取地球当前视域边界,示例:{ xmin: 70, xmax: 140, ymin: 0, ymax: 55, height: 0, }

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

参数对象:

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

是否格式化小数位,只保留6位小数

scale number 0 可选

在每个方向上按给定比例扩展(大于0)或缩小(-1到0时)当前边界所创建的边界。比率为0.5时,边界在每个方向上扩展了50%。

返回值:

当前视域边界

getHeight(position, options)number

获取贴地的高度值 (仅考虑当前视域内数据和精度下的高度)

参数名称 类型 默认值 描述信息
position string | Array | LngLatPoint | Cesium.Cartesian3 | *

坐标位置

options object {} 可选

参数对象,具有以下属性:

参数名称 类型 默认值 描述信息
heightReference Cesium.HeightReference Cesium.HeightReference.CLAMP_TO_GROUND 可选

高度参考,决定是否仅贴模型、仅贴地形、全部都考虑

original boolean false 可选

计算失败时是否返回原始高度值

min number -999 可选

限定最小数,屏蔽异常数

返回值:

贴地的高度值

getLangText(key)string

获取当前key对应语言的文本内容。

参数名称 类型 描述信息
key string

文本key

返回值:

lang参数指定的对应文本内容

getLayer(attrValue, attrName)BaseLayer|*

根据指定属性获取图层,包括config.json配置的图层

参数名称 类型 默认值 描述信息
attrValue string | number

属性值

attrName string 'id' 可选

属性键

返回值:

图层对象

getLayerByAttr(attrValue, attrName)BaseLayer|*

根据指定属性获取图层

参数名称 类型 默认值 描述信息
attrValue string | number

属性值

attrName string 'id' 可选

属性键

返回值:

图层对象

getLayerById(id)BaseLayer|*

根据ID或取图层 ,包括config.json配置的图层

参数名称 类型 描述信息
id string | number

图层id或uuid

返回值:

图层对象

getLayers(options)Array.<BaseLayer>|Array

获取所有图层

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

参数对象,包括以下:

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

默认不比较及处理,true:返回所有basemps中配置图层,false:排除所有所有basemps中配置图层[但已加到map的除外]

layers boolean 可选

默认不比较及处理,true:返回所有operationallayers中配置图层,false:排除所有operationallayers中配置图层[但已加到map的除外]

childs boolean true 可选

是否获取GroupLayer内的已经实例化的子图层[没有加到map的图层不会去读取内部子图层]

返回值:

图层数组

getLayersByAttr(attrValue, attrName)Array.<BaseLayer>|*

根据指定属性获取图层列表

参数名称 类型 默认值 描述信息
attrValue string | number

属性值

attrName string 'id' 可选

属性键

返回值:

图层对象列表

getNextLayerId()number

获取图层ID值,按顺序取值。 没有id的图层,会自动使用本方法进行id赋值处理

返回值:

图层ID

getOptions()object

获取new Map地图的传入时options构造参数

返回值:

地图的配置参数

getRealAlt(alt)number

当存在地形夸张时,获取其实际的高度值

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

鼠标拾取的高度值

返回值:

其实际的高度值

getThing(attrValue, attrName)BaseThing

根据指定属性获取Thing对象

参数名称 类型 默认值 描述信息
attrValue string | number | boolean

属性值

attrName string 'id' 可选

属性名称

返回值:

Thing对象

getTileLayers()Array.<BaseTileLayer>|Array

获取所有瓦片图层,可以用于卷帘对比

返回值:

图层数组

hasControl(control)boolean

是否有指定的控件存在(就是已经addControl的控件)

参数名称 类型 描述信息
control BaseControl | string

指定的控件或控件ID

返回值:

是否存在

hasEventParent(obj)boolean

是否绑定了抛出事件到指定父类

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

父类对象

返回值:

是否绑定了抛出事件

继承自:

hasLayer(layer)boolean

是否有指定的图层存在(就是已经addLayer的图层)

参数名称 类型 描述信息
layer string | number | BaseLayer

指定的图层或图层ID

返回值:

是否存在

hasThing(thing)boolean

是否有指定的Thing对象存在(就是已经addThing的图层)

参数名称 类型 描述信息
thing BaseThing | string

指定的Thing对象或Thing对象ID

返回值:

是否存在

isFlyAnimation()boolean

是否在调用了openFlyAnimation正在进行开场动画

返回值:

是否在开场动画

isHighlighting(target)void

判断指定对象是否为当前场景中正在高亮的对象

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

判断的高亮的对象(如graphic或layer等)

返回值:

isInView(position)boolean

判断坐标点是否在当前视域内

参数名称 类型 描述信息
position Cesium.Cartesian3

坐标

返回值:

当前视域边界

listens(type, propagate)boolean

是否有绑定指定的事件

参数名称 类型 描述信息
type EventType | string

事件类型

propagate BaseClass 可选

是否判断指定的父类 (用addEventParent设置的)

返回值:

是否存在

继承自:

off(types, fn, context)BaseClass

解除绑定指定类型事件监听器

参数名称 类型 描述信息
types EventType | string | Array.<EventType> 可选

事件类型,未传值时解绑所有事件

fn function 可选

绑定的监听器回调方法,未传值时解绑所有指定类型对应事件,特殊说明:map.on监听的Cesium相关原生事件时必须传入该参数

context object 可选

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

返回值:

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

继承自:

on(types, fn, context)BaseClass

绑定指定类型事件监听器, 支持在监听中调用 event.stopPropagation(); 阻止事件冒泡

参数名称 类型 描述信息
types EventType | string | Array.<EventType> | Array.<string> | object

事件类型

fn function

绑定的监听器回调方法

context object 可选

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

返回值:

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

继承自:

once(types, fn, context)BaseClass

绑定一次性执行的指定类型事件监听器 与on类似,监听器只会被触发一次,然后被删除。

参数名称 类型 描述信息
types EventType | string | Array.<EventType>

事件类型

fn function

绑定的监听器回调方法

context object 可选

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

返回值:

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

继承自:

openContextMenu(position)Map

打开右键菜单

参数名称 类型 描述信息
position Cesium.Cartesian3 | LngLatPoint 可选

显示的位置

返回值:

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

openFlyAnimation(options)Promise.<boolean>

执行开场动画,动画播放地球飞行定位到指定区域(1.旋转地球+2.降低高度+3.指定视角)

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

参数对象:

参数名称 类型 默认值 描述信息
center object getCameraView() 可选

飞行到的指定区域视角参数

duration1 number 2 可选

第一步旋转地球时长,单位:秒

easingFunction1 Cesium.EasingFunction.Callback Cesium.EasingFunction.LINEAR_NONE 可选

第一步旋转地球飞行中,控制如何在飞行期间内插值时间参数。

duration2 number 2 可选

第二步降低高度时长,单位:秒

easingFunction2 Cesium.EasingFunction.Callback 可选

第二步降低高度飞行中,控制如何在飞行期间内插值时间参数。

duration3 number 2 可选

第三步指定视角飞行时长,单位:秒

easingFunction3 Cesium.EasingFunction.Callback 可选

第三步指定视角飞行中,控制如何在飞行期间内插值时间参数。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

openHighlight(graphic, highlightStyle, event)void

高亮矢量对象

参数名称 类型 描述信息
graphic BaseGraphic | *

矢量对象

highlightStyle object

高亮的样式,具体见各GraphicType矢量数据的style参数。

event object 可选

鼠标事件对象

返回值:

openPopup(position, content, options)Map

打开Popup弹窗

参数名称 类型 描述信息
position LngLatPoint | Cesium.Cartesian3 | Array.<number>

矢量对象 或 显示的位置

content string | function | BaseGraphic | BaseGraphicLayer

弹窗内容html字符串,或者 回调方法 或者矢量对象/图层。

options Popup.StyleOptions 可选

配置参数

返回值:

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

openSmallTooltip(position, message)Map

显示小提示窗,一般用于鼠标操作的提示。

参数名称 类型 描述信息
position Cesium.Cartesian2 | Cesium.Cartesian3

显示的屏幕坐标位置 或 笛卡尔坐标位置

message *

显示的内容

返回值:

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

openTooltip(position, content, options)Map

打开Tooltip弹窗

参数名称 类型 描述信息
position LngLatPoint | Cesium.Cartesian3 | Array.<number>

矢量对象 或 显示的位置

content string | function

弹窗内容html字符串,或者 回调方法

options Tooltip.StyleOptions 可选

配置参数

返回值:

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

pauseCameraViewList()void

暂停执行 setCameraViewList

返回值:

pick3DTileset(positions)Cesium.Cesium3DTileset|undefined

获取坐标位置的3dtiles模型对象

参数名称 类型 描述信息
positions Cesium.Cartesian3 | Array.<Cesium.Cartesian3>

坐标 或 坐标数组

返回值:

3dtiles模型对象

pickTilesetLayer(positions)TilesetLayer|undefined

获取坐标位置的3dtiles模型图层

参数名称 类型 描述信息
positions Cesium.Cartesian3 | Array.<Cesium.Cartesian3>

坐标 或 坐标数组

返回值:

3dtiles模型图层

proceedCameraViewList()void

继续执行 setCameraViewList

返回值:

removeControl(control, hasDestroy)Map

移除控件

参数名称 类型 描述信息
control BaseControl

需要移除的控件

hasDestroy boolean 可选

是否释放

返回值:

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

removeEffect(effect, hasDestroy)Map

移除特效对象

参数名称 类型 描述信息
effect BaseEffect

需要移除的特效对象

hasDestroy boolean 可选

是否释放

返回值:

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

removeEventParent(obj)BaseClass

移除抛出事件到父类

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

父类对象

返回值:

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

继承自:

removeLayer(layer, hasDestroy)Map

移除图层

参数名称 类型 描述信息
layer BaseLayer

需要移除的图层

hasDestroy boolean 可选

是否释放 destroy

返回值:

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

removeThing(item, hasDestroy)Map

移除Thing对象

参数名称 类型 描述信息
item BaseThing

需要移除的Thing对象

hasDestroy boolean 可选

是否释放

返回值:

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

rotateAnimation(options)Promise.<boolean>

执行旋转地球动画

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

参数对象:

参数名称 类型 默认值 描述信息
duration number 10 可选

动画时长(单位:秒)

center object getCameraView() 可选

飞行到的指定区域视角参数

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

setBasemapsOptions(arr, reload)Array.<BaseLayer>

重新设置basemps底图图层,对options.basemaps重新赋值

参数名称 类型 默认值 描述信息
arr Array.<Map.basemapOptions>

底图图层配置

reload boolean true 可选

是否重新构造

返回值:

图层数组

setCameraView(cameraView, options)Promise.<boolean>

将相机本身定位至指定位置

参数名称 类型 默认值 描述信息
cameraView object

飞行参数

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

经度值, 180 - 180

lat number

纬度值, -90 - 90

alt number 可选

高度值

heading number 可选

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

pitch number 可选

俯仰角度值,绕纬度线旋转角度, -90至90

roll number 可选

翻滚角度值,绕经度线旋转角度, -90至90

options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
duration number 可选

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

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

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

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback 可选

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

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

setCameraViewList(arr, options)void

定位到多个相机视角位置,按数组顺序播放

参数名称 类型 默认值 描述信息
arr Array.<object>

视角参数数组,每个对象包含:

参数名称 类型 默认值 描述信息
lng number

经度值, -180 至 180

lat number

纬度值, -90 至 90

alt number

高度值

heading number

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

pitch number

俯仰角度值,绕纬度线旋转角度, -90至90

roll number

翻滚角度值,绕经度线旋转角度, -90至90

duration number 可选

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

stop number 1 可选

该步骤飞行结束的停留时间(单位:秒)。

onStart function 可选

该步骤飞行开始前的回调方法

onEnd function 可选

该步骤飞行开始结束后的回调方法

options object {} 可选

参数对象:

参数名称 类型 默认值 描述信息
complete Cesium.Camera.FlightCompleteCallback 可选

全部飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

endTransform Cesium.Matrix4 可选

变换矩阵表示飞行结束时相机所处的参照系。

maximumHeight number 可选

飞行高峰时的最大高度。

pitchAdjustHeight number 可选

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number 可选

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number 可选

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

convert boolean true 可选

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

easingFunction Cesium.EasingFunction.Callback Cesium.EasingFunction.LINEAR_NONE 可选

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

返回值:

setCursor(val)void

设置鼠标的默认状态样式

参数名称 类型 描述信息
val string 可选

cursor样式

返回值:

setHeading(heading, options)Promise.<boolean>

设置相机heading值,保持地图中心位置不变。

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

方向角度值, 0-360

options object 可选

具有以下属性的对象:

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

俯仰角度值,绕垂直于地心的轴旋转角度, -90至90

duration number 可选

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

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

setLangText(key, text)void

设置当前key对应语言的文本内容。

参数名称 类型 描述信息
key string | object

文本key ,如果是object时更新对应的多个键值对

text string

文本内容

返回值:

setLayersOptions(arr)Array.<BaseLayer>

重新设置layers图层,对options.layers重新赋值

参数名称 类型 描述信息
arr Array.<Map.layerOptions>

可以叠加显示的图层配置

返回值:

图层数组

setOptions(newOptions)Map

设置Map所有参数构造参数 【测试中功能,可能部分参数无法更新,欢迎反馈问题 】

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

Map所有参数构造参数

返回值:

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

setPitch(pitch, options)Promise.<boolean>

设置相机pitch值,保持地图中心位置不变。

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

俯仰角度值, -90至90

options object 可选

具有以下属性的对象:

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

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

duration number 可选

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

complete Cesium.Camera.FlightCompleteCallback 可选

飞行完成后要执行的函数。

cancel Cesium.Camera.FlightCancelledCallback 可选

飞行取消时要执行的函数。

返回值:

如果飞行成功则解析为true的承诺,如果当前未在场景中可视化目标或取消飞行,则为false的Promise

setPitchRange(max, min)void

设置鼠标操作限定的Pitch范围

参数名称 类型 默认值 描述信息
max number

最大值(角度值)

min number -90 可选

最小值(角度值)

返回值:

setSceneOptions(options)Map

设置Scene场景参数

参数名称 类型 描述信息
options Map.sceneOptions

参数

返回值:

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

toJSON()object

获取地图的当前实时状态对应的参数

返回值:

地图的配置参数

unbindContextMenu()Map

解除绑定的右键菜单

返回值:

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

zoomIn(relativeAmount, mandatory)boolean

放大地图

参数名称 类型 默认值 描述信息
relativeAmount number 2 可选

相对量

mandatory boolean 可选

是否强制更新,忽略screenSpaceCameraController的enableInputs/enableZoom限制

返回值:

是否有移动位置

zoomOut(relativeAmount, mandatory)boolean

缩小地图

参数名称 类型 默认值 描述信息
relativeAmount number 2 可选

相对量

mandatory boolean 可选

是否强制更新,忽略screenSpaceCameraController的enableInputs/enableZoom限制

返回值:

是否有移动位置

定义的类型

mars3d.Map.basemapOptions

底图图层配置

属性:
属性名称 类型 可选 描述信息
type string | LayerType

图层类型

多个参数 * <可选>

每种不同type都有自己的不同属性,具体参考LayerType找到type对应的BaseTileLayer子类图层类,查看其构造参数

参考:

mars3d.Map.controlOptions

添加到地图的控件 参数

属性:
属性名称 类型 可选 默认值 描述信息
homeButton boolean | object <可选>
false

视角复位按钮,是否显示, object时 对应 HomeButton构造参数

zoom object <可选>

放大缩小按钮 , 对应 Zoom构造参数

sceneModePicker boolean | object <可选>
false

二三维切换按钮,是否显示二维、三维、2.5D视图切换按钮, object时 对应 SceneModePicker构造参数

projectionPicker boolean | object <可选>
false

投影切换按钮, 是否显示用于在透视和正投影之间进行切换按钮, object时 对应 ProjectionPicker构造参数

fullscreenButton boolean | object <可选>
false

全屏按钮,是否显示, object时 对应 FullscreenButton构造参数

fullscreenElement Element | string | object <可选>
document.body

当按下全屏按钮时,要置于全屏模式的元素或id,也可以定义在fullscreenButton中,比如 fullscreenButton: { fullscreenElement: "mars3dContainer" }

vrButton boolean | object <可选>
false

VR效果按钮,是否显示, object时 对应 VRButton构造参数

geocoder boolean | Array.<Cesium.GeocoderService> | object <可选>
false

是否显示 地名查找按钮 控件,是Cesium原生控件, object时 对应 Geocoder构造参数

navigationHelpButton boolean | object <可选>
false

帮助按钮,是否显示, object时 对应 NavigationHelpButton构造参数

navigationInstructionsInitiallyVisible boolean | object <可选>
true

帮助按钮 在用户明确单击按钮之前是否自动显示

baseLayerPicker boolean | object <可选>
false

是否显示 底图切换 按钮,是Cesium原生控件, object时 对应 C构造参数

imageryProviderViewModels Array.<Cesium.ProviderViewModel> <可选>

baseLayerPicker底图切换面板中,用于图像的ProviderViewModel实例数组,默认自动根据basemaps数组生成。

selectedImageryProviderViewModel Cesium.ProviderViewModel <可选>

baseLayerPicker底图切换面板中,如果没有提供当前基本图像层的视图模型,则使用第一个可用的图像层。默认为show:true的basemaps图层

terrainProviderViewModels Array.<Cesium.ProviderViewModel> <可选>

baseLayerPicker底图切换面板中,用于地形的ProviderViewModel实例数组。默认自动使用terrain配置+无地形。

selectedTerrainProviderViewModel Cesium.ProviderViewModel <可选>

baseLayerPicker底图切换面板中,如果没有提供当前基础地形层的视图模型,则使用第一个可用的地形层。

compass object <可选>

导航球, 对应 Compass构造参数

locationBar object <可选>

状态栏, 对应 LocationBar构造参数

Properties 属性
属性名称 类型 可选 描述信息
format string | function <可选>

显示内容的格式化html展示的内容格式化字符串。 支持以下模版配置:【鼠标所在位置】 经度:{lng}, 纬度:{lat}, 海拔:{alt}米, 【相机的】 方向角度:{heading}, 俯仰角度:{pitch}, 视高:{cameraHeight}米, 【地图的】 层级:{level},每秒帧率:{fps} (越高越流畅),延迟:{ms} 毫秒 (越小越流畅)

distanceLegend object <可选>

比例尺, 对应 DistanceLegend构造参数

clockAnimate object <可选>

时钟控制, 对应ClockAnimate构造参数

animation boolean <可选>
true

时钟仪表控制(Cesium原生)

timeline boolean <可选>
true

时间线, 是否创建下侧时间线控件面板

overviewMap object <可选>

鹰眼地图, 对应OverviewMap构造参数

mapSplit object <可选>

卷帘对比, 对应MapSplit构造参数

keyboardRoam object <可选>

键盘漫游, 对应KeyboardRoam构造参数

mouseDownView boolean <可选>

鼠标滚轮缩放美化样式(指示图标), 对应 MouseDownView构造参数

infoBox boolean <可选>
true

信息面板,是否显示点击要素之后显示的信息,是Cesium原生控件

selectionIndicator boolean <可选>
true

选中框,是否显示选择模型时的绿色框,是Cesium原生控件

showRenderLoopErrors boolean <可选>
true

如果为true,则在发生渲染循环错误时,此小部件将自动向包含错误的用户显示HTML面板,是Cesium原生控件

contextmenu object <可选>

内置 右键菜单 控制参数, 对应ContextMenu构造参数

Properties 属性
属性名称 类型 可选 默认值 描述信息
preventDefault boolean <可选>
true

是否取消右键菜单

hasDefault boolean <可选>
true

是否绑定默认的地图右键菜单

popup object <可选>

内置 Popup 控制参数

Properties 属性
属性名称 类型 可选 默认值 描述信息
depthTest boolean <可选>
true

是否打开深度判断(true时判断是否在球背面)

tooltip object <可选>

内置 Tooltip 控制参数

Properties 属性
属性名称 类型 可选 默认值 描述信息
cacheTime number <可选>
20

延迟缓存的时间,单位:毫秒

参考:

mars3d.Map.effectOptions

添加到地图的特效 参数

属性:
属性名称 类型 可选 描述信息
bloom object <可选>

泛光,对应BloomEffect构造参数

brightness object <可选>

亮度,对应BrightnessEffect构造参数

rain object <可选>

雨天气,对应RainEffect构造参数

snow object <可选>

雪天气 ,对应SnowEffect构造参数

snowCover object <可选>

地面积雪,对应SnowCoverEffect构造参数

fog object <可选>

雾天气,对应FogEffect构造参数

depthOfField object <可选>

景深,对应DepthOfFieldEffect构造参数

mosaic object <可选>

马赛克,对应MosaicEffect构造参数

nightVision object <可选>

夜视,对应NightVisionEffect构造参数

blackAndWhite object <可选>

黑白,对应BlackAndWhiteEffect构造参数

outline object <可选>

对象轮廓描边,对应OutlineEffect构造参数

bloomTarget object <可选>

对象泛光,对应BloomTargetEffect构造参数

colorCorrection string <可选>

颜色校正 特效,对应类为:ColorCorrectionEffect构造参数

参考:

mars3d.Map.EventType

Map支持的EventType事件类型

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

地图初始化完成事件(地形、所有图层完成初始化)

addLayer string

添加图层

removeLayer string

移除图层

terrainChange string

地形变化

tileLoadProgress string

地图中瓦片加载进度变化

cameraMoveStart string

相机开启移动前 场景事件

cameraMoveEnd string

相机移动完成后 场景事件

cameraChanged string

相机位置完成 场景事件

preUpdate string

场景更新前 场景事件

postUpdate string

场景更新后 场景事件

preRender string

场景渲染前 场景事件

postRender string

场景渲染后 场景事件

morphStart string

场景模式(2D/3D/哥伦布)变换前 场景事件

morphComplete string

完成场景模式(2D/3D/哥伦布)变换 场景事件

clockTick string

时钟跳动 场景事件

renderError string

场景渲染失败(需要刷新页面)

click string

左键单击 鼠标事件

clickGraphic string

左键单击到矢量或模型数据时 鼠标事件

clickTileGraphic string

左键单击到wms或arcgis瓦片服务的对应矢量数据时

clickMap string

左键单击地图空白(未单击到矢量或模型数据)时 鼠标事件

dblClick string

左键双击 鼠标事件

leftDown string

左键鼠标按下 鼠标事件

leftUp string

左键鼠标按下后释放 鼠标事件

mouseMove string

鼠标移动 鼠标事件

mouseMoveTarget string

鼠标移动(拾取目标,并延迟处理) 鼠标事件 [标绘、测量等功能会禁用该事件]

wheel string

鼠标滚轮滚动 鼠标事件

rightClick string

右键单击 鼠标事件

rightDown string

右键鼠标按下 鼠标事件

rightUp string

右键鼠标按下后释放 鼠标事件

middleClick string

中键单击 鼠标事件

middleDown string

中键鼠标按下 鼠标事件

middleUp string

中键鼠标按下后释放 鼠标事件

pinchStart string

在触摸屏上两指缩放开始 鼠标事件

pinchEnd string

在触摸屏上两指缩放结束 鼠标事件

pinchMove string

在触摸屏上两指移动 鼠标事件

mouseDown string

鼠标按下 [左中右3键都触发] 鼠标事件

mouseUp string

鼠标按下后释放 [左中右3键都触发] 鼠标事件

mouseOver string

鼠标移入 鼠标事件

mouseOut string

鼠标移出 鼠标事件

keydown string

按键按下 键盘事件

keyup string

按键按下后释放 键盘事件

popupOpen string

popup弹窗打开后

popupClose string

popup弹窗关闭

tooltipOpen string

tooltip弹窗打开后

tooltipClose string

tooltip弹窗关闭

contextMenuOpen string

右键菜单 打开后

contextMenuClose string

右键菜单 关闭

contextMenuClick string

右键菜单 单击某一项后

使用示例:
//绑定监听事件
map.on(mars3d.EventType.click, function (event) {
  console.log('单击了地图对象', event)
})
参考:

mars3d.Map.layerOptions

可以叠加显示的图层配置,

属性:
属性名称 类型 可选 默认值 描述信息
type string | LayerType

图层类型

id string | number <可选>

图层id标识

pid string | number <可选>
-1

图层父级的id,一般图层管理中使用

name string <可选>
''

图层名称

show boolean <可选>
true

图层是否显示

center object <可选>

图层自定义定位视角,默认根据数据情况自动定位。

popup object <可选>

当图层支持popup弹窗时,绑定的值

popupOptions Popup.StyleOptions <可选>

popup弹窗时的配置参数

tooltip object <可选>

当图层支持tooltip弹窗时,绑定的值

tooltipOptions Tooltip.StyleOptions <可选>

tooltip弹窗时的配置参数

多个参数 * <可选>

每种type都有自己的不同属性,具体参考LayerType找到type对应的图层类,查看其构造参数

参考:

mars3d.Map.methodOptions

通过参数方式来构造地图后就直接执行调用Map的相关属性、方法,便于序列化

属性:
属性名称 类型 可选 默认值 描述信息
chinaCRS ChinaCRS | string <可选>
"WGS84"

标识当前地图的国内坐标系(用于部分图层内对比判断来自动纠偏或加偏),只能初始化传入

lang object | Lang <可选>

使用的语言文本键值对对象,可传入外部自定义的任意语言文本。

templateValues object <可选>

图层中统一的url模版,比如可以将服务url前缀统一使用模板,方便修改或动态配置

token Map.tokenOptions <可选>

覆盖SDK内的Token所有第3方Token默认值, 同Token#.updateAll

fixedLight boolean <可选>
false

是否固定光照,true:可避免gltf、3dtiles模型随时间存在亮度不一致。

onlyPickModelPosition boolean <可选>
false

是否只拾取模型上的点

onlyPickTerrainPosition boolean <可选>
false

是否只拾取地形上的点,忽略模型和矢量数据

onlyVertexPosition boolean <可选>
false

是否开启顶点吸附功能,只拾取顶点上的点

cursor string <可选>
""

设置鼠标的默认状态cursor样式, 同Map#setCursor

changeMouseModel object <可选>
false

设置鼠标操作习惯方式。 false:中键旋转,右键拉伸远近(默认);true:可以设置为右键旋转,中键拉伸远近。, 同Map#changeMouseModel

setPitchRange object <可选>

设置鼠标操作限定的Pitch范围, 同Map#setPitchRange

Properties 属性
属性名称 类型 可选 默认值 描述信息
max number

最大值(角度值)

min number <可选>
-90

最小值(角度值)

setCameraViewList object <可选>

定位到多个相机视角位置,按数组顺序播放, 同Map#setCameraViewList

Properties 属性
属性名称 类型 可选 默认值 描述信息
list Array.<object>

arr 视角参数数组, 内部参数见Map#setCameraViewList

maximumHeight number <可选>

飞行高峰时的最大高度。

pitchAdjustHeight number <可选>

如果相机飞得比这个值高,在飞行过程中调整俯仰以向下看,并保持地球在视口。

flyOverLongitude number <可选>

地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。

flyOverLongitudeWeight number <可选>

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

convert boolean <可选>
true

是否将目的地从世界坐标转换为场景坐标(仅在不使用3D时相关)。

openFlyAnimation object <可选>

执行开场动画,动画播放地球飞行定位到指定区域(1.旋转地球+2.降低高度+3.指定视角), 同Map#openFlyAnimation

Properties 属性
属性名称 类型 可选 默认值 描述信息
center object <可选>
getCameraView()

飞行到的指定区域视角参数

duration1 number <可选>
2

第一步旋转地球时长,单位:秒

duration2 number <可选>
2

第二步降低高度时长,单位:秒

duration3 number <可选>
2

第三步指定视角飞行时长,单位:秒

rotateAnimation object <可选>

执行旋转地球动画, 同Map#rotateAnimation

Properties 属性
属性名称 类型 可选 默认值 描述信息
duration number <可选>
10

动画时长(单位:秒)

center object <可选>
getCameraView()

飞行到的指定区域视角参数

mars3d.Map.mouseOptions

鼠标操作相关配置 参数

属性:
属性名称 类型 可选 默认值 描述信息
enabledMoveTarget boolean <可选>
true

是否开启鼠标移动事件的拾取矢量数据

moveDelay number <可选>
30

鼠标移动事件的延迟毫秒数

pickWidth number <可选>
4

拾取时所选矩形的宽度,单位:像素

pickHeight number <可选>
4

拾取时所选矩形的高度,单位:像素

pickLimit number <可选>
9

在允许allowDrillPick穿透拾取时,限制拾取的对象个数。

参考:

mars3d.Map.sceneOptions

场景参数

属性:
属性名称 类型 可选 默认值 描述信息
center object <可选>

默认相机视角

Properties 属性
属性名称 类型 可选 描述信息
lng number

经度值, 180 - 180

lat number

纬度值, -90 - 90

alt number

高度值

heading number <可选>

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

pitch number <可选>

俯仰角度值,绕纬度线旋转角度,-90至90

roll number <可选>

翻滚角度值,绕经度线旋转角度, -90至90

extent object <可选>

矩形范围 相机视角,与center二选一

Properties 属性
属性名称 类型 描述信息
xmin number

最小经度值, -180 至 180

xmax number

最大经度值, -180 至 180

ymin number

最小纬度值, -90 至 90

ymax number

最大纬度值, -90 至 90

removeDblClick boolean <可选>
false

是否移除Cesium默认的双击事件

ionToken string <可选>

Cesium Ion服务的 Token令牌

resolutionScale number <可选>
1.0

获取或设置渲染分辨率的缩放比例。小于1.0的值可以改善性能不佳的设备上的性能,而值大于1.0则将以更高的速度呈现分辨率,然后缩小比例,从而提高视觉保真度。例如,如果窗口小部件的尺寸为640x480,则将此值设置为0.5将导致场景以320x240渲染,然后在设置时按比例放大设置为2.0将导致场景以1280x960渲染,然后按比例缩小。

以下是Cesium.Scene对象相关参数

backgroundColor string <可选>

背景色 ,css颜色值

backgroundImage string <可选>

背景图片 ,css属性值(对应的是 map.container.style.backgroundImage 值)

backgroundType boolean <可选>

当背景色、背景图片、天空盒3个值均存在时,已哪个优先,可选值:color、image、skybox

showSkyBox boolean <可选>

是否显示默认天空盒,如修改对象可以用 map.scene.skyBox

skyBox Cesium.SkyBox | GroundSkyBox | MultipleSkyBox | object <可选>

天空盒对象,不使用默认天空盒时设置。

Properties 属性
属性名称 类型 可选 描述信息
type string <可选>

天空盒类型,可选值:default(内置)、skyBox(普通)、ground、multiple

sources object <可选>

天空盒的6个立方体映射面的图片url

showSun boolean <可选>

是否显示太阳,如修改对象可以用 map.scene.sun

showMoon boolean <可选>

是否显示月亮,如修改对象可以用 map.scene.moon

showSkyAtmosphere boolean <可选>

是否显示地球大气层外光圈,如修改对象可以用 map.scene.skyAtmosphere

fog boolean <可选>

是否启用雾化效果,如修改对象可以用 map.scene.fog

atmosphere object <可选>

3D贴图和模型用于渲染天空大气、地面大气和雾的常见大气设置。

Properties 属性
属性名称 类型 可选 默认值 描述信息
lightIntensity number <可选>
10.0

用于计算地面大气颜色的光的强度。

rayleighScaleHeight number <可选>
10000.0

地面大气散射方程中使用的瑞利尺度高度,单位为米。

mieScaleHeight number <可选>
3200.0

地面大气散射方程中使用的米氏尺度高度,单位为米。

mieAnisotropy number <可选>
0.9

The anisotropy of the medium to consider for Mie scattering.

hueShift number <可选>
0.0

The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift).

saturationShift number <可选>
0.0

The saturation shift to apply to the atmosphere. Defaults to 0.0 (no shift). A saturation shift of -1.0 is monochrome.

brightnessShift number <可选>
0.0

The brightness shift to apply to the atmosphere. Defaults to 0.0 (no shift).A brightness shift of -1.0 is complete darkness, which will let space show through.

dynamicLighting number | Cesium.DynamicAtmosphereLightingType <可选>

When not DynamicAtmosphereLightingType.NONE, the selected light source will

fxaa boolean <可选>

是否开启快速抗锯齿

highDynamicRange boolean <可选>

是否关闭高动态范围渲染(不关闭时地图会变暗)

logarithmicDepthBuffer boolean <可选>
true

是否使用对数深度缓冲区。启用此选项将允许在多截锥体中减少截锥体,提高性能。此属性依赖于所支持的fragmentDepth。 [当贴地面出现阴影体或遮挡时设置为false]

verticalExaggeration number <可选>
1.0

地形夸张倍率,用于放大地形的标量。请注意,地形夸张不会修改其他相对于椭球的图元。

verticalExaggerationRelativeHeight number <可选>
0.0

地形被夸大的高度。默认为0.0(相对于椭球表面缩放)。高于此高度的地形将向上缩放,低于此高度的地形将向下缩放。请注意,地形夸大不会修改任何其他图元,因为它们是相对于椭球体定位的。

以下是Cesium.Viewer所支持的options【控件相关的写在另外的control属性中】

sceneMode Cesium.SceneMode <可选>
Cesium.SceneMode.SCENE3D

初始场景模式。可以设置进入场景后初始是2D、2.5D、3D 模式。

scene3DOnly boolean <可选>
false

为 true 时,每个几何实例将仅以3D渲染以节省GPU内存。

mapProjection Cesium.MapProjection | CRS <可选>
mars3d.CRS.EPSG4326

在二维模式下时,地图的呈现坐标系,默认为EPSG4326坐标系,如果需要EPSG3857墨卡托坐标系展示,传 new Cesium.WebMercatorProjection() 即可

mapMode2D Cesium.MapMode2D <可选>
Cesium.MapMode2D.INFINITE_SCROLL

在二维模式下时,地图是可旋转的还是可以在水平方向无限滚动。

shouldAnimate boolean <可选>
true

是否开启时钟动画

shadows boolean <可选>
false

是否启用日照阴影

useDefaultRenderLoop boolean <可选>
true

如果此小部件应控制渲染循环,则为true,否则为false。

targetFrameRate number <可选>

使用默认渲染循环时的目标帧速率。

useBrowserRecommendedResolution boolean <可选>
true

如果为true,则以浏览器建议的分辨率渲染,并忽略 window.devicePixelRatio 。

automaticallyTrackDataSourceClocks boolean <可选>
true

如果为true,则此小部件将自动跟踪新添加的数据源的时钟设置,并在数据源的时钟发生更改时进行更新。如果要独立配置时钟,请将其设置为false。

contextOptions object <可选>
{}

WebGL创建属性 传递给 Cesium.Scene 的 options 。Cesium.Scene

Properties 属性
属性名称 类型 可选 默认值 描述信息
allowTextureFilterAnisotropic boolean <可选>
true

允许纹理过滤各向异性

requestWebgl1 boolean <可选>
false

是否启用webgl1,cesium v1.102起默认用webgl2渲染

webgl object <可选>

WebGL画布,用于 canvas.getContext("webgl", webglOptions) See WebGLContextAttributes

Properties 属性
属性名称 类型 可选 默认值 描述信息
alpha boolean <可选>
false

是否包含alpha缓冲区,如果需要DIV透明时,需要改为true

depth boolean <可选>

绘图缓冲区的深度缓冲区至少为16位

stencil boolean <可选>
true

绘图缓冲区具有至少8位的模板缓冲区

antialias boolean <可选>

是否执行抗锯齿

premultipliedAlpha boolean <可选>
true
failIfMajorPerformanceCaveat boolean <可选>

如果系统性能较低,是否创建上下文

preserveDrawingBuffer boolean <可选>

是否将把绘图缓存保留下来,截图需要将该项设置为true

powerPreference string <可选>
"high-performance"

对用户代理的提示,指示GPU的哪种配置适合WebGL上下文,可选值:"default"、"low-power"、"high-performance"

orderIndependentTranslucency boolean <可选>
true

如果为true,并且配置支持它,则使用顺序无关的半透明性。

terrainShadows Cesium.ShadowMode <可选>
Cesium.ShadowMode.RECEIVE_ONLY

确定地形是否投射或接收来自光源的阴影。

requestRenderMode boolean <可选>
false

是否显式渲染,如果为真,渲染帧只会在需要时发生,这是由场景中的变化决定的。启用可以减少你的应用程序的CPU/GPU使用量,并且在移动设备上使用更少的电池,但是需要使用 Scene#requestRender 在这种模式下显式地渲染一个新帧。在许多情况下,在API的其他部分更改场景后,这是必要的。参见 Improving Performance with Explicit Rendering.

maximumRenderTimeChange number <可选>
0.0

如果requestRenderMode为true,这个值定义了在请求渲染之前允许的模拟时间的最大变化。参见 Improving Performance with Explicit Rendering.

depthPlaneEllipsoidOffset number <可选>
0.0

调整DepthPlane以处理椭球体零标高以下的渲染伪影。

msaaSamples number <可选>
1

如果提供,该值控制多样本抗混叠的速率。典型的多采样率是每像素2、4,有时是8个采样。更高的MSAA采样率可能会影响性能,以换取更好的视觉质量。这个值只适用于支持多样本渲染目标的WebGL2上下文。

以下是Cesium.Globe对象相关参数

globe object <可选>

globe地球相关参数

Properties 属性
属性名称 类型 可选 默认值 描述信息
show boolean <可选>
true

是否显示地球

baseColor string <可选>
'#546a53'

地球背景色 ,css颜色值

depthTestAgainstTerrain boolean <可选>
false

是否启用深度监测,可以开启来测试矢量对象是否在地形下面或被遮挡。

showGroundAtmosphere boolean <可选>
true

是否在地球上绘制的地面大气

enableLighting boolean <可选>
false

是否显示晨昏线,可以看到地球的昼夜区域

tileCacheSize number <可选>
100

地形图块缓存的大小,表示为图块数。任何其他只要不需要渲染,就会释放超出此数目的图块这个框架。较大的数字将消耗更多的内存,但显示细节更快例如,当缩小然后再放大时。

realAlt boolean <可选>
false

在测量高度和下侧提示的高度信息中是否将地形夸张倍率后的值转换为实际真实高度值(=拾取值/地形夸张倍率)。

以下是Cesium.ScreenSpaceCameraController对象相关参数

cameraController object <可选>

相机操作相关参数

Properties 属性
属性名称 类型 可选 默认值 描述信息
minimumZoomDistance number <可选>
1.0

相机最近视距,变焦时相机位置的最小量级(以米为单位),默认为1。该值是相机与地表(含地形)的相对距离。

maximumZoomDistance number <可选>
50000000.0

相机最远视距,变焦时相机位置的最大值(以米为单位)。该值是相机与地表(含地形)的相对距离。

zoomFactor number <可选>
3.0

滚轮放大倍数,控制鼠标滚轮操作的步长

minimumCollisionTerrainHeight number <可选>
80000

最小碰撞高度,低于此高度时绕鼠标键绕圈,大于时绕视图中心点绕圈。

constrainedAxis boolean <可选>
true

南北极绕轴心旋转,为false时 解除在南北极区域鼠标操作限制

enableRotate boolean <可选>
true

2D和3D视图下,是否允许用户旋转相机

enableTranslate boolean <可选>
true

2D和哥伦布视图下,是否允许用户平移地图

enableTilt boolean <可选>
true

3D和哥伦布视图下,是否允许用户倾斜相机

enableZoom boolean <可选>
true

是否允许 用户放大和缩小视图

enableCollisionDetection boolean <可选>
true

是否允许 地形相机的碰撞检测

以下是Cesium.Clock时钟相关参数

clock object <可选>

时钟相关参数

Properties 属性
属性名称 类型 可选 默认值 描述信息
currentTime string | Cesium.JulianDate <可选>

当前的时间

multiplier number <可选>
1.0

当前的速度

参考:

mars3d.Map.terrainOptions

地形服务配置

属性:
属性名称 类型 可选 默认值 描述信息
type string | TerrainType <可选>
"xyz"

地形类型

url string | Cesium.Resource

地形服务地址

show boolean <可选>
false

是否启用显示地形

requestVertexNormals boolean <可选>
false

是否应该从服务器请求额外的光照信息,如果可用,以每个顶点法线的形式。

requestWaterMask boolean <可选>
false

是否应该向服务器请求每个瓦的水掩膜(如果有的话)。

requestMetadata boolean <可选>
true

是否应该从服务器请求每个块元数据(如果可用)。

clip boolean <可选>
false

是否默认启用地形开挖,如果后续打开,缓存数据不会裁剪

flat boolean <可选>
false

是否默认启用地形压平

uplift boolean <可选>
false

是否默认启用地形抬升

flood boolean <可选>
false

是否默认启用地形区域材质(淹没,等高线)

参考:

mars3d.Map.thingOptions

添加到地图的 Thing对象(如分析、管理类等) 参数 【提示:仅与地图一对一的类型,非所有Thing类】

属性:
属性名称 类型 可选 描述信息
shadows string <可选>

日照分析, 对应类为:Shadows

sightline string <可选>

通视分析, 对应类为:Sightline

skyline string <可选>

天际线描边, 对应类为:Skyline

cameraHistory string <可选>

相机视角记录及处理类, 对应类为:CameraHistory

rotateOut string <可选>

相机位置不动,对外四周旋转, 对应类为:RotateOut

rotatePoint string <可选>

相机绕 固定中心点 旋转, 对应类为:RotatePoint

firstPersonRoam string <可选>

第一人称贴地漫游, 对应类为:FirstPersonRoam

streetView string <可选>

街景视角模式控制, 对应类为:StreetView

terrainFlat string <可选>

地形压平, 对应类为:TerrainFlat

terrainClip string <可选>

地形开挖, 对应类为:TerrainClip

terrainPlanClip string <可选>

地形开挖(基于clippingPlanes), 对应类为:TerrainPlanClip

terrainUplift string <可选>

地形抬升, 对应类为:TerrainUplift

floodByMaterial string <可选>

淹没分析(基于地球材质), 对应类为:FloodByMaterial

floodByGraphic string <可选>

淹没分析(基于polygon矢量面抬高), 对应类为:FloodByGraphic

underground string <可选>

地下模式, 对应类为:Underground

contourLine string <可选>

等高线, 对应类为:ContourLine

slope string <可选>

坡度坡向分析, 对应类为:Slope

limitHeight string <可选>

模型限高分析, 对应类为:LimitHeight

参考:

mars3d.Map.tokenOptions

覆盖SDK内的Token所有第3方Token默认值

属性:
属性名称 类型 可选 描述信息
tianditu string | Array.<string> <可选>

天地图

gaode string | Array.<string> <可选>

高德

baidu string | Array.<string> <可选>

百度

ion string <可选>

Ion服务

mapbox string <可选>

mapbox地图

bing string <可选>

微软Bing地图