# Map
查阅Cesium API

#### new mars3d.Map(id, options)
map/Map.js 51

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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的相关属性、方法，便于序列化

##### 参考:

- `支持的事件类型`

### 继承自

- BaseClass

### 属性值

#### availabilityEnabled : boolean
map/Map.js 776

是否全局启用availability和Task， 如果在编辑场景不想availability、Task生效，仅播放时生效时，可以先手动关闭下，播放时再开启

默认值: `true`

#### basemap : string|number|BaseTileLayer
map/Map.js 424

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

#### 只读 camera : Cesium.Camera
map/Map.js 203

获取相机 Cesium.Camera

#### 只读 canvas : HTMLCanvasElement
map/Map.js 173

获取Canvas画布

#### 只读 cesiumWidget : Cesium.CesiumWidget
map/Map.js 153

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

#### 只读 clock : Cesium.Clock
map/Map.js 243

获取时钟 Cesium.Clock

#### 只读 container : HTMLDivElement
map/Map.js 163

获取地图DOM容器。

#### 只读 contextmenu : ContextMenu
map/Map.js 567

右键菜单控件对象

#### 只读 control : object
map/Map.js 576

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

#### currentTime : Cesium.JulianDate
map/Map.js 251

当前时间

#### 只读 dataSources : Cesium.DataSourceCollection
map/Map.js 223

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

#### 只读 effect : object
map/Map.js 590

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

#### enabledEvent : boolean
core/BaseClass.js 32

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

继承自:
  - BaseClass#enabledEvent

#### 只读 entities : Cesium.EntityCollection
map/Map.js 233

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

#### fixedLight : boolean
map/Map.js 707

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

#### 只读 flyAnimationPromise : Promise.<boolean>
map/Map.js 3554

调用了openFlyAnimation正在进行开场动画的Promise

#### 只读 globe : Cesium.Globe
map/Map.js 193

获取globe球。 Cesium.Scene

#### 只读 graphicLayer : GraphicLayer
map/Map.js 619

默认矢量图层，简单场景时可快捷使用

#### hasTerrain : boolean
map/Map.js 397

是否开启地形

#### highlightEnabled : boolean
map/Map.js 759

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

默认值: `true`

#### 只读 imageryLayers : Cesium.ImageryLayerCollection
map/Map.js 213

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

#### 只读 imageryLayersForClamp : Cesium.ImageryLayerCollection
map/Map.js 790

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

#### 只读 isDrawing : boolean
map/Map.js 640

是否有矢量图层正在绘制状态

#### lang : Lang|Object
map/Map.js 731

使用的语言文本配置

#### 只读 level : number
map/Map.js 654

获取当前地图层级（概略），一般为0-21层

#### 只读 mouseEvent : MouseEvent
map/Map.js 545

获取鼠标事件控制器

#### onlyPickModelPosition : boolean
map/Map.js 506

是否只拾取模型上的点

#### onlyPickTerrainPosition : boolean
map/Map.js 518

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

#### onlyVertexPosition : boolean
map/Map.js 530

是否开启顶点吸附功能，只拾取顶点上的点（仅3D模式下、切相机视角高度低于1000000时有效）

#### 只读 options : object
map/Map.js 84

当前类的构造参数

#### 只读 readyPromise : Promise.<(BaseLayer|object)>
map/Map.js 268

获取地图完成解析加载完成的Promise承诺, 等价于load事件(区别在于load事件必须在load完成前绑定才能监听)。

##### 使用示例:

    map.readyPromise.then(function(map) {
          console.log("load完成", map)
        })

#### 只读 scene : Cesium.Scene
map/Map.js 183

获取场景。 Cesium.Scene

#### templateValues : object
map/Map.js 494

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

#### terrainPromise : Promise.<object>
map/Map.js 360

地形加载是否完成的承诺

#### terrainProvider : Cesium.TerrainProvider|*
map/Map.js 309

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

#### 只读 thing : object
map/Map.js 604

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

#### tilePromise : Promise.<boolean>
map/Map.js 371

当前批次的瓦片加载完成的承诺

#### trackedEntity : Cesium.Entity|BaseEntity|undefined|*
map/Map.js 277

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

#### 只读 viewer : Cesium.Viewer
map/Map.js 144

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

#### zoomFactor : number
map/Map.js 746

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

默认值: `3.0`

### 方法

#### addControl(control, enabledVal) → Map
map/Map.js 2322

添加控件到地图上

参数名称 | 类型 | 描述信息
--- | --- | ---
`control` | BaseControl | 控件对象
`enabledVal` | boolean | 可选 如果传值，覆盖控件的enabled属性

##### 返回值:

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

#### addEffect(effect) → Map
map/Map.js 2429

添加特效对象到地图上

参数名称 | 类型 | 描述信息
--- | --- | ---
`effect` | BaseEffect | 特效对象

##### 返回值:

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

#### addEventParent(obj) → BaseClass
core/BaseClass.js 303

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | object | 父类对象

##### 返回值:

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

继承自:
  - BaseClass#addEventParent

#### addLayer(layer, showVal) → Promise.<(boolean|object)>
map/Map.js 1771

添加图层到地图上

参数名称 | 类型 | 描述信息
--- | --- | ---
`layer` | BaseLayer | 图层对象
`showVal` | boolean | 可选 如果传值，覆盖图层的show属性

##### 返回值:

图层加载完成承诺

#### addThing(item) → Map
map/Map.js 2510

添加Thing对象到地图上

参数名称 | 类型 | 描述信息
--- | --- | ---
`item` | BaseThing | Thing对象

##### 返回值:

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

#### bindContextMenu(content, options) → Map
map/Map.js 3854

绑定地图的默认右键菜单

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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
map/Map.js 2950

停止视角定位等操作

##### 返回值:

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

#### centerAt(cameraView, options) → Promise.<boolean>
map/Map.js 3072

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`cameraView` | object |  | 飞行参数，同 setCameraView 方法
`options` | object | `{}` | 可选 参数对象，同 setCameraView 方法

##### 返回值:

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

#### changeMouseModel(rightTilt) → void
map/Map.js 2745

设置鼠标操作习惯方式。 false：中键旋转，右键拉伸远近（默认）； true：可以设置为右键旋转，中键拉伸远近。

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`rightTilt` | boolean | `false` | 可选 是否右键旋转

##### 返回值:

无

#### clear(hasDestroy) → void
map/Map.js 4073

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`hasDestroy` | boolean | `true` | 可选 是否释放对象

##### 返回值:

无

#### clearPitchRange() → void
map/Map.js 2797

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

##### 返回值:

无

#### closeContextMenu() → Map
map/Map.js 3892

关闭右键菜单

##### 返回值:

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

#### closeHighlight() → void
map/Map.js 3714

清除已高亮的矢量对象

##### 返回值:

无

#### closePopup() → Map
map/Map.js 3789

关闭Popup弹窗

##### 返回值:

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

#### closeSmallTooltip() → Map
map/Map.js 3917

关闭小提示窗

##### 返回值:

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

#### closeTooltip() → Map
map/Map.js 3817

关闭Tooltip弹窗

##### 返回值:

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

#### destroy() → void
map/Map.js 4118

销毁地图

##### 返回值:

无

#### eachControl(method, context, reverse) → Map
map/Map.js 2390

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。
`reverse` | boolean | 可选 是否倒序执行

##### 返回值:

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

#### eachEffect(method, context) → Map
map/Map.js 2477

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

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

#### eachLayer(method, context, reverse) → Map
map/Map.js 1871

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。
`reverse` | boolean | 可选 是否倒序执行

##### 返回值:

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

#### eachThing(method, context, reverse) → Map
map/Map.js 2574

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`method` | function | 回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。
`reverse` | boolean | 可选 是否倒序执行

##### 返回值:

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

#### expImage(options) → Promise.<object>
map/Map.js 1336

截图，导出地图场景图片

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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。其他参数会被忽略。
`domtoimage` | boolean | `true` | 可选 是否导出控件DOM元素，true时需要同时引入了dom-to-image.js （存在window.domtoimage对象）

##### 返回值:

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

#### fire(type, data, propagate) → BaseClass
core/BaseClass.js 199

触发指定类型的事件。

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | EventType | string | 事件类型
`data` | object | 可选 传输的数据或对象，可在事件回调方法中event对象中获取进行使用
`propagate` | BaseClass | 可选 将事件传播给父类 (用addEventParent设置)

##### 返回值:

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

继承自:
  - BaseClass#fire

#### flyHome(options) → void
map/Map.js 3085

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`options` | object | `{}` | 可选 参数对象:
参数名称 | 类型 | 描述信息
--- | --- | ---
`duration` | number | 可选 飞行时间（单位：秒）。如果省略，SDK内部会根据飞行距离计算出理想的飞行时间。

##### 返回值:

无

#### flyTo(target, options) → Promise.<boolean>
map/Map.js 3231

飞行至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>
map/Map.js 3389

相机飞行定位至矩形区域

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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内部会根据飞行距离计算出理想的飞行时间。
`onBefore` | function |  | 可选 飞行前对相关坐标等参数做额外的回调处理，比如目标点做自定义偏移处理。
`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>
map/Map.js 3266

飞行定位到 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内部会根据飞行距离计算出理想的飞行时间。
`onBefore` | function |  | 可选 飞行前对相关坐标等参数做额外的回调处理，比如目标点做自定义偏移处理。
`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>
map/Map.js 3447

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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时异步计算实际高度值后进行定位。
`onBefore` | function | 可选 飞行前对相关坐标等参数做额外的回调处理，比如目标点做自定义偏移处理。
`complete` | function | Cesium.Camera.FlightCompleteCallback | 可选 飞行完成后要执行的函数。
`cancel` | function | 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>
map/Map.js 3334

定位至坐标数组

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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内部会根据飞行距离计算出理想的飞行时间。
`onBefore` | function |  | 可选 飞行前对相关坐标等参数做额外的回调处理，比如目标点做自定义偏移处理。
`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
map/Map.js 2195

获取所有basemps底图图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`removeEmptyGroup` | boolean | `false` | 可选 是否移除 空图层组

##### 返回值:

图层数组

#### getCameraDistance() → number
map/Map.js 1241

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

##### 返回值:

相机到屏幕中心点的距离，单位：米

#### getCameraView(options) → object
map/Map.js 2971

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`options` | object | `{}` | 可选 参数对象:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`simplify` | boolean | `true` | 可选 是否简化，true时不返回roll并无小数，false时返回roll和保留角度1位小数位

##### 返回值:

当前相机视角参数

#### getCenter(toCartesian) → LngLatPoint|Cesium.Cartesian3|object|undefined
map/Map.js 1219

取地图屏幕中心点坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`toCartesian` | object | 可选 返回Cesium.Cartesian3格式坐标

##### 返回值:

屏幕中心点坐标

#### getContextMenu() → Array.<object>
map/Map.js 3829

获取绑定的右键菜单数组

##### 返回值:

右键菜单数组

#### getControl(attrValue, attrName) → BaseControl
map/Map.js 2401

根据指定属性获取控件

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | string | number | boolean |  | 类型名称 或 属性值
`attrName` | string | `'type'` | 可选 属性键，默认type

##### 返回值:

控件对象

#### getCurrentMousePosition(position) → Cesium.Cartesian3
map/Map.js 1210

获取 屏幕XY坐标 对应的 笛卡尔三维坐标

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | Cesium.Cartesian2 | 屏幕XY坐标（如鼠标所在位置)

##### 返回值:

笛卡尔三维坐标

#### getDefaultContextMenu() → Array.<object>
map/Map.js 1201

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

##### 返回值:

右键菜单

#### getEffect(key, attrName) → BaseEffect
map/Map.js 2466

根据指定属性获取Thing对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`key` | string | EffectType | * |  | 类型值 或 属性值
`attrName` | string | `'type'` | 可选 属性名称，默认是type

##### 返回值:

Thing对象

#### getExtent(options) → object
map/Map.js 1262

提取地球当前视域边界,示例：{ 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
map/Map.js 1233

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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
map/Map.js 2670

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`key` | string | 文本key

##### 返回值:

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

#### getLayer(attrValue, attrName) → BaseLayer|*
map/Map.js 1882

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | string | number |  | 属性值
`attrName` | string | `'id'` | 可选 属性键

##### 返回值:

图层对象

#### getLayerByAttr(attrValue, attrName) → BaseLayer|*
map/Map.js 1945

根据指定属性获取图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | string | number |  | 属性值
`attrName` | string | `'id'` | 可选 属性键

##### 返回值:

图层对象

#### getLayerById(id) → BaseLayer|*
map/Map.js 1897

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`id` | string | number | 图层id

##### 返回值:

图层对象

#### getLayers(options) → Array.<BaseLayer>|Array
map/Map.js 2006

获取所有图层

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 可选 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`basemaps` | boolean | `false` | 可选 默认不比较及处理，true:返回所有basemps中配置图层，false：排除所有所有basemps中配置图层[但已加到map的除外]
`layers` | boolean | `false` | 可选 默认不比较及处理，true:返回所有operationallayers中配置图层，false：排除所有operationallayers中配置图层[但已加到map的除外]
`childs` | boolean | `true` | 可选 是否获取GroupLayer内的已经实例化的子图层[没有加到map的图层不会去读取内部子图层]
`filter` | function |  | 可选 筛选方法，方法体内返回false时排除数据 filter:function(feature){return true}

##### 返回值:

图层数组

#### getLayersByAttr(attrValue, attrName) → Array.<BaseLayer>|*
map/Map.js 1972

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | string | number |  | 属性值
`attrName` | string | `'id'` | 可选 属性键

##### 返回值:

图层对象列表

#### getLayrsTree(options) → object
map/Map.js 2068

获取所有图层的配置信息，通常用于配置图层树

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | object | 可选 参数对象，包括以下：
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`filter` | function |  | 可选 筛选方法，方法体内返回false时排除数据 filter:function(feature){return true}
`forEach` | function |  | 可选 递归调用图层配置信息，可以对导出的图层数据进行格式化或转换键值操作
`autoGroup` | function | string |  | 可选 自动分组(string时指定属性进行分组，比如传 autoGroup:"type")，注意：如果map有group图层时，该参数无效。
`basemaps` | boolean | `false` | 可选 默认不比较及处理，true:返回所有basemps中配置图层，false：排除所有所有basemps中配置图层[但已加到map的除外]
`childs` | boolean | `true` | 可选 是否获取GroupLayer内的已经实例化的子图层, 但没有加到map的图层不会去读取内部子图层

##### 返回值:

返回值包括 { list: [id与pid关联的原始数组], tree: [按children组织好的上下级树数组]}

#### getNextLayerId() → number
map/Map.js 1756

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

##### 返回值:

图层ID

#### getRealAlt(alt) → number
map/Map.js 1311

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`alt` | number | 鼠标拾取的高度值

##### 返回值:

其实际的高度值

#### getResolution() → number
map/Map.js 674

获取当前 resolution分辨率，单位：米 （根据屏幕左侧到右侧的距离概略测算）

##### 返回值:

resolution分辨率

#### getThing(attrValue, attrName) → BaseThing
map/Map.js 2586

根据指定属性获取Thing对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`attrValue` | string | number | boolean |  | 属性值
`attrName` | string | `'id'` | 可选 属性名称

##### 返回值:

Thing对象

#### getTileLayers() → Array.<BaseTileLayer>|Array
map/Map.js 2215

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

##### 返回值:

图层数组

#### getTimeTaskList() → TimeTaskListResult
map/Map.js 3958

获取当前地图下时序相关列表 1.subtitles：字幕控件列表； 2.task：任务列表； 3.availability：所有 图层、矢量对象、特效 绑定的availability；

##### 返回值:

时序列表返回对象

#### hasControl(control) → boolean
map/Map.js 2378

是否有指定的控件存在（就是已经addControl的控件）

参数名称 | 类型 | 描述信息
--- | --- | ---
`control` | BaseControl | string | 指定的控件或控件ID

##### 返回值:

是否存在

#### hasEventParent(obj) → boolean
core/BaseClass.js 330

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | object | 父类对象

##### 返回值:

是否绑定了抛出事件

继承自:
  - BaseClass#hasEventParent

#### hasLayer(layer) → boolean
map/Map.js 1852

是否有指定的图层存在（就是已经addLayer的图层）

参数名称 | 类型 | 描述信息
--- | --- | ---
`layer` | string | number | BaseLayer | 指定的图层或图层ID

##### 返回值:

是否存在

#### hasThing(thing) → boolean
map/Map.js 2562

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`thing` | BaseThing | string | 指定的Thing对象或Thing对象ID

##### 返回值:

是否存在

#### isHighlighting(target) → void
map/Map.js 3703

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`target` | object | 判断的高亮的对象（如graphic或layer等）

##### 返回值:

无

#### listens(type, propagate) → boolean
core/BaseClass.js 253

是否有绑定指定的事件

参数名称 | 类型 | 描述信息
--- | --- | ---
`type` | EventType | string | 事件类型
`propagate` | BaseClass | 可选 是否判断指定的父类 (用addEventParent设置的)

##### 返回值:

是否存在

继承自:
  - BaseClass#listens

#### off(types, fn, context) → BaseClass
core/BaseClass.js 96

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | string | EventType | Array.<string> | Array.<EventType> | 可选 事件类型，tip:多个事件也可以数组或空格间隔的字符串 , 传入空值时解绑所有事件
`fn` | function | 可选 绑定的监听器回调方法,未传值时解绑所有指定类型对应事件，特殊说明：map.on监听的Cesium相关原生事件时必须传入该参数
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

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

继承自:
  - BaseClass#off

#### on(types, fn, context) → BaseClass
core/BaseClass.js 66

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | string | EventType | Array.<string> | Array.<EventType> | 事件类型，tip:多个事件也可以数组或空格间隔的字符串
`fn` | function | 绑定的监听器回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

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

继承自:
  - BaseClass#on

#### once(types, fn, context) → BaseClass
core/BaseClass.js 280

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`types` | EventType | string | Array.<EventType> | 事件类型
`fn` | function | 绑定的监听器回调方法
`context` | object | 可选 侦听器的上下文(this关键字将指向的对象)。

##### 返回值:

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

继承自:
  - BaseClass#once

#### openContextMenu(position) → Map
map/Map.js 3878

打开右键菜单

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | Cesium.Cartesian3 | LngLatPoint | 可选 显示的位置

##### 返回值:

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

#### openFlyAnimation(options) → Promise.<boolean>
map/Map.js 3571

执行开场动画，动画播放地球飞行定位到指定区域（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
map/Map.js 3738

高亮矢量对象

参数名称 | 类型 | 描述信息
--- | --- | ---
`graphic` | BaseGraphic | * | 矢量对象
`highlightStyle` | object | 高亮的样式，具体见各`GraphicType`矢量数据的style参数。
`event` | object | 可选 鼠标事件对象

##### 返回值:

无

#### openPopup(position, content, options) → Map
map/Map.js 3777

打开Popup弹窗

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | LngLatPoint | Cesium.Cartesian3 | Array.<number> | 矢量对象 或 显示的位置
`content` | string | function | BaseGraphic | BaseGraphicLayer | 弹窗内容html字符串，或者 回调方法 或者矢量对象/图层。
`options` | Popup.StyleOptions | 可选 配置参数

##### 返回值:

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

#### openSmallTooltip(position, message) → Map
map/Map.js 3907

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | Cesium.Cartesian2 | Cesium.Cartesian3 | 显示的屏幕坐标位置 或 笛卡尔坐标位置
`message` | * | 显示的内容

##### 返回值:

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

#### openTooltip(position, content, options) → Map
map/Map.js 3804

打开Tooltip弹窗

参数名称 | 类型 | 描述信息
--- | --- | ---
`position` | LngLatPoint | Cesium.Cartesian3 | Array.<number> | 矢量对象 或 显示的位置
`content` | string | function | 弹窗内容html字符串，或者 回调方法
`options` | Tooltip.StyleOptions | 可选 配置参数

##### 返回值:

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

#### pauseCameraViewList() → void
map/Map.js 3138

暂停执行 setCameraViewList

##### 返回值:

无

#### pick3DTileset(positions) → Cesium.Cesium3DTileset|undefined
map/Map.js 1370

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`positions` | Cesium.Cartesian3 | Array.<Cesium.Cartesian3> | 坐标 或 坐标数组

##### 返回值:

3dtiles模型对象

#### pickTilesetLayer(positions) → TilesetLayer|undefined
map/Map.js 1380

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`positions` | Cesium.Cartesian3 | Array.<Cesium.Cartesian3> | 坐标 或 坐标数组

##### 返回值:

3dtiles模型图层

#### proceedCameraViewList() → void
map/Map.js 3146

继续执行 setCameraViewList

##### 返回值:

无

#### removeControl(control, hasDestroy) → Map
map/Map.js 2354

移除控件

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`control` | BaseControl |  | 需要移除的控件
`hasDestroy` | boolean | `false` | 可选 是否释放

##### 返回值:

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

#### removeEffect(effect, hasDestroy) → Map
map/Map.js 2452

移除特效对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`effect` | BaseEffect |  | 需要移除的特效对象
`hasDestroy` | boolean | `false` | 可选 是否释放

##### 返回值:

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

#### removeEventParent(obj) → BaseClass
core/BaseClass.js 316

移除抛出事件到父类

参数名称 | 类型 | 描述信息
--- | --- | ---
`obj` | object | 父类对象

##### 返回值:

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

继承自:
  - BaseClass#removeEventParent

#### removeLayer(layer, hasDestroy) → Map
map/Map.js 1816

移除图层

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`layer` | BaseLayer |  | 需要移除的图层
`hasDestroy` | boolean | `false` | 可选 是否释放 destroy

##### 返回值:

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

#### removeThing(item, hasDestroy) → Map
map/Map.js 2535

移除Thing对象

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`item` | BaseThing |  | 需要移除的Thing对象
`hasDestroy` | boolean | `false` | 可选 是否释放

##### 返回值:

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

#### rotateAnimation(options) → Promise.<boolean>
map/Map.js 3636

执行旋转地球动画

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`options` | object | `{}` | 可选 参数对象:
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`duration` | number | `10` | 可选 动画时长（单位：秒）
`center` | object | `getCameraView()` | 可选 飞行到的指定区域视角参数

##### 返回值:

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

#### setBasemapsOptions(arr, reload) → Array.<BaseLayer>
map/Map.js 1628

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`arr` | Array.<Map.basemapOptions> |  | 底图图层配置
`reload` | boolean | `true` | 可选 是否重新构造

##### 返回值:

图层数组

#### setCameraView(cameraView, options) → Promise.<boolean>
map/Map.js 2999

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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
map/Map.js 3124

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

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`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
map/Map.js 1345

设置鼠标的默认状态样式

参数名称 | 类型 | 描述信息
--- | --- | ---
`val` | string | 可选 cursor样式

##### 返回值:

无

#### setHeading(heading, options) → Promise.<boolean>
map/Map.js 2934

设置相机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
map/Map.js 2680

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`key` | string | object | 文本key ，如果是object时更新对应的多个键值对
`text` | string | 文本内容

##### 返回值:

#### setLayersOptions(arr, funOptions) → Array.<BaseLayer>
map/Map.js 1701

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`arr` | Array.<Map.layerOptions> | 可以叠加显示的图层配置
`funOptions` | object | 可选 方法参数
参数名称 | 类型 | 描述信息
--- | --- | ---
`filter` | function | 可选 过滤图层，方法体内返回false时排除图层不更新 filter:function(feature){return true}

##### 返回值:

图层数组

#### setOptions(newOptions, funOptions) → Map
map/Map.js 926

设置Map所有参数构造参数

参数名称 | 类型 | 描述信息
--- | --- | ---
`newOptions` | object | 新的构造参数
`funOptions` | object | 可选 方法参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`merge` | boolean | `true` | 可选 是否合并参数, 如是完整覆盖不合并老的options，请传入fasle
`filterLayer` | function |  | 可选 过滤图层，方法体内返回false时排除图层不更新 filter:function(feature){return true}

##### 返回值:

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

#### setPitch(pitch, options) → Promise.<boolean>
map/Map.js 2911

设置相机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
map/Map.js 2818

设置鼠标操作限定的Pitch范围 建议: 也可以用 map.scene.screenSpaceCameraController.maximumTiltAngle = Cesium.Math.toRadians(90) //90-max

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`max` | number |  | 最大值（角度值）
`min` | number | `-90` | 可选 最小值（角度值）

##### 返回值:

无

#### setSceneOptions(options, funOptions) → Map
map/Map.js 1085

设置Scene场景参数

参数名称 | 类型 | 描述信息
--- | --- | ---
`options` | Map.sceneOptions | 参数
`funOptions` | object | 可选 方法参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`merge` | boolean | `true` | 可选 是否合并参数, 如是完整覆盖不合并老的options，请传入fasle

##### 返回值:

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

#### toJSON(funOptions) → object
map/Map.js 1106

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

参数名称 | 类型 | 描述信息
--- | --- | ---
`funOptions` | object | 可选 方法参数
参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`eachLayer` | function |  | 可选 导出图层，循环图层
`stopEdit` | boolean | `false` | 可选 (矢量图层中)是否停止绘制或编辑

##### 返回值:

地图的配置参数

#### unbindContextMenu() → Map
map/Map.js 3866

解除绑定的右键菜单

##### 返回值:

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

#### zoomIn(delta, mandatory) → boolean
map/Map.js 2716

放大地图

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`delta` | number | `2` | 可选 缩放的相对量，0-100
`mandatory` | boolean |  | 可选 是否强制更新，忽略screenSpaceCameraController的enableInputs/enableZoom限制

##### 返回值:

是否有移动位置

#### zoomOut(delta, mandatory) → boolean
map/Map.js 2730

缩小地图

参数名称 | 类型 | 默认值 | 描述信息
--- | --- | --- | ---
`delta` | number | `2` | 可选 缩放的相对量，0-100
`mandatory` | boolean |  | 可选 是否强制更新，忽略screenSpaceCameraController的enableInputs/enableZoom限制

##### 返回值:

是否有移动位置

### 定义的类型

#### mars3d.Map.basemapOptions
map/Map.js 4512

底图图层配置

##### 属性:

属性名称 | 类型 | 可选 | 描述信息
--- | --- | --- | ---
`type` | string | LayerType |  | 图层类型
`多个参数` | * | <可选> | 每种不同type都有自己的不同属性，具体参考`LayerType`找到type对应的BaseTileLayer子类图层类,查看其构造参数

##### 参考:

- LayerType

#### mars3d.Map.controlOptions
map/Map.js 4331

添加到地图的控件 参数

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`toolbar` | object | <可选> |  | 钮栏工具栏 位置等相关配置，对应 `Toolbar`构造参数
`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`构造参数
`subtitles` | object | <可选> |  | 字幕, 对应`Subtitles`构造参数
`mouseDownView` | boolean | <可选> |  | 鼠标滚轮缩放美化样式(指示图标), 对应 `MouseDownView`构造参数
`infoBox` | boolean | <可选> | true | 信息面板，是否显示点击要素之后显示的信息，是Cesium原生控件
`selectionIndicator` | boolean | <可选> | true | 选中框，是否显示选择模型时的绿色框，是Cesium原生控件
`showRenderLoopErrors` | boolean | <可选> | true | 是否显示WebGL渲染错误弹窗，如果正式部署系统中可以关闭，有错误时看F12控制台排查问题即可。
`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 | 延迟缓存的时间，单位：毫秒

##### 参考:

- ControlType

#### mars3d.Map.effectOptions
map/Map.js 4440

添加到地图的特效 参数

##### 属性:

属性名称 | 类型 | 可选 | 描述信息
--- | --- | --- | ---
`bloom` | object | <可选> | 泛光,对应`Bloom`构造参数
`brightness` | object | <可选> | 亮度,对应`Brightness`构造参数
`rain` | object | <可选> | 雨天气,对应`Rain`构造参数
`snow` | object | <可选> | 雪天气 ,对应`Snow`构造参数
`snowCover` | object | <可选> | 地面积雪,对应`SnowCover`构造参数
`fog` | object | <可选> | 雾天气,对应`Fog`构造参数
`depthOfField` | object | <可选> | 景深,对应`DepthOfField`构造参数
`mosaic` | object | <可选> | 马赛克,对应`Mosaic`构造参数
`nightVision` | object | <可选> | 夜视,对应`NightVision`构造参数
`blackAndWhite` | object | <可选> | 黑白,对应`BlackAndWhite`构造参数
`outline` | object | <可选> | 对象轮廓描边,对应`Outline`构造参数
`bloomTarget` | object | <可选> | 对象泛光,对应`BloomTarget`构造参数
`colorCorrection` | string | <可选> | 颜色校正 特效,对应类为：`ColorCorrection`构造参数

##### 参考:

- EffectType

#### mars3d.Map.EventType
map/Map.js 4553

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)
    })

##### 参考:

- BaseClass#on
- BaseClass#off

#### mars3d.Map.layerOptions
map/Map.js 4522

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

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`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对应的图层类,查看其构造参数

##### 参考:

- LayerType

#### mars3d.Map.methodOptions
map/Map.js 4391

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

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`chinaCRS` | ChinaCRS | string | <可选> | "WGS84" | 标识当前地图的国内坐标系（用于部分图层内对比判断来自动纠偏或加偏），只能初始化传入
`lang` | object | Lang | <可选> |  | 使用的语言文本键值对对象，可传入外部自定义的任意语言文本。
`templateValues` | object | <可选> |  | 图层中统一的url模版，比如可以将服务url前缀统一使用模板，方便修改或动态配置
`fixedLight` | boolean | <可选> | false | 是否固定光照，true：可避免gltf、3dtiles模型随时间存在亮度不一致
`basemap` | number | string | <可选> |  | 默认选中的底图id或name ，同 map.basemap="1987"
`hasTerrain` | boolean | <可选> |  | 默认是否显示地形，同 map.hasTerrain=false
`onlyPickModelPosition` | boolean | <可选> | false | 是否只拾取模型上的点
`onlyPickTerrainPosition` | boolean | <可选> | false | 是否只拾取地形上的点，忽略模型和矢量数据
`onlyVertexPosition` | boolean | <可选> | false | 是否开启顶点吸附功能，只拾取顶点上的点
`availabilityEnabled` | boolean | <可选> | true | 是否全局启用availability和Task， 如果在编辑场景不想availability、Task生效，仅播放时生效时，可以先手动关闭下，播放时再开启 //下面是方法
`token` | Map.tokenOptions | <可选> |  | 覆盖SDK内的`Token`所有第3方Token默认值, 同`Token#.updateAll`
`cursor` | string | <可选> | "" | 设置鼠标的默认状态cursor样式, 同`Map#setCursor`
`changeMouseModel` | boolean | <可选> | false | 设置鼠标操作习惯方式。 false：中键旋转，右键拉伸远近（默认）；true：可以设置为右键旋转，中键拉伸远近。, 同`Map#changeMouseModel`
`setPitchRange` | object | boolean | <可选> |  | 设置鼠标操作限定的Pitch范围, 同`Map#setPitchRange` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`max` | number |  |  | 最大值（角度值）
`min` | number | <可选> | -90 | 最小值（角度值）
`enabled` | boolean | <可选> | true | 开启或开关控制，默认是开启的
`setCameraViewList` | object | boolean | <可选> |  | 定位到多个相机视角位置，按数组顺序播放, 同`Map#setCameraViewList` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`list` | Array.<object> |  |  | arr 视角参数数组, 内部参数见`Map#setCameraViewList`
`maximumHeight` | number | <可选> |  | 飞行高峰时的最大高度。
`pitchAdjustHeight` | number | <可选> |  | 如果相机飞得比这个值高，在飞行过程中调整俯仰以向下看，并保持地球在视口。
`flyOverLongitude` | number | <可选> |  | 地球上的两点之间总有两条路。这个选项迫使相机选择战斗方向飞过那个经度。
`flyOverLongitudeWeight` | number | <可选> |  | 仅在通过flyOverLongitude指定的lon上空飞行，只要该方式的时间不超过flyOverLongitudeWeight的短途时间。
`convert` | boolean | <可选> | true | 是否将目的地从世界坐标转换为场景坐标（仅在不使用3D时相关）。
`enabled` | boolean | <可选> | true | 开启或开关控制，默认是开启的
`openFlyAnimation` | object | boolean | <可选> |  | 执行开场动画，动画播放地球飞行定位到指定区域（1.旋转地球+2.降低高度+3.指定视角）, 同`Map#openFlyAnimation` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`center` | object | <可选> | getCameraView() | 飞行到的指定区域视角参数
`duration1` | number | <可选> | 2 | 第一步旋转地球时长，单位：秒
`duration2` | number | <可选> | 2 | 第二步降低高度时长，单位：秒
`duration3` | number | <可选> | 2 | 第三步指定视角飞行时长，单位：秒
`enabled` | boolean | <可选> | true | 开启或开关控制，默认是开启的
`rotateAnimation` | object | boolean | <可选> |  | 执行旋转地球动画, 同`Map#rotateAnimation` ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`duration` | number | <可选> | 10 | 动画时长（单位：秒）
`center` | object | <可选> | getCameraView() | 飞行到的指定区域视角参数
`enabled` | boolean | <可选> | true | 开启或开关控制，默认是开启的

#### mars3d.Map.mouseOptions
map/Map.js 4378

鼠标操作相关配置 参数

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`enabledMoveTarget` | boolean | <可选> | true | 是否开启鼠标移动事件的拾取矢量数据
`moveDelay` | number | <可选> | 30 | 鼠标移动事件的延迟毫秒数
`pickWidth` | number | <可选> | 4 | 拾取时所选矩形的宽度，单位：像素
`pickHeight` | number | <可选> | 4 | 拾取时所选矩形的高度，单位：像素
`pickLimit` | number | <可选> | 9 | 在允许allowDrillPick穿透拾取时，限制拾取的对象个数。

##### 参考:

- MouseEvent

#### mars3d.Map.sceneOptions
map/Map.js 4190

场景参数

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`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` | string | <可选> |  | 当背景色、背景图片、天空盒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 模式。
`sceneModeMorphDuration` | number | <可选> | 0 | 切换sceneMode的动画时长，单位：秒
`scene3DOnly` | boolean | <可选> | false | 为 true 时，每个几何实例将仅以3D渲染以节省GPU内存。
`mapProjection` | Cesium.MapProjection | CRS | <可选> | 'EPSG:3857' | 在二维模式下时，地图的呈现地理坐标还是墨卡托投影坐标系，可选值：'EPSG:4326'、'EPSG:3857'
`mapMode2D` | Cesium.MapMode2D | <可选> | Cesium.MapMode2D.INFINITE_SCROLL | 在二维模式下时，地图是可旋转的还是可以在水平方向无限滚动。
`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.
`blurActiveElementOnCanvasFocus` | boolean | <可选> | true | 控制当用户点击或悬停在Viewer的画布上时，是否将焦点从当前DOM元素中移出。如果设置为true，则会自动将焦点从当前的DOM元素中移开，以便Viewer可以接收键盘事件和鼠标事件。这个属性对于在Web应用程序中使用Viewer时很有用，因为用户可能需要与其他DOM元素进行交互，例如输入文本或单击按钮。如果不把焦点从当前元素移开，用户将不能使用键盘或鼠标来与Viewer进行交互。需要注意的是，默认情况下，此属性被设置为true，因此当用户点击或悬停在Viewer的画布上时，焦点将会自动从当前的DOM元素中移开。如果您想要保留焦点，请将该属性设置为false。
`depthPlaneEllipsoidOffset` | number | <可选> | 0.0 | 可以指定深度测试平面相对于椭球体表面的偏移量。这个属性通常用于解决多个三维模型重叠时出现的Z-fighting问题，即两个或多个物体处于同一深度位置，导致图像闪烁或不清晰。
`msaaSamples` | number | <可选> | 4 | 如果提供，该值控制多样本抗混叠的速率。典型的多采样率是每像素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 | 是否显示晨昏线，可以看到地球的昼夜区域
`realAlt` | boolean | <可选> | false | 在测量高度和下侧提示的高度信息中是否将地形夸张倍率后的值转换为实际真实高度值(=拾取值/地形夸张倍率)。
`maximumScreenSpaceError` | number | <可选> | 2 | 用于驱动细节细化级别的最大屏幕空间误差。值越高，性能越好，但视觉质量越低。
`tileCacheSize` | number | <可选> | 100 | 地形图块缓存的大小，表示为图块数。任何其他只要不需要渲染，就会释放超出此数目的图块这个框架。较大的数字将消耗更多的内存，但显示细节更快例如，当缩小然后再放大时。
`loadingDescendantLimit` | number | <可选> | 20 | 获取或设置被视为'太多'的加载后代切片的数量。如果某个图块的加载后代过多，则该图块将在任何它的后代将被加载和渲染。这意味着更多的反馈给用户以较长的整体加载时间为代价进行操作。设置为0将导致每个要连续加载的图块级别，显着增加了加载时间。设置大数量（例如1000）将最大限度地减少已加载但易于生成的图块数量经过漫长的等待，细节立即全部出现。
`preloadAncestors` | boolean | <可选> | true | 是否应预加载渲染图块的祖先。将此设置为true可优化缩小体验，并在平移时新暴露的区域。缺点是需要加载更多的图块。
`preloadSiblings` | boolean | <可选> | false | 是否应预加载渲染图块的同级。将此设置为true会导致加载与渲染图块具有相同父级图块的图块，即使如果他们被淘汰。将此设置为true可能会提供更好的平移体验加载更多瓷砖的成本。
`showWaterEffect` | boolean | <可选> | true | 如果应在全球范围内显示动画波浪效果，则为true被水覆盖；否则为假。如果 terrainProvider 不提供水面罩。
`showSkirts` | boolean | <可选> | true | 是否显示地形裙。地形裙是从瓷砖边缘向下延伸的几何形状，用于隐藏相邻瓷砖之间的接缝。当相机位于地下或启用半透明时，总是隐藏的。
`backFaceCulling` | boolean | <可选> | true | 是否淘汰后向地形。当相机位于地下或启用半透明时，背面不会被剔除。
`vertexShadowDarkness` | number | <可选> | 0.3 | 确定顶点阴影的暗度。这仅在`enableLighting`为`true</code]时生效。`
`atmosphereBrightnessShift` | number | <可选> | 0 | 亮度变化适用于大气。默认为0.0（无移位）。-1.0的亮度偏移是完全黑暗，这将使空间显示出来。
`atmosphereHueShift` | number | <可选> | 0 | 色调变化适用于大气。默认为0.0（无移位）。色相偏移1.0表示可用色相完全旋转。
`atmosphereSaturationShift` | number | <可选> | 0 | 饱和度偏移将应用于大气。默认为0.0（无移位）。-1.0的饱和度偏移是单色的。
`lightingFadeInDistance` | number | <可选> | pi * ellipsoid.minimumRadius | 恢复照明的距离。这只会当 enableLighting 或 showGroundAtmosphere 为 true 时生效。
`lightingFadeOutDistance` | number | <可选> | 1/2 * pi * ellipsoid.minimumRadius | 一切都变亮的距离。这只会当 enableLighting 或 showGroundAtmosphere 为 true 时生效。
`nightFadeInDistance` | number | <可选> | 5/2 * pi * ellipsoid.minimumRadius | 夜晚的黑暗从地面大气逐渐消失到昏暗的地面大气的距离。这只会当 enableLighting 或 showGroundAtmosphere 为 true 时生效。
`nightFadeOutDistance` | number | <可选> | 1/2 * pi * ellipsoid.minimumRadius | 夜晚的黑暗从地面大气逐渐消失到明亮的地面大气的距离。这只会当 enableLighting 或 showGroundAtmosphere 为 true 时生效。 以下是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 | 是否允许 地形相机的碰撞检测
`maximumTiltAngle` | number | <可选> |  | 这个角度，相对于椭球法线，限制了用户可以倾斜相机的最大值。如果`undefined`，则相机倾斜的角度不受限制。 以下是Cesium.Clock时钟相关参数
`clock` | object | <可选> |  | 时钟相关参数 ###### Properties 属性
属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`shouldAnimate` | boolean | <可选> | true | 是否开启时钟动画
`multiplier` | number | <可选> | 1.0 | 当前的速度
`currentTime` | string | Cesium.JulianDate | <可选> |  | 当前的时间
`startTime` | string | Cesium.JulianDate | <可选> |  | 当前的时间
`stopTime` | string | Cesium.JulianDate | <可选> |  | 当前的时间
`clockRange` | number | Cesium.ClockRange | <可选> |  | 设定全局时钟播放的模式，可以设置到达终点后停止或循环播放

##### 参考:

- Cesium.Scene

#### mars3d.Map.terrainOptions
map/Map.js 4492

地形服务配置

##### 属性:

属性名称 | 类型 | 可选 | 默认值 | 描述信息
--- | --- | --- | --- | ---
`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 | 是否默认启用地形区域材质(淹没，等高线)

##### 参考:

- TerrainType

#### mars3d.Map.thingOptions
map/Map.js 4461

添加到地图的 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`
`keyboardRoam` | string | <可选> | 键盘漫游, 对应类为：`KeyboardRoam`
`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`
`task` | string | <可选> | 时序任务执行管理器, 对应类为：`Task`

##### 参考:

- ThingType

#### mars3d.Map.tokenOptions
map/Map.js 4542

覆盖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地图