GroupGraphic

new mars3d.graphic.GroupGraphic(options)

group组对象,可用于矢量数据树结构的虚拟节点

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

参数对象,包括以下:

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

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

id string | number createGuid() 可选

矢量数据id标识

name string 可选

矢量数据名称

show boolean true 可选

矢量数据是否显示

eventParent BaseClass | boolean 可选

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

allowDrillPick boolean | function 可选

是否允许鼠标穿透拾取

flyTo boolean 可选

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

flyToOptions object 可选

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

参考:

继承

成员(属性)

allowDrillPick : boolean|function

是否允许鼠标穿透拾取

继承自:

attr : object

属性信息

继承自:

availability : Cesium.TimeIntervalCollection

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

继承自:
使用示例:
// 普通传值方式,多个【建议】
graphic.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)
graphic.availability = [
  { start: 0, stop: 10, isStartIncluded: true, isStopIncluded: false },
  { start:30, duration: 10 } //支持不配置stop,直接配置duration秒数时长
]

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

// cesium原生写法, 多个
graphic.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原生写法,单个
graphic.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, //等于start时,是否显示
  isStopIncluded: false  //等于stop时,是否显示
})

readonly center : Cesium.Cartesian3|Cesium.SampledPositionProperty

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

继承自:

readonly centerPoint : LngLatPoint

中心点坐标

继承自:

readonly czmObject : Cesium.Entity|Cesium.Primitive|Cesium.GroundPrimitive|Cesium.ClassificationPrimitive|*

矢量数据对应的 Cesium内部对象 (不同子类中实现)

继承自:

readonly ellipsoid : Cesium.Ellipsoid

当前地图的ellipsoid

继承自:

enabledEvent : boolean

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

继承自:

readonly fixedFrameTransform : Cesium.Transforms.LocalFrameToFixedFrame

从参考系到所提供椭球体的固定参考系的4x4变换矩阵

继承自:

readonly hasAjaxAttr : boolean

是否 后端动态属性

继承自:

readonly hasAjaxPostion : boolean

是否 后端动态坐标

继承自:

readonly hasChildGraphic : boolean

是否有子矢量对象

readonly hasCluster : boolean

是否支持聚合

继承自:

hasEdit : boolean

是否判断内部是否允许编辑(可外部传入禁用编辑,但不允许编辑的对象传入是无效的)

继承自:

readonly hasEmptyGroup : boolean

是否空组 ,空组目前就矢量对象管理用于矢量对象分组节点(虚拟节点)。

readonly hasOpacity : boolean

是否可以调整透明度

继承自:

readonly id : string|number

对象的id标识

继承自:

readonly isAdded : boolean

是否已添加到图层

继承自:

readonly isCluster : boolean

是否被聚合

继承自:

readonly isDestroy : boolean

是否已经销毁了

继承自:

readonly isPoint : boolean

是否为点状数据 true: 点状,有position坐标 false:线面,有positions坐标

继承自:

readonly isPrivate : boolean

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

继承自:

readonly length : number

子矢量对象的个数

name : string

名称

继承自:

readonly options : object

当前类的构造参数

继承自:

pid : string|number

对象的pid标识

继承自:

show : boolean

显示隐藏状态(属性值)

继承自:

readonly state : State

当前对象的状态

继承自:

style : object

样式信息

继承自:

readonly type : string

矢量数据类型

继承自:

方法

addChildsToMap()GroupGraphic

添加所有子矢量对象到map上

返回值:

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

addEventParent(obj)BaseClass

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

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

父类对象

返回值:

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

继承自:

addGraphic(childgraphic)GroupGraphic

添加子矢量对象,并绑定关联关系。

参数名称 类型 描述信息
childgraphic BaseGraphic | object

子矢量对象对象

返回值:

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

addTo(layer)BaseGraphic|*

添加到图层上,同 layer.addGraphic

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

图层对象

返回值:

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

继承自:

bindContextMenu(content, options)BaseGraphic|*

绑定右键菜单

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

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

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

菜单文字

icon string 可选

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

show function | boolean 可选

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

callback function 可选

菜单项单击后的回调方法

children Array.<object> 可选

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

options object {} 可选

控制参数

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

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

offsetY number 可选

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

返回值:

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

继承自:
使用示例:
graphic.bindContextMenu([
        {
          text: '删除对象',
          icon: 'fa fa-trash-o',
          callback: function (e) {
            let graphic = e.graphic
            if (graphic) {
              graphic.remove()
            }
          },
        },
      ])

bindHighlight(options)void

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

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

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

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

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

返回值:

继承自:

bindPickId(item)BaseGraphic|*

绑定Cesium内部对象进行相关管理。

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

Cesium对象

返回值:

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

继承自:

bindPopup(content, options)BaseGraphic|*

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

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

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

options Popup.StyleOptions 可选

控制参数

返回值:

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

继承自:

bindTooltip(content, options)BaseGraphic|*

绑定鼠标移入的弹窗

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

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

options Tooltip.StyleOptions 可选

控制参数

返回值:

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

继承自:

clearAjaxPostion()void

清除 后端动态坐标

返回值:
继承自:

closeContextMenu()BaseGraphic|*

关闭右键菜单

返回值:

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

继承自:

closePopup()BaseGraphic|*

关闭弹窗

返回值:

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

继承自:

closeSmallTooltip()BaseGraphic|*

关闭小提示窗

返回值:

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

继承自:

closeTooltip()BaseGraphic|*

关闭弹窗

返回值:

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

继承自:

destroy(noDel)void

销毁当前对象

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

false:会自动delete释放所有属性,true:不delete绑定的变量

返回值:

继承自:

eachGraphic(method, context)GroupGraphic

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

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

回调方法

context object 可选

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

返回值:

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

enableControl(value)void

启用或禁用所有内部控件(含tooltip、popup、contextmenu)

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

是否启用

返回值:

继承自:

fire(type, data, propagate)BaseClass

触发指定类型的事件。

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

事件类型

data object 可选

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

propagate BaseClass 可选

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

返回值:

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

继承自:

flyTo(options)Promise.<boolean>

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

参数名称 类型 默认值 描述信息
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

继承自:

async getAjaxAttr()object

获取后端动态属性,当存在attr是动态属性配置时可用【attr.type === "ajax" && attr.url】

返回值:

实时获取当前的动态属性值

继承自:

getAvailabilityJson()Array.<object>

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

返回值:

时间对象列表

继承自:

getAvailabilityShow(time)boolean

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

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

指定时间

返回值:

显示隐藏 状态

继承自:

getContextMenu(hasLayer)Array.<object>

获取绑定的右键菜单数组

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

是获取图层上的右键菜单

返回值:

右键菜单数组

继承自:

getGraphic(name)BaseGraphic|object

根据id或name属性获取矢量对象

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

矢量对象id或name值

返回值:

矢量对象

getGraphicById(id)BaseGraphic|object|*

根据ID或取矢量对象

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

矢量对象id

返回值:

矢量对象

getGraphics()Array.<BaseGraphic>|Array.<object>

获取所有内置子矢量对象对象

返回值:

所有子矢量对象对象

getInMapChilds()Array.<BaseGraphic>|Array.<object>

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

返回值:

所有子矢量对象对象

getMaxHeight()number

获取数据的最大高度

返回值:

高度

继承自:

getPopup()Popup

获取当前对象打开的Popup对象

返回值:

当前对象打开的Popup对象

继承自:

getRealShow(time)boolean

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

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

当前时间,不传时不做availability判断

返回值:

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

继承自:

getRectangle(options)Cesium.Rectangle|object

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

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

控制参数

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

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

onePoint boolean true 可选

一个点位时是否返回边界值

返回值:

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

getTooltip()Tooltip

获取当前对象打开的Tooltip对象

返回值:

当前对象打开的Tooltip对象

继承自:

hasContextMenu(hasLayer)boolean

是否有绑定的右键菜单

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

是否判断图层上的右键菜单

返回值:

是否有绑定

继承自:

hasEventParent(obj)boolean

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

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

父类对象

返回值:

是否绑定了抛出事件

继承自:

hasGraphic(name, excludedGraphic)boolean

是否有同名的子矢量对象,一般用于新增时判断

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

矢量对象名称

excludedGraphic BaseGraphic 可选

可以指定不进行判断的矢量对象,比如当前矢量对象本身

返回值:

是否同名

hasPopup(hasLayer)boolean

是否存在Popup绑定

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

是否判断图层上的Popup

返回值:

是否存在Popup绑定

继承自:

hasTooltip(hasLayer)boolean

是否绑定了tooltip

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

是否判断图层上的tooltip

返回值:

是否绑定

继承自:

isInView(position, options)boolean

判断点坐标是否在球的背面 或当前视域屏幕内

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

坐标

options object 可选

参数

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

是否判断是否在屏幕内,默认不计算判断,可以按需开启

返回值:

是否后端动态坐标

继承自:

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)BaseGraphic|*

打开右键菜单

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

矢量对象 或 显示的位置

返回值:

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

继承自:

openPopup(position, event)BaseGraphic|*

打开绑定的弹窗

参数名称 类型 默认值 描述信息
position LngLatPoint | Cesium.Cartesian3 | Array.<number> | * this.center 可选

矢量对象 或 显示的位置

event object 可选

用于抛出事件时的相关额外属性

返回值:

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

继承自:

openSmallTooltip(position, message)BaseGraphic|*

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

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

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

message *

显示的内容

返回值:

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

继承自:

openTooltip(position, event)BaseGraphic|*

打开绑定的tooltip弹窗

参数名称 类型 默认值 描述信息
position LngLatPoint | Cesium.Cartesian3 | Array.<number> this.center 可选

显示的位置,默认为矢量对象所在点或中心点位置

event object 可选

用于抛出事件时的相关额外属性

返回值:

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

继承自:

remove(hasDestroy)void

从图层上移除,同 layer.removeGraphic

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

是否调用destroy释放

返回值:

继承自:

removeAllGraphic()void

移除所有子矢量对象

返回值:

removeEventParent(obj)BaseClass

移除抛出事件到父类

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

父类对象

返回值:

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

继承自:

removeGraphic(childgraphic)GroupGraphic

移除子矢量对象,并解除关联关系。

参数名称 类型 描述信息
childgraphic BaseGraphic | object

子矢量对象对象

返回值:

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

removeMapChilds()GroupGraphic

将所有子矢量对象从map中移除

返回值:

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

setAjaxPostion(position)boolean

设置后端动态坐标,当存在点状对象是动态属性配置时可用【position.type === "ajax" && position.url)】

参数名称 类型 描述信息
position BaseGraphic.AjaxPosition

动态坐标配置

返回值:

是否后端动态坐标

继承自:

setOpacity(value)void

设置整体透明度(globalAlpha值), 不是所有类型均支持,主要看数据类型和材质类型决定。 对象本身透明度请用 graphic.setStyle({ opacity: value })

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

透明度

返回值:

继承自:

setOptions(options, funOptions)BaseGraphic|*

重新赋值参数,同构造方法参数一致。

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

参数,与类的构造方法参数相同

funOptions object 可选

方法参数

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

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

返回值:

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

继承自:

setStyle(newStyle, funOptions)BaseGraphic|*

设置 样式信息 的钩子方法

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

本次更新的部分样式信息,内部会合并属性

funOptions object 可选

方法参数

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

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

返回值:

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

继承自:

toGeoJSON(options)object

将矢量数据导出为GeoJSON格式规范对象。

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

参数对象:

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

不导出高度值

noStyle boolean 可选

不导出style样式,后期使用时在图层配置symbol

standard boolean 可选

不导出options等mars3d属性,仅导出坐标和attr属性的标准简洁GeoJSON

返回值:

GeoJSON格式规范对象

继承自:

toJSON()object

将矢量数据的坐标、样式及属性等信息导出为对象,可以用于存储。

返回值:

导出的坐标、样式及属性等信息

继承自:

unbindContextMenu(bubbling)BaseGraphic|*

解除绑定的右键菜单

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

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

返回值:

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

继承自:

unbindHighlight()void

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

返回值:

继承自:

unbindPopup(bubbling)BaseGraphic|*

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

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

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

返回值:

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

继承自:

unbindTooltip(bubbling)BaseGraphic|*

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

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

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

返回值:

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

继承自: