JavaScript API GL / 参考手册 / 附加库:地图工具
GeometryEditor
几何图形编辑器。
编辑器交互操作 |
说明 |
绘制 |
鼠标左键点击及移动即可绘制图形 |
结束绘制 |
鼠标左键双击即可结束绘制折线、多边形、圆形,多边形会自动闭合 |
单选 |
鼠标左键点击图形 |
多选 |
按下ctrl键后点击多个图形 |
删除 |
选中图形后按下delete键可删除图形 |
拆分 |
选中单个多边形后可绘制拆分线,拆分线绘制完成后自动进行拆分 |
中断 |
绘制或编辑过程中按下esc键可中断该过程 |
构造函数 |
new TMap.tools.GeometryEditor(options) |
方法 |
返回值 |
说明 |
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 |
开启或关闭点选功能,点选功能开启时用户可点击图形进行单选和多选,选中图形后会自动将其所属图层设置为编辑状态 |
select(idList: String[]) |
this |
选中属于激活状态的图层内的几何图形,若传入空数组则清空 |
stop() |
this |
停止绘制或编辑过程 |
split() |
this |
拆分已选中多边形,用户可绘制拆分线进行拆分,若无选中图形则无效 |
union() |
this |
合并已选中多边形,若无选中图形则无效 |
delete() |
this |
删除已选中图形 |
destroy() |
this |
销毁编辑器 |
on(eventName:String, listener:Function) |
this |
添加listener到eventName事件的监听器数组中 |
off(eventName:String, listener:Function) |
this |
从eventName事件的监听器数组中移除指定的listener器 |
事件名 |
参数 |
说明 |
active_changed |
|
切换编辑图层,调用setActiveOverlay接口、选中其他图层元素或删除一个处于编辑状态的图层都会引发此事件 |
select |
|
点选图形 |
drawing |
EditingEvent |
绘制中,返回绘制中信息 |
draw_complete |
Geometry |
绘制完成,返回几何图形 |
draw_error |
DrawErrorMessage |
绘制失败,返回失败信息 |
adjusting |
EditingEvent |
修改中,返回修改中的信息 |
adjust_complete |
Geometry |
修改完成,返回修改后的几何图形 |
adjust_error |
AdjustErrorMessage |
编辑失败,返回失败信息 |
delete_complete |
Geometry[] |
删除完成,返回被删除的几何图形 |
split_complete |
PolygonGeometry[] |
拆分完成,返回拆分后的多边形数组 |
union_complete |
PolygonGeometry |
合并完成,返回合并后的多边形 |
split_fail |
Object |
拆分失败,返回对象中的message属性说明了失败原因 |
union_fail |
Object |
合并失败,返回对象中的message属性说明了失败原因 |
GeometryEditorOptions
几何编辑器配置参数对象规范。
属性名称 |
类型 |
说明 |
map |
Map |
编辑几何图形的地图对象 |
overlayList |
EditableOverlay[] |
用于编辑的几何图层 |
activeOverlayId |
String |
处于编辑状态的图层id,编辑状态下的图层可以新增图形、选中图形进行修改和删除 |
actionMode |
EDITOR_ACTION[] |
编辑器的操作状态 |
snappable |
Boolean |
是否开启吸附功能,默认为false |
selectable |
Boolean |
是否开启点选功能,默认为false,开启后可以点选图形进行修改和删除操作 |
iconInfo |
EditorIconInfo |
编辑器的icon样式 |
EditableOverlay
可编辑几何图层对象规范。
属性名称 |
类型 |
说明 |
id |
String |
标识,默认为图层id |
name |
String |
在控件下拉列表中显示的图层名称 |
overlay |
GeometryOverlay |
几何图层,支持MultiMarker/MultiPolyline/MultiPolygon/MultiRectangle/MultiCircle/MultiEllipse |
drawingStyleId |
String |
绘制图形的样式id,对应图层styles样式表中的id,默认为default |
selectedStyleId |
String |
选中图形的样式id,对应图层styles样式表中的id,若不设置则使用默认样式 |
TMap.tools.constants.EDITOR_ACTION
编辑器操作模式。
常量 |
说明 |
EDITOR_ACTION.INTERACT |
交互模式,该模式下用户可选中图形进行删除、修改 |
EDITOR_ACTION.DRAW |
绘制模式,该模式下用户可绘制新图形 |
EditorIconInfo 对象规范
编辑器所包含的icon信息对象。
IconStyle 对象规范
编辑器icon的样式对象,可以设置src、宽高等属性。
属性名 |
类型 |
说明 |
src |
String |
编辑点图片url或base64地址,若为url地址图片一定要在服务器端配置允许跨域 |
width |
Number |
图片的宽度,默认为10px |
height |
Number |
图片的高度,默认为10px |
anchor |
Object |
图片的锚点位置,对象字面量{x:Number, y:Number}形式,在地图各种操作中,锚点的位置与标注位置点是永远对应的;若没有锚点默认为{ x: width / 2, y: height / 2 };锚点以图片左上角点为原点 |
EditingEvent 对象规范
编辑器所包含的icon信息对象。
属性名 |
类型 |
说明 |
position |
LatLng |
鼠标当前所在的经纬度 |
geometry |
Geometry |
几何图形 |
DrawErrorMessage 对象规范
编辑器绘制失败错误信息。
属性名 |
类型 |
说明 |
errorDesc |
String |
错误描述 |
errorType |
Number |
错误类型 |
现有绘制错误类型说明:
- 多边形自相交错误信息:
{ errorDesc: 'geometry illegals', errorType: 1 }
AdjustErrorMessage 对象规范
编辑器编辑失败错误信息。
属性名 |
类型 |
说明 |
errorDesc |
String |
错误描述 |
errorType |
Number |
错误类型 |
现有编辑错误类型说明:
- 删除多边形坐标点数量小于3时错误信息:
{ errorDesc: 'geometry illegals', errorType: 1 }
MeasureTool
测量工具用于地图测量,继承自Tool抽象类。
构造函数 |
new TMap.tools.MeasureTool(options); |
MeasureToolOptions
测量工具用于地图测量,继承自Tool抽象类。
属性名称 |
类型 |
说明 |
map |
Map |
展示图层的地图对象 |
DistanceMeasurementInfo
距离测量结果对象规范
属性名称 |
类型 |
说明 |
path |
LatLng[] |
线段节点数组 |
totalDistance |
Number |
总距离长度,单位为米 |
segmentDistanceList |
Number[] |
线段距离长度数组,数组元素代表每段距离长度,单位为米 |
AreaMeasurementInfo
面积测量结果对象规范
属性名称 |
类型 |
说明 |
polygon |
LatLng[] |
多边形数组 |
area |
Number |
面积,单位为平方米 |