GroupLayer

new mars3d.layer.GroupLayer(options)

图层组,可以用于将多个图层组合起来方便控制(比如将 卫星底图 和 文字注记层 放在一起控制管理),或用于 图层管理 的图层分组节点(虚拟节点)。

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

参数对象,包括以下:

参数名称 类型 默认值 描述信息
layers Array.<object> | Array.<BaseLayer> 可选

子图层数组,可传入未实例化的参数,具体配置见各类型图层API即可。

id string | number mars3d.Util.createGuid() 可选

图层id标识

pid string | number 可选

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

name string 可选

图层名称

show boolean true 可选

图层是否显示

eventParent BaseClass | boolean 可选

指定的事件冒泡对象,默认为map对象,false时不冒泡

center object 可选

图层自定义定位视角 Map#setCameraView

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

经度值, -180至180

lat number

纬度值, -90至90

alt number 可选

高度值

heading number 可选

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

pitch number 可选

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

roll number 可选

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

flyTo boolean 可选

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

flyToOptions object 可选

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

继承自

属性值

只读 arrLayer : Array.<BaseLayer>|Array.<GraphicLayer>

子图层对象数组

availability : Cesium.TimeIntervalCollection

指定时间范围内显示该对象 [提示:仅部分子类实现,非所有对象都支持]

继承自:
使用示例:
// 普通传值方式,多个【建议】
layer.availability = [
  { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false },
  { start: "2017-08-25 09:00:00", duration: 10 } //支持不配置stop,直接配置duration秒数时长
]
// 也支持相对时间的 秒数 传值(相对于map.clock.startTime)
layer.availability = [
  { start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
  { start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]

// 普通传值方式,单个
layer.availability = { start: "2017-08-25 08:00:00", stop: "2017-08-25 08:01:20", isStartIncluded: true, isStopIncluded: false }


// cesium原生写法, 多个
layer.availability = new Cesium.TimeIntervalCollection([
  new Cesium.TimeInterval({
    start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
    stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
    isStartIncluded: true,
    isStopIncluded: false
  }),
])

// cesium原生写法,单个
layer.availability = new Cesium.TimeInterval({
  start: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00")),
  stop: Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:20")),
  isStartIncluded: true,
  isStopIncluded: false
})

只读 hasChildLayer : boolean

是否有子图层

只读 hasEmptyGroup : boolean

是否空组 ,空组目前就图层管理用于图层分组节点(虚拟节点)。

只读 hasOpacity : boolean

是否可以调整透明度

只读 hasZIndex : boolean

是否可以调整图层顺序(在同类型图层间)

id : string|number

对象的id标识

继承自:

只读 isAdded : boolean

是否已添加到地图

继承自:

只读 isDestroy : boolean

是否已经销毁了

继承自:

只读 isPrivate : boolean

是否Mars3D内部的私有对象,如标绘拖拽点等

继承自:

只读 length : number

子图层的个数

name : string

名称

继承自:

opacity : number

透明度,取值范围:0.0-1.0

继承自:

pid : string|number

对象的pid标识

继承自:

只读 readyPromise : Promise.<(BaseLayer|object)>

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

继承自:
使用示例:
tiles3dLayer.readyPromise.then(function(layer) {
    console.log("load完成", layer)
  })

show : boolean

显示隐藏状态

继承自:

只读 state : State

当前对象的状态

继承自:

只读 type : string

图层类型

继承自:

zIndex : number

图层顺序,数字大的在上面。(当hasZIndex为true时)

方法

addChildsToMap()GroupLayer

添加所有子图层到map上

返回值:

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

addLayer(childlayer)GroupLayer

添加子图层,并绑定关联关系。

参数名称 类型 描述信息
childlayer BaseLayer | GraphicLayer

子图层对象

返回值:

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

addTo(map)BaseLayer

添加到地图上,同 map.addThing

参数名称 类型 描述信息
map Map

地图对象

返回值:

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

继承自:

bindContextMenu(content, options)BaseGraphicLayer

绑定右键菜单

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

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

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

菜单文字

icon string 可选

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

show function | boolean 可选

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

callback function 可选

菜单项单击后的回调方法

children Array.<object> 可选

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

options object {} 可选

控制参数

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

是否合并一起显示map默认右键菜单

offsetX number 可选

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

offsetY number 可选

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

返回值:

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

继承自:
使用示例:
//在layer上绑定右键菜单
      graphicLayer.bindContextMenu([
        {
          text: '删除对象',
          icon: 'fa fa-trash-o',
          callback: function (e) {
            let graphic = e.graphic
            if (graphic) {
              graphicLayer.removeGraphic(graphic)
            }
          },
        },
        {
          text: '计算长度',
          icon: 'fa fa-medium',
          show: function (e) {
            let graphic = e.graphic
            return graphic.type === 'polyline'
          },
          callback: function (e) {
            let graphic = e.graphic
            let strDis = mars3d.MeasureUtil.formatDistance(graphic.distance)
            alert('该对象的长度为:' + strDis)
          },
        },
      ])

bindHighlight(options)void

绑定鼠标移入或单击后的 对象高亮

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

参数:

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

事件类型,默认为鼠标移入高亮,也可以指定'click'单击高亮。

多个参数 string 可选

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

返回值:

继承自:

bindPopup(content, options)BaseGraphicLayer

绑定鼠标单击对象后的弹窗。

参数名称 类型 描述信息
content string | function

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

options Popup.StyleOptions 可选

控制参数

返回值:

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

继承自:

bindTooltip(content, options)BaseGraphicLayer

绑定鼠标移入的弹窗

参数名称 类型 描述信息
content string | function

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

options Tooltip.StyleOptions 可选

控制参数

返回值:

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

继承自:

closeContextMenu()BaseGraphicLayer

关闭右键菜单

返回值:

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

继承自:

closeHighlight()void

清除已高亮的矢量对象

返回值:

继承自:

closePopup()BaseGraphicLayer

关闭弹窗

返回值:

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

继承自:

closeSmallTooltip()BaseGraphicLayer

关闭小提示窗

返回值:

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

继承自:

closeTooltip()BaseGraphicLayer

关闭弹窗

返回值:

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

继承自:

eachLayer(method, context)GroupLayer

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

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

回调方法

context object 可选

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

返回值:

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

async flyTo(options)Promise.<boolean>

飞行定位至图层数据所在的视角

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

参数对象:

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

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

scale number 1.2 可选

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

heading number 可选

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

pitch number 可选

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

roll number 可选

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

minHeight number 可选

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

maxHeight number 可选

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

height number 可选

矩形区域时的高度值, 默认取地形高度值

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

继承自:

getAvailabilityJson()Array.<object>

获取时间范围的简单对象数组(转为相对map.clock.startTime的相对数字)

返回值:

时间对象列表

继承自:

getAvailabilityShow(time)boolean

获取指定时间下的时序对应的 显示隐藏 状态

参数名称 类型 描述信息
time Cesium.JulianDate

指定时间

返回值:

显示隐藏 状态

继承自:

getContextMenu()Array.<object>

获取绑定的右键菜单数组

返回值:

右键菜单数组

继承自:

getInMapChilds()Array.<BaseLayer>|Array.<GraphicLayer>

获取地图所有的子图层对象(包括pid和id关联的图层)

返回值:

所有子图层对象

getLayer(name)BaseLayer|GraphicLayer

根据id或name属性获取图层

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

图层id或name值

返回值:

图层对象

getLayerById(id)BaseLayer|GraphicLayer|*

根据ID或取图层

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

图层id

返回值:

图层对象

getLayers()Array.<BaseLayer>|Array.<GraphicLayer>

获取所有内置子图层对象

返回值:

所有子图层对象

getRealShow(time)boolean

获取当前对象真实实际的显示状态

参数名称 类型 描述信息
time Cesium.JulianDate

当前时间

返回值:

真实的实时显示状态,当时序范围外,被聚合时返回的是false

继承自:

getRectangle(isFormat)Cesium.Rectangle|object

获取图层内所有数据的 矩形边界值

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

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

返回值:

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

hasContextMenu()boolean

是否有绑定的右键菜单

返回值:

是否有绑定

继承自:

hasLayer(name, excludedLayer)boolean

是否有同名的子图层,一般用于新增时判断

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

图层名称

excludedLayer BaseLayer 可选

可以指定不进行判断的图层,比如当前图层本身

返回值:

是否同名

hasPopup()boolean

是否存在Popup绑定,判断图层及内部所有矢量数据

返回值:

是否存在Popup绑定

继承自:

hasTooltip()boolean

是否绑定了tooltip

返回值:

是否绑定

继承自:

openContextMenu(position)BaseGraphicLayer

打开右键菜单

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

矢量对象 或 显示的位置

返回值:

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

继承自:

openHighlight(graphic, event)void

高亮对象

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

高亮的矢量对,类型支持GraphicType

event object 可选

事件对象

返回值:

继承自:

openPopup(position)BaseGraphicLayer

打开绑定的弹窗

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

矢量对象 或 显示的位置

返回值:

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

继承自:

openSmallTooltip(position, message)BaseGraphicLayer

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

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

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

message *

显示的内容

返回值:

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

继承自:

openTooltip(position)BaseGraphicLayer

打开绑定的tooltip弹窗

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

graphic矢量对象 或 显示的位置

返回值:

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

继承自:

reload()void

重新加载图层

返回值:

remove(destroy)void

从地图上移除,同map.removeThing

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

是否调用destroy释放

返回值:

继承自:

removeAllLayer()void

移除所有子图层

返回值:

removeLayer(childlayer)GroupLayer

移除子图层,并解除关联关系。

参数名称 类型 描述信息
childlayer BaseLayer | GraphicLayer

子图层对象

返回值:

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

removeMapChilds()GroupLayer

将所有子图层从map中移除

返回值:

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

setOptions(options, funOptions)BaseLayer

更新图层参数

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

与类的构造方法参数相同

funOptions object 可选

方法参数

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

是否合并参数, 如是完整覆盖不合并老的options,请传入fasle

返回值:

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

继承自:

toBottom()void

将当前图层在map中层级进行 置底(只对同类型图层间有效)

返回值:

toJSON(options)object

将图层转为Json简单对象,用于存储后再传参加载

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

参数对象:

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

(tileset模型时)导出冗余的完整参数,包含完整position、transform等信息。

noAlt boolean 可选

(矢量图层中)不导出高度值

toNum boolean 可选

(矢量图层中)坐标是time时序坐标时,time值是否转为数字秒数

stopEdit boolean false 可选

(矢量图层中)是否停止绘制或编辑

返回值:

Json简单对象

继承自:

toTop()void

将当前图层在map中层级进行 置顶(只对同类型图层间有效)。

返回值:

unbindContextMenu(bubbling)BaseGraphicLayer

解除绑定的右键菜单

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

单击事件中是否继续冒泡查找

返回值:

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

继承自:

unbindHighlight()void

解绑鼠标移入或单击后的高亮处理

返回值:

继承自:

unbindPopup(bubbling)BaseGraphicLayer

解除绑定的鼠标单击对象后的弹窗。

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

单击事件中是否继续冒泡查找

返回值:

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

继承自:

unbindTooltip(bubbling)BaseGraphicLayer

解除绑定的鼠标移入对象后的弹窗。

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

单击事件中是否继续冒泡查找

返回值:

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

继承自: