BasePolyEntity

new mars3d.graphic.BasePolyEntity(options)

多个坐标的线面状 Entity矢量数据 基类

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

参数对象,包括以下:

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

坐标位置

style object

矢量数据的 样式信息,具体见各类数据的说明

attr object 可选

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

availability Cesium.TimeIntervalCollection | Cesium.TimeInterval | Array | object 可选

指定时间范围内显示该对象

description Cesium.Property | string 可选

指定此实体的HTML描述的字符串属性(infoBox中展示)。

viewFrom Cesium.Property 可选

观察这个物体时建议的初始偏移量。

parent Cesium.Entity 可选

要与此实体关联的父实体。

onBeforeCreate function 可选

在 new Cesium.Entity(addattr) 前的回调方法,可以对addattr做额外个性化处理。

minPointNum number 2 可选

绘制时,至少需要点的个数

maxPointNum number 9999 可选

绘制时,最多允许点的个数

validDrawPosition function 可选

绘制时,外部自定义校验坐标,比如判断限定在指定区域内绘制。

hasDrawDelPoint boolean true 可选

绘制时,是否可以右键删除点

hasEdit boolean true 可选

是否允许编辑

hasEditContextMenu boolean true 可选

编辑时,是否绑定右键编辑菜单

hasMoveEdit boolean true 可选

编辑时,是否可以整体平移

hasHeightEdit boolean true 可选

编辑时,当有diffHeight时,是否可以编辑高度

popup string | Array | function 可选

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

popupOptions Popup.StyleOptions 可选

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

tooltip string | Array | function 可选

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

tooltipOptions Tooltip.StyleOptions 可选

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

contextmenuItems object 可选

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

id string | number createGuid() 可选

矢量数据id标识

name string '' 可选

矢量数据名称

show boolean true 可选

矢量数据是否显示

eventParent BaseClass | boolean 可选

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

allowDrillPick boolean | function 可选

是否允许鼠标穿透拾取

flyTo boolean 可选

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

flyToOptions object 可选

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

参考:

继承

成员(属性)

allowDrillPick : boolean|function

是否允许鼠标穿透拾取

继承自:

readonly area : number

面积(单位:平方米)

attr : object

属性信息

继承自:

availability : Cesium.TimeIntervalCollection

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

继承自:
使用示例:
// 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,
  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
  }),

])

// 普通传值方式,多个
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", stop: "2017-08-25 09:02:30" }
]

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

readonly center : Cesium.Cartesian3

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

readonly centerOfLine : Cesium.Cartesian3

边线的中心点坐标

readonly centerOfMass : Cesium.Cartesian3

围合面的内部中心点坐标

readonly centerPoint : LngLatPoint

中心点坐标

继承自:

readonly coordinates : Array.<Array>

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

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

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

继承自:

readonly dataSource : Cesium.CustomDataSource

加载Entity数据的内部Cesium容器

继承自:

readonly distance : number

距离(单位:米)

readonly EditClass : EditPoly

编辑处理类

readonly ellipsoid : Cesium.Ellipsoid

当前地图的ellipsoid

继承自:

enabledEvent : boolean

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

继承自:

readonly entity : Cesium.Entity

矢量数据对应的 Cesium内部对象

继承自:

readonly entityGraphic : *

矢量数据对应的 Cesium内部对象的具体类型对象

继承自:

readonly fixedFrameTransform : Cesium.Transforms.LocalFrameToFixedFrame

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

继承自:

hasEdit : boolean

是否可以编辑

继承自:

readonly hasHeightEdit : boolean

编辑时,当有diffHeight时,是否可以编辑高度

readonly hasMoveEdit : boolean

编辑时,是否可以整体平移

readonly hasOpacity : boolean

是否可以调整透明度

继承自:

readonly id : string|number

对象的id标识

继承自:

readonly isAdded : boolean

是否已添加到图层

继承自:

readonly isDestroy : boolean

是否已经销毁了

继承自:

readonly isEditing : boolean

是否正在编辑状态

继承自:

readonly isPrivate : boolean

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

继承自:

readonly label : Cesium.Label|Cesium.LabelGraphics

附加的label文本对象

继承自:

name : string

名称

继承自:

readonly options : object

当前类的构造参数

继承自:

readonly points : Array.<LngLatPoint>|Array.<Cesium.Cartesian3>|Array

位置坐标数组

positions : Array.<Cesium.Cartesian3>

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

readonly positionsShow : Array.<Cesium.Cartesian3>

实际显示的坐标数组 (笛卡尔坐标), 如标绘中时positions对应的可能只是控制点坐标或CallbackProperty属性

readonly rectangle : Cesium.Rectangle

坐标数据对应的矩形边界

show : boolean

显示隐藏状态

继承自:

readonly state : State

当前对象的状态

继承自:

style : object

样式信息

继承自:

readonly type : string

矢量数据类型

继承自:

方法

addEventParent(obj)BaseClass

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

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

父类对象

返回值:

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

继承自:

addTo(layer)BaseGraphic|*

添加到图层上,同 layer.addGraphic

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

图层对象

返回值:

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

继承自:

autoSurfaceHeight(options)Promise.<*>

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

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

参数对象:

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

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

objectsToExclude Array.<object> 可选

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

exact boolean false 可选

是否进行精确计算, 传false时是否快速概略计算方式,该方式计算精度较低,但计算速度快,仅能计算在当前视域内坐标的高度

offset number 0 可选

可以按需增加偏移高度(单位:米),便于可视

返回值:

异步计算完成的Promise

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 可选

控制参数

返回值:

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

继承自:

closeContextMenu()BaseGraphic|*

关闭右键菜单

返回值:

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

继承自:

closeHighlight()void

清除已选中的高亮,原有style的配置项需要与highlightStyle配置有一一对应关系,否则无法清除

返回值:

继承自:

closePopup()BaseGraphic|*

关闭弹窗

返回值:

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

继承自:

closeSmallTooltip()BaseGraphic|*

关闭小提示窗

返回值:

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

继承自:

closeTooltip()BaseGraphic|*

关闭弹窗

返回值:

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

继承自:

destroy(noDel)void

销毁当前对象

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

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

返回值:

继承自:

enableControl(value)void

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

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

是否启用

返回值:

继承自:

endDraw()boolean

完成绘制和编辑,如有未完成的绘制会自动完成。 在移动端需要调用此方法来类似PC端双击结束。

返回值:

是否正常结束了矢量对象绘制

继承自:

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

继承自:

getAvailabilityShow(time)boolean

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

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

指定时间

返回值:

显示隐藏 状态

继承自:

getContextMenu(hasLayer)Array.<object>

获取绑定的右键菜单数组

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

是获取图层上的右键菜单

返回值:

右键菜单数组

继承自:

getCoordinates(noAlt)Array.<Array>

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

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

true时不导出高度值

返回值:

位置坐标(数组对象)

getMaxHeight()number

获取数据的最大高度

返回值:

高度

继承自:

getPopup()Popup

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

返回值:

当前对象打开的Popup对象

继承自:

getRectangle(options)Cesium.Rectangle|object

获取数据的矩形边界

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

控制参数

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

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

返回值:

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

继承自:

getTooltip()Tooltip

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

返回值:

当前对象打开的Tooltip对象

继承自:

hasContextMenu(hasLayer)boolean

是否有绑定的右键菜单

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

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

返回值:

是否有绑定

继承自:

hasEventParent(obj)boolean

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

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

父类对象

返回值:

是否绑定了抛出事件

继承自:

hasPopup(hasLayer)boolean

是否存在Popup绑定

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

是否判断图层上的Popup

返回值:

是否存在Popup绑定

继承自:

hasTooltip(hasLayer)boolean

是否绑定了tooltip

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

是否判断图层上的tooltip

返回值:

是否绑定

继承自:

isInPoly(position)boolean

判断点是否在当前对象的坐标点围成的多边形内

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

需要判断的点

返回值:

是否在多边形内

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 可选

矢量对象 或 显示的位置

返回值:

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

继承自:

openHighlight(highlightStyle, closeLast)void

高亮对象。

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

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

closeLast boolean true 可选

是否清除地图上上一次的高亮对象

返回值:

继承自:

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 可选

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

返回值:

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

继承自:

reload()void

重新渲染对象

返回值:

继承自:

remove(hasDestroy)void

从图层上移除,同 layer.removeGraphic

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

是否调用destroy释放

返回值:

继承自:

removeEventParent(obj)BaseClass

移除抛出事件到父类

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

父类对象

返回值:

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

继承自:

removeNearPoint()void

移除绘制的坐标中的重复点,比如快速单击或双击产生的冗余坐标。

返回值:

继承自:

setCallbackPositions(positions)Array.<Cesium.Cartesian3>

按Cesium.CallbackProperty的方式 更新坐标集合(更加平滑)

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

坐标数组

返回值:

当前坐标集合

setOpacity(value)void

设置透明度

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

透明度

返回值:

继承自:

setOptions(options)BaseGraphic|*

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

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

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

返回值:

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

继承自:

setStyle(newStyle)BaseGraphic|*

设置 样式信息 的钩子方法

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

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

返回值:

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

继承自:

startDraw(layer)void

开始绘制矢量数据,绘制的数据会加载在layer图层。

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

图层

返回值:

继承自:

startEditing()void

开始编辑对象

返回值:

继承自:

startFlicker(options)FlickerEntity

高亮闪烁 Enity实体对象

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

参数

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

闪烁的时长(秒),未设置时不自动停止。

color Cesium.Color Cesium.Color.YELLOW 可选

高亮的颜色

maxAlpha number 0.3 可选

闪烁的最大透明度,从 0 到 maxAlpha 渐变

onEnd function 可选

播放完成后的回调方法

返回值:

高亮闪烁控制 对象

继承自:

stopDraw()void

停止绘制

返回值:

继承自:

stopEditing()void

停止编辑,释放正在编辑的对象。

返回值:

继承自:

stopFlicker()void

停止高亮闪烁

返回值:

继承自:

toGeoJSON(options)object

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

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

参数对象:

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

不导出高度值

返回值:

GeoJSON格式规范对象

继承自:

toJSON()object

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

返回值:

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

继承自:

unbindContextMenu(bubbling)BaseGraphic|*

解除绑定的右键菜单

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

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

返回值:

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

继承自:

unbindHighlight()void

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

返回值:

继承自:

unbindPopup(bubbling)BaseGraphic|*

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

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

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

返回值:

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

继承自:

unbindTooltip(bubbling)BaseGraphic|*

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

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

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

返回值:

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

继承自: