GeometryEditor
几何图形编辑器。
编辑器交互操作说明:
- 绘制:鼠标左键点击及移动即可绘制图形
- 结束绘制:鼠标左键双击即可结束绘制折线、多边形、圆形,多边形会自动闭合
- 单选:鼠标左键点击图形
- 多选:按下ctrl键后点击多个图形
- 删除:选中图形后按下delete键可删除图形
- 拆分:选中单个多边形后可绘制拆分线,拆分线绘制完成后自动进行拆分
- 中断:绘制或编辑过程中按下esc键可中断该过程
构造函数
语法:
new TMap.tools.GeometryEditor(options)
参数
参数名 | 类型 | 说明 |
---|---|---|
options
|
GeometryEditorOptions
|
几何编辑器配置参数 |
方法
方法 | 返回值 | 说明 |
---|---|---|
setMap(map: Map)
|
this
|
设置地图对象,若为null则移除编辑器 |
setActiveOverlay(id: String)
|
this
|
设置指定图层处于编辑状态 |
setActionMode(mode: EDITOR_ACTION)
|
this
|
设置编辑器的操作状态 |
getMap()
|
Map
|
获取绑定的地图对象 |
getActiveOverlay()
|
EditableOverlay
|
获取处于编辑状态的图层 |
getActionMode()
|
EDITOR_ACTION
|
获取编辑器的操作状态 |
getSelectedList()
|
Geometry[]
|
获取已选中的几何图形数组,Geometry可能是PointGeometry/PolylineGeometry/PolygonGeometry/CircleGeometry等 |
addOverlay(overlay: EditableOverlay)
|
this
|
添加用于编辑的几何图层 |
removeOverlay(id: String)
|
this
|
删除用于编辑的几何图层 |
getOverlayList()
|
EditableOverlay[]
|
获取图层列表 |
setSnappable(snappable: Boolean)
|
this
|
开启或关闭吸附功能,吸附功能开启时绘制或编辑图形会自动吸附到临近的点或线段上 |
setSelectable(selectable: Boolean)
|
this
|
开启或关闭点选功能,点选功能开启时用户可点击图形进行单选和多选,选中图形后会自动将其所属图层设置为编辑状态 |
split()
|
this
|
拆分已选中多边形,用户可绘制拆分线进行拆分,若无选中图形则无效 |
union()
|
this
|
合并已选中多边形,若无选中图形则无效 |
delete()
|
this
|
删除已选中图形 |
destroy()
|
this
|
销毁编辑器 |
事件
事件名 | 参数 | 说明 |
---|---|---|
active_changed
|
|
切换编辑图层,调用setActiveOverlay接口、选中其他图层元素或删除一个处于编辑状态的图层都会引发此事件 |
select
|
|
点选图形 |
draw_complete
|
Geometry
|
绘制完成,返回几何图形 |
adjust_complete
|
Geometry
|
修改完成,返回修改后的几何图形 |
delete_complete
|
Geometry[]
|
删除完成,返回被删除的几何图形 |
split_complete
|
PolygonGeometry[]
|
拆分完成,返回拆分后的多边形数组 |
union_complete
|
PolygonGeometry
|
合并完成,返回合并后的多边形 |
split_fail
|
Object
|
拆分失败,返回对象中的message属性说明了失败原因 |
union_fail
|
Object
|
合并失败,返回对象中的message属性说明了失败原因 |
TMap.tools.constants.EDITOR_ACTION
编辑器操作模式。
常量 | 说明 |
---|---|
EDITOR_ACTION.INTERACT
|
交互模式,该模式下用户可选中图形进行删除、修改 |
EDITOR_ACTION.DRAW
|
绘制模式,该模式下用户可绘制新图形 |