GraphicLayer

new mars3d.layer.GraphicLayer(options)

矢量数据图层

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

参数对象,包括以下:

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

需要自动加载的数据,内部自动生成Graphic对象。GraphicUtil#.create

hasEdit boolean false 可选

是否自动激活编辑(true时,单击后自动激活编辑)

isAutoEditing boolean true 可选

完成标绘时是否自动启动编辑(需要hasEdit:true时)

isContinued boolean false 可选

是否连续标绘,连续标绘状态下无法编辑已有对象,且不支持获取startDraw方法的返回值(是内部自动调用的,如果要获取请drawCreated事件中获取或外部手动进行startDraw)。

isRestorePositions boolean false 可选

在标绘和编辑结束时,是否将坐标还原为普通值,true: 停止编辑时会有闪烁,但效率要好些。

drawAddEventType boolean EventType.click 可选

绘制时增加点的事件,默认单击

drawEndEventType boolean EventType.dblClick 可选

绘制时结束的事件,默认双击

drawDelEventType boolean EventType.rightClick 可选

绘制时删除点的事件,默认右键

zIndex number 可选

控制图层的叠加层次,默认按加载的顺序进行叠加,但也可以自定义叠加顺序,数字大的在上面(只对同类型图层间有效,且只有贴地对象有效)。

symbol object | function 可选

矢量数据的style样式,为Function时是完全自定义的回调处理 symbol(attr, style, feature)

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

标识数据类型,默认是根据数据生成 point、polyline、polygon

styleOptions object

Style样式,每种不同类型数据都有不同的样式,具体见各GraphicType矢量数据的style参数。

styleField string 可选

按 styleField 属性设置不同样式。

styleFieldOptions object 可选

按styleField值与对应style样式的键值对象。

callback function 可选

自定义判断处理返回style ,示例:callback: function (attr, styleOpt){ return { color: "#ff0000" }; }

allowDrillPick boolean | function 可选

是否允许鼠标穿透拾取

clustering object 可选

设置聚合相关参数(仅对Label、Point、Billboard 3种对象有效):

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

是否开启聚合

pixelRange number 20 可选

多少像素矩形范围内聚合

minimumClusterSize number 2 可选

可以聚集的屏幕空间对象的最小数量

minChanged number 0.05 可选

相机变化事件,事件间变化百分比小于该值时不更新聚合

clampToGround boolean true 可选

是否贴地

style BillboardEntity.StyleOptions | PointEntity.StyleOptions | object 可选

聚合点的样式参数

radius number 26 可选

内置样式时,圆形图标的半径大小(单位:像素)

fontColor string '#ffffff' 可选

内置样式时,数字的颜色

color string 'rgba(181, 226, 140, 0.6)' 可选

内置样式时,圆形图标的背景颜色

opacity number 0.5 可选

内置样式时,圆形图标的透明度

borderWidth number 5 可选

圆形图标的边框宽度(单位:像素),0不显示

borderColor string 'rgba(110, 204, 57, 0.5)' 可选

内置样式时,圆形图标的边框颜色

borderOpacity number 0.6 可选

内置样式时,圆形图标边框的透明度

getImage function 可选

自定义聚合的图标样式,例如:getImage:function(count) { return image}

popup string | Array.<Globe.getTemplateHtml_template> | function 可选

绑定的popup弹窗值,也可以bindPopup方法绑定,支持:'all'、数组、字符串模板

popupOptions Popup.StyleOptions 可选

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

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

固定的标题名称

titleField string 可选

标题对应的属性字段名称

noTitle string 可选

不显示标题

showNull string false 可选

是否显示空值

tooltip string | Array.<Globe.getTemplateHtml_template> | function | object 可选

绑定的tooltip弹窗值,也可以bindTooltip方法绑定,参数与popup属性完全相同。

tooltipOptions Tooltip.StyleOptions 可选

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

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

固定的标题名称

titleField string 可选

标题对应的属性字段名称

noTitle string 可选

不显示标题

showNull string false 可选

是否显示空值

contextmenuItems object 可选

绑定的右键菜单值,也可以bindContextMenu方法绑定

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

图层id标识

pid string | number -1 可选

图层父级的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

extent object 可选

图层自定义定位的矩形区域,与center二选一即可。 Map#flyToExtent

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

最小经度值, -180 至 180

xmax number

最大经度值, -180 至 180

ymin number

最小纬度值, -90 至 90

ymax number

最大纬度值, -90 至 90

height number 0 可选

矩形高度值

flyTo boolean 可选

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

flyToOptions object 可选

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

参考:

继承

成员(属性)

allowDrillPick : boolean|function

是否允许鼠标穿透拾取

availability : Cesium.TimeIntervalCollection

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

继承自:
使用示例:
// cesium原生写法,单个
tilesetLayer.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原生写法, 多个
tilesetLayer.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
  }),

])

// 普通传值方式,多个
tilesetLayer.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" }
]

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

clustering : boolean

是否聚合(点数据时)

readonly container : HTMLDivElement

当加载 DivGraphic 数据的内部DOM容器 DivGraphic

readonly dataSource : Cesium.CustomDataSource

当加载Entity类型数据的内部Cesium容器 BaseEntity

readonly graphics : Array.<BaseGraphic>|Array

图层内的Graphic集合对象

groundPrimitiveCollection : Cesium.PrimitiveCollection

当加载普通 贴地的 primitive类型数据的内部Cesium容器 BasePrimitive

hasEdit : boolean

是否自动激活编辑(true时,单击后自动激活编辑)

readonly hasOpacity : boolean

是否可以调整透明度

继承自:

readonly hasZIndex : boolean

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

id : string|number

对象的id标识

继承自:

readonly isAdded : boolean

是否已添加到地图

继承自:

isAutoEditing : boolean

完成标绘时是否自动启动编辑(需要hasEdit:true时)

isContinued : boolean

是否连续标绘

readonly isDestroy : boolean

是否已经销毁了

继承自:

readonly isDrawing : boolean

是否正在编辑状态

readonly isEditing : boolean

是否正在编辑状态

readonly isPrivate : boolean

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

继承自:

readonly length : number

图层内的Graphic矢量数据个数

name : string

名称 标识

继承自:

readonly objectsToExclude : Array.<object>|undefined

获取当前图层中所有对象,用于贴模型分析时,排除的不进行贴模型计算的模型对象

opacity : number

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

继承自:

pid : string|number

对象的pid标识

继承自:

pointerEvents : boolean

当加载 DivGraphic 数据的DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。

primitiveCollection : Cesium.PrimitiveCollection

当加载普通 primitive类型数据的内部Cesium容器 BasePrimitive

readonly readyPromise : Promise.<(BaseLayer|object)>

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

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

show : boolean

显示隐藏状态

继承自:

splitDirection : Cesium.SplitDirection

卷帘对比时,设置所在的屏幕,NONE时不分屏[仅对Model小模型矢量数据有效]

readonly state : State

当前对象的状态

继承自:

templateValues : object

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

继承自:

readonly type : string

图层类型

继承自:

zIndex : number

图层顺序,数字大的在上面。
只对 同类型(Entity/Primitive) + 贴地(clampToGround: true) 矢量对象间有效

方法

abstract _removedHook()void

对象从地图上移除的创建钩子方法, 每次remove时都会调用

返回值:

activateEdit()GraphicLayer

激活编辑,绑定相关处理,同 hasEdit=true

返回值:

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

addGraphic(graphic)BaseGraphic|Array.<BaseGraphic>

添加Graphic矢量数据

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

矢量数据 或 对应的构造参数对象(需要有type值)

返回值:

添加后的Graphic对象

addTo(map)BaseLayer

添加到地图上,同 map.addThing

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

地图对象

返回值:

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

继承自:

autoSurfaceHeight(options)Promise.<(BaseGraphic|*)>

异步计算更新坐标进行贴地(或贴模型)

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

参数对象:

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

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

objectsToExclude Array.<object> 可选

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

exact boolean false 可选

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

endItem function

每计算完成1个graphic高度后 的回调方法

end function

异步计算高度完成所有graphic后 的回调方法

返回值:

绘制创建完成的Promise

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

控制参数

参数名称 类型 描述信息
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 可选

控制参数

返回值:

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

继承自:

clear(hasDestroy)void

清除图层内所有矢量数据

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

是否释放矢量对象

返回值:

clearDrawing()boolean

清除正在绘制的对象

返回值:

是否清除了对象

closeContextMenu()BaseGraphicLayer

关闭右键菜单

返回值:

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

继承自:

closeHighlight()void

清除已高亮的矢量对象

返回值:

继承自:

closePopup()BaseGraphicLayer

关闭弹窗

返回值:

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

继承自:

closeSmallTooltip()BaseGraphicLayer

关闭小提示窗

返回值:

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

继承自:

closeTooltip()BaseGraphicLayer

关闭弹窗

返回值:

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

继承自:

disableEdit()GraphicLayer

释放编辑,解除绑定相关事件,同 hasEdit=false

返回值:

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

eachGraphic(method, context, reverse)GraphicLayer

遍历所有矢量数据并将其作为参数传递给回调函数

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

回调方法

context object 可选

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

reverse boolean 可选

是否倒序执行

返回值:

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

endDraw()boolean

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

返回值:

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

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内部会根据飞行距离计算出理想的飞行时间。

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

指定时间

返回值:

显示隐藏 状态

继承自:

getClusterList()Array

获取当前图层聚合点列表

返回值:

聚合点列表

getContextMenu()Array.<object>

获取绑定的右键菜单数组

返回值:

右键菜单数组

继承自:

getGraphicByAttr(attrValue, attrName)BaseGraphic|*

根据 指定属性 获取 单个矢量数据对象(多个匹配时取首个)

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

属性值

attrName string 'id' 可选

属性键

返回值:

矢量数据对象

getGraphicById(id)BaseGraphic|*

根据id或uuid取矢量数据对象

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

矢量数据id或uuid

返回值:

矢量数据对象

getGraphics(hasPrivate)Array.<BaseGraphic>|Array

获取图层内 所有矢量数据

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

是否取私有的graphic

返回值:

矢量数据数组

getGraphicsByAttr(attrValue, attrName)Array.<BaseGraphic>

根据 指定属性 获取 矢量数据对象 数组

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

属性值

attrName string 'id' 可选

属性键

返回值:

矢量数据对象

getGraphicsByStyle(styleName, styleVal)Array.<BaseGraphic>

根据 指定style样式 获取 矢量数据对象 数组

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

style内的字段名称

styleVal string | number | boolean | *

属性值

返回值:

矢量数据对象

getMaxHeight()number

获取图层内所有数据的 最大高度

返回值:

高度

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

是否有绑定的右键菜单

返回值:

是否有绑定

继承自:

hasPopup()boolean

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

返回值:

是否存在Popup绑定

继承自:

hasTooltip()boolean

是否绑定了tooltip

返回值:

是否绑定

继承自:

loadGeoJSON(geojson, options)Array.<BaseGraphic>

加载转换GeoJSON格式规范数据为Graphic后加载到图层中。

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

GeoJSON格式规范数据

options object 可选

加载控制参数,包含:

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

是否清除图层已有数据

flyTo boolean false 可选

是否加载完成后进行飞行到数据区域

type GraphicType | string 可选

转为指定的类型

style object 可选

可以设置指定style样式,每种不同类型数据都有不同的样式,具体见各矢量数据的style参数。GraphicType // * @param {boolean} [options.style.merge] 是否合并并覆盖json中已有的style,默认不合并,仅适用style配置。

crs string 可选

原始数据的坐标系,如'EPSG:3857' (可以从 http://epsg.io查询)

simplify object 可选

是否简化坐标点位,为空时不简化

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

简化的程度,传值是经纬度的小数位

highQuality boolean true 可选

是否花更多的时间用不同的算法创建更高质量的简化

mutate boolean true 可选

是否允许对输入进行变异(如果为true,则显著提高性能)

onEachFeature function 可选

创建每个Graphic前的回调

filter function 可选

数据筛选方法,方法体内返回false时排除数据 filter:function(feature){return true}

返回值:

转换后的Graphic对象数组

loadJSON(json)BaseGraphic|Array.<BaseGraphic>

参数方式添加矢量对象, 同addGraphic

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

矢量数据构造参数,可以用toJSON方法导出的值

返回值:

添加后的Graphic对象

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矢量对象 或 显示的位置

返回值:

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

继承自:

remove(destroy)void

从地图上移除,同map.removeThing

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

是否调用destroy释放

返回值:

继承自:

removeGraphic(graphic, hasDestroy)GraphicLayer

移除Graphic矢量数据

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

矢量数据

hasDestroy boolean true 可选

是否释放矢量对象

返回值:

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

setOpacity(value)void

设置透明度 , 非全部矢量数据都支持,具体需要对应Graphic支持才有效

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

透明度

返回值:

setOptions(options)BaseLayer

更新图层参数

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

与类的构造方法参数相同

返回值:

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

继承自:

startDraw(options)Promise.<(BaseGraphic|*)>

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

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

绘制参数,包含:

参数名称 类型 默认值 描述信息
type GraphicType | string

类型

style object 可选

矢量数据样式,具体参考支持 GraphicType查询对应type的类

attr object 可选

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

success function 可选

绘制创建完成的回调方法,同drawCreated事件,例如: success: function (graphic){ } //以下为Entity支持的构造参数

name string 可选

矢量数据名称

minPointNum number 可选

线面数据时限定的最小坐标个数

maxPointNum number 可选

线面数据时限定的最大坐标个数

validDrawPosition function 可选

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

updateDrawPosition function 可选

外部自定义更新坐标,可以自定义处理特殊业务返回修改后的新坐标。

drawShow boolean true 可选

绘制时,是否自动隐藏entity,可避免拾取坐标存在问题。

addHeight number 可选

在绘制时,在绘制点的基础上增加的高度值

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

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

description Cesium.Property | string 可选

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

返回值:

绘制创建完成的Promise,等价于success参数

使用示例:
//写法一,使用Promise
    graphicLayer.startDraw({
      type: "point",
      style: { pixelSize: 12, color: "#3388ff" },
    })
    .then(function (graphic) {
      console.log("绘制矢量对象完成", graphic);
    });

    //写法二,使用success回调方法参数
    graphicLayer.startDraw({
      type: "point",
      style: { pixelSize: 12, color: "#3388ff" },
      success: function (graphic){
        console.log("绘制矢量对象完成", graphic);
      }
    })

    //写法三,在图层全局监听完成事件
    graphicLayer.on(mars3d.EventType.drawCreated, function (e) {
      console.log("绘制矢量对象完成", e);
    });
    graphicLayer.startDraw({
      type: "point",
      style: { pixelSize: 12, color: "#3388ff" }
    })

startEditing(graphic, event)GraphicLayer

激活编辑指定的矢量数据

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

需要激活编辑的矢量数据

event object 可选

内部使用,传递事件

返回值:

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

stopDraw()boolean

停止绘制。 线面对象:未完成的绘制会自动删除,已绘制的会完成在最后一个点位; 点状对象:会结束停留在最后一个点位,未完成的绘制会自动删除 如果需要清除正在绘制的对象,请用 clearDrawing() 方法

返回值:

是否清除了未完成的对象

stopEditing()GraphicLayer

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

返回值:

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

toBottom()void

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

返回值:

toGeoJSON(options)object

将图层数据导出为GeoJSON格式规范对象。

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

参数对象:

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

不导出高度值

stopEdit boolean false 可选

是否停止绘制或编辑

返回值:

GeoJSON格式规范对象

toJSON()object

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

返回值:

Json简单对象

继承自:

toTop()void

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

返回值:

unbindContextMenu(bubbling)BaseGraphicLayer

解除绑定的右键菜单

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

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

返回值:

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

继承自:

unbindHighlight()void

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

返回值:

继承自:

unbindPopup(bubbling)BaseGraphicLayer

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

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

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

返回值:

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

继承自:

unbindTooltip(bubbling)BaseGraphicLayer

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

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

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

返回值:

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

继承自:

定义的类型

mars3d.layer.GraphicLayer.EventType

当前类支持的EventType事件类型

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

添加了矢量对象

removeGraphic string

移除了矢量对象

addLayer string

图层本身被添加

removeLayer string

图层本身被移除

show string

图层本身显示了

hide string

图层本身隐藏了

click string

左键单击 鼠标事件

rightClick string

右键单击 鼠标事件

mouseOver string

鼠标移入 鼠标事件

mouseOut string

鼠标移出 鼠标事件

popupOpen string

popup弹窗打开后

popupClose string

popup弹窗关闭

tooltipOpen string

tooltip弹窗打开后

tooltipClose string

tooltip弹窗关闭

contextMenuOpen string

右键菜单 打开后

contextMenuClose string

右键菜单 关闭

contextMenuClick string

右键菜单 单击某一项后

drawStart string

开始绘制 标绘事件

drawMouseMove string

正在移动鼠标中,绘制过程中鼠标移动了点 标绘事件

drawAddPoint string

绘制过程中增加了点 标绘事件

drawRemovePoint string

绘制过程中删除了最后一个点 标绘事件

drawCreated string

创建完成 标绘事件

editStart string

开始编辑 标绘事件

editMouseDown string

移动鼠标按下左键(LEFT_DOWN)标绘事件

editMouseMove string

正在移动鼠标中,正在编辑拖拽修改点中(MOUSE_MOVE) 标绘事件

editMovePoint string

编辑修改了点(LEFT_UP)标绘事件

editAddPoint string

编辑新增了点 标绘事件

editRemovePoint string

编辑删除了点 标绘事件

editStyle string

图上编辑修改了相关style属性 标绘事件

editStop string

停止编辑 标绘事件

使用示例:
//绑定监听事件
layer.on(mars3d.EventType.load, function (event) {
  console.log('矢量数据对象加载完成', event)
})
参考: