加载展示 GeoJSON数据 的图层
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数对象,包括以下:
|
参考:
继承
成员(属性)
是否允许鼠标穿透拾取
是否开启聚合(点数据时) ,如果修改属性请调用setOptions方法
当加载 DivGraphic 数据的内部DOM容器 DivGraphic
当加载Entity类型数据的内部Cesium容器 BaseEntity
readonly graphics : Array.<BaseGraphic>|Array
layer/graphicLayer/GraphicLayer.js 620
图层内的Graphic集合对象
当加载普通 贴地的 primitive类型数据的内部Cesium容器 BasePrimitive
是否自动激活编辑(true时,单击后自动激活编辑)
- 继承自:
是否可以调整图层顺序(在同类型图层间)
完成标绘时是否自动启动编辑(需要hasEdit:true时)
是否连续标绘
是否正在绘制状态
是否正在编辑状态
图层内的Graphic矢量数据个数
- 继承自:
获取当前图层中所有对象,用于贴模型分析时,排除的不进行贴模型计算的模型对象
当加载 DivGraphic 数据的DIV是否可以鼠标交互,为false时可以穿透操作及缩放地图,但无法进行鼠标交互及触发相关事件。
当加载普通 primitive类型数据的内部Cesium容器 BasePrimitive
卷帘对比时,设置所在的屏幕,NONE时不分屏[仅对Model小模型矢量数据有效]
图层顺序,数字大的在上面。
只对 同类型(Entity/Primitive) + 贴地(clampToGround: true) 矢量对象间有效
- 继承自:
方法
activateEdit() → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1917
激活编辑,绑定相关处理,同 hasEdit=true
返回值:
当前对象本身,可以链式调用
addGraphic(graphic) → BaseGraphic|Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1358
添加Graphic矢量数据
参数名称 | 类型 | 描述信息 |
---|---|---|
graphic |
BaseGraphic | Array.<BaseGraphic> | object | Array.<object> |
矢量数据 或 对应的构造参数对象(需要有type值) |
返回值:
添加后的Graphic对象
autoSurfaceHeight(options) → Promise.<(BaseGraphic|*)>
layer/graphicLayer/GraphicLayer.js 1753
异步计算更新坐标进行贴地(或贴模型)
参数名称 | 类型 | 默认值 | 描述信息 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
{}
|
可选
参数对象:
|
返回值:
绘制创建完成的Promise
清除图层内所有矢量数据
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasDestroy |
boolean |
true
|
可选
是否释放矢量对象 |
返回值:
无
- 继承自:
清除正在绘制的对象
返回值:
是否清除了对象
disableEdit() → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1933
释放编辑,解除绑定相关事件,同 hasEdit=false
返回值:
当前对象本身,可以链式调用
eachGraphic(method, context, reverse) → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1508
遍历所有矢量数据并将其作为参数传递给回调函数
参数名称 | 类型 | 描述信息 |
---|---|---|
method |
function |
回调方法 |
context |
object |
可选
侦听器的上下文(this关键字将指向的对象)。 |
reverse |
boolean |
可选
是否倒序执行 |
返回值:
当前对象本身,可以链式调用。
完成绘制和编辑,如有未完成的绘制会自动完成。 在移动端需要调用此方法来类似PC端双击结束。
返回值:
是否正常结束了矢量对象绘制
- 继承自:
获取当前图层聚合点列表
返回值:
聚合点列表
getGraphicByAttr(attrValue, attrName) → BaseGraphic|*
layer/graphicLayer/GraphicLayer.js 1469
根据 指定属性 获取 单个矢量数据对象(多个匹配时取首个)
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
attrValue |
string | number |
属性值 |
|
attrName |
string |
'id'
|
可选
属性键 |
返回值:
矢量数据对象
getGraphicById(id) → BaseGraphic|*
layer/graphicLayer/GraphicLayer.js 1459
根据id取矢量数据对象
参数名称 | 类型 | 描述信息 |
---|---|---|
id |
string | number |
矢量数据id |
返回值:
矢量数据对象
getGraphics(hasPrivate) → Array.<BaseGraphic>|Array
layer/graphicLayer/GraphicLayer.js 1518
获取图层内 所有矢量数据
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
hasPrivate |
boolean |
false
|
可选
是否取私有的graphic |
返回值:
矢量数据数组
getGraphicsByAttr(attrValue, attrName) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1479
根据 指定属性 获取 矢量数据对象 数组
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
attrValue |
string | number |
属性值 |
|
attrName |
string |
'id'
|
可选
属性键 |
返回值:
矢量数据对象
getGraphicsByIds(ids) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1538
根据 id集合列表 取 矢量数据对象列表
参数名称 | 类型 | 描述信息 |
---|---|---|
ids |
Array.<string> | Array.<number> |
矢量数据id列表 |
返回值:
矢量数据对象列表
getGraphicsByStyle(styleName, styleVal) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1490
根据 指定style样式 获取 矢量数据对象 数组
参数名称 | 类型 | 描述信息 |
---|---|---|
styleName |
string |
style内的字段名称 |
styleVal |
string | number | boolean | * |
属性值 |
返回值:
矢量数据对象
获取所有矢量数据的配置信息,通常用于配置 数据列表树
参数名称 | 类型 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数对象,包括以下:
|
返回值:
返回值包括 { list: [id与pid关联的原始数组], tree: [按children组织好的上下级树数组]}
获取图层内所有数据的 最大高度
返回值:
高度
获取当前图层未聚合的grpahic对象列表
参数名称 | 类型 | 描述信息 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数
|
返回值:
未聚合的grpahic对象列表
获取图层内所有数据的 矩形边界值
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
isFormat |
boolean |
false
|
可选
是否格式化,格式化时示例: { xmin: 73.16895, xmax: 134.86816, ymin: 12.2023, ymax: 54.11485 } |
返回值:
isFormat:true时,返回格式化对象,isFormat:false时返回Cesium.Rectangle对象
load(newOptions) → GeoJsonLayer
layer/graphicLayer/GeoJsonLayer.js 190
加载新数据 或 刷新数据
参数名称 | 类型 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
newOptions |
object |
可选
新设定的参数,会与类的构造参数合并。
|
返回值:
当前对象本身,可以链式调用
loadGeoJSON(geojson, options) → Array.<BaseGraphic>
layer/graphicLayer/GraphicLayer.js 1179
加载转换GeoJSON格式规范数据为Graphic后加载到图层中。
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
geojson |
string | object |
GeoJSON格式规范数据 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
options |
object |
可选
加载控制参数,包含:
|
返回值:
转换后的Graphic对象数组
async loadJSON(json, options) → Promise.<(Array.<BaseGraphic>|*)>
layer/graphicLayer/GraphicLayer.js 1134
参数方式添加矢量对象, 同addGraphic
参数名称 | 类型 | 描述信息 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
json |
object | Array.<object> | string |
矢量数据构造参数,可以用toJSON方法导出的值; 传string时对应的值存放的json路径地址。 |
||||||||||||
options |
object |
可选
加载控制参数,包含:
|
返回值:
绘制创建完成的Promise 添加后的Graphic对象
removeGraphic(graphic, hasDestroy) → GraphicLayer
layer/graphicLayer/GraphicLayer.js 1430
移除Graphic矢量数据
参数名称 | 类型 | 默认值 | 描述信息 |
---|---|---|---|
graphic |
BaseGraphic | * |
矢量数据 |
|
hasDestroy |
boolean |
true
|
可选
是否释放矢量对象 |
返回值:
当前对象本身,可以链式调用
设置整体透明度(globalAlpha值) , 非全部矢量数据都支持,具体需要对应Graphic支持才有效 对象本身透明度请修改 graphic.setStyle({ opacity: value })
参数名称 | 类型 | 描述信息 |
---|---|---|
value |
number |
透明度 |
返回值:
无
startDraw(options) → Promise.<(BaseGraphic|*)>
layer/graphicLayer/GraphicLayer.js 1838
开始绘制矢量数据,绘制的数据会加载在当前图层。
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object | * |
绘制参数,包含:
|
返回值:
绘制创建完成的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
layer/graphicLayer/GraphicLayer.js 2015
激活编辑指定的矢量数据
参数名称 | 类型 | 描述信息 |
---|---|---|
graphic |
BaseGraphic | * |
需要激活编辑的矢量数据 |
event |
object |
可选
内部使用,传递事件 |
返回值:
当前对象本身,可以链式调用
停止绘制。 线面对象:未完成的绘制会自动删除,已绘制的会完成在最后一个点位; 点状对象:会结束停留在最后一个点位,未完成的绘制会自动删除 如果需要清除正在绘制的对象,请用 clearDrawing() 方法
返回值:
是否清除了未完成的对象
stopEditing() → GraphicLayer
layer/graphicLayer/GraphicLayer.js 2039
停止编辑,释放正在编辑的对象。
返回值:
当前对象本身,可以链式调用
将当前图层在map中层级进行 置底 (只对同类型图层间+贴地对象 有效)。
返回值:
无
将图层数据导出为GeoJSON格式规范对象。
参数名称 | 类型 | 描述信息 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
object |
可选
参数对象:
|
返回值:
GeoJSON格式规范对象
将当前图层在map中层级进行 置顶 (只对同类型图层间+贴地对象 有效)。
返回值:
无
- 继承自:
定义的类型
当前类支持的EventType
事件类型
属性:
属性名称 | 类型 | 描述信息 |
---|---|---|
load |
string | 完成加载,执行所有内部处理后 |
add |
string | 添加对象 |
remove |
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)标绘事件 |
editRemovePoint |
string | 编辑删除了点 标绘事件 |
editStyle |
string | 图上编辑修改了相关style属性 标绘事件 |
editStop |
string | 停止编辑 标绘事件 |
使用示例:
//绑定监听事件
layer.on(mars3d.EventType.load, function (event) {
console.log('矢量数据对象加载完成', event)
})