Class: FMMarkerEditor

FMMarkerEditor

FMMarkerEditor 点线面编辑类。 属于fengmap.plugin.draw.min.js。
在园区一体化地图上绘制的point、line或polygon,对应的buildingID取决于:第一个点位的坐标位置和绘制该点时子地图的显示状态。如果第一个点位坐标在子地图范围内,且子地图为显示状态,则该元素的buildingID为该子地图的buildingID,否则buildingID为null,也就是室外元素。

new fengmap.FMMarkerEditor(map)

Name Type Description
map Object

FMMap对象

Members

markers

Properties:
Name Type Description
markers array

只读属性,返回所有marker

operationType

Properties:
Name Type Description
operationType String

操作类型属性,绘图类型属性包括addPoint:绘制点,addLine:绘制线,addCircle:圆,addEllipse:椭圆,addRectangle:矩形,addPolygon:多边形,edit:编辑,delete:删除

Methods

add(options)

Name Type Description
options Object

注:除必填项外,其他项目如果不填,工具将使用setStyle方法中设置的样式

Name Type Description
markerType fengmap.FMType.IMAGE_MARKER | fengmap.FMType.LINE_MARKER | fengmap.FMType.POLYGON_MARKER

marker类型,必填

url string

图片地址,当markerType为fengmap.FMType.IMAGE_MARKER的参数

level number

所在楼层,当markerType为fengmap.FMType.IMAGE_MARKER的参数

x number

地图位置x值,必填,当markerType为fengmap.FMType.IMAGE_MARKER的参数

y number

地图位置y值,必填,当markerType为fengmap.FMType.IMAGE_MARKER的参数

height number

离地高度,当markerType为fengmap.FMType.IMAGE_MARKER的参数

size number

图片显示尺寸,当markerType为fengmap.FMType.IMAGE_MARKER的参数

anchor FMMarkerAnchor

锚点位置,当markerType为fengmap.FMType.IMAGE_MARKER的参数

depth bool

渲染深度,true:开启深度,false:关闭深度,当markerType为fengmap.FMType.IMAGE_MARKER的参数

collision boolean

避让,true:开启避让,false:关闭避让,默认为true,当markerType为fengmap.FMType.IMAGE_MARKER的参数

height number

离地高度,当markerType为fengmap.FMType.POLYGON_MARKER的参数

level number

所在楼层,当markerType为fengmap.FMType.POLYGON_MARKER的参数

opacity number

多边形的透明度。0.0 - 1.0 之间取值, 默认为 1.0,当markerType为fengmap.FMType.POLYGON_MARKER的参数

color string

多边形的颜色,当markerType为fengmap.FMType.POLYGON_MARKER的参数

borderWidth number

多边形边框线宽,默认为2,当markerType为fengmap.FMType.POLYGON_MARKER的参数

borderColor string

多边形边框线颜色,当markerType为fengmap.FMType.POLYGON_MARKER的参数

points array

多边形的点坐标,必填,当markerType为fengmap.FMType.POLYGON_MARKER的参数

points[].x number

x坐标

points[].y number

y坐标

segments array

必填,线的点配置,当markerType为fengmap.FMType.LINE_MARKER的参数

color string

线颜色,当markerType为fengmap.FMType.LINE_MARKER的参数

width number

线宽,默认6,当markerType为fengmap.FMType.LINE_MARKER的参数

smooth bool

是否平滑,默认true,当markerType为fengmap.FMType.LINE_MARKER需要的参数

radius number

圆弧半径,当markerType为fengmap.FMType.LINE_MARKER的参数

url string

贴图路径, 优先使用,如果没有给值,则使用lineType的线型,当markerType为fengmap.FMType.LINE_MARKER的参数

type FMLineType

线型,当markerType为fengmap.FMType.LINE_MARKER的参数

borderColor string

设置FMARROW线型线边线的颜色,十六进制颜色值。如:'#FF0000',当markerType为fengmap.FMType.LINE_MARKER的参数

animate bool

true 启动动画 false 不启动动画 默认 true,当markerType为fengmap.FMType.LINE_MARKER的参数

depth bool

true 开启深度 false 不开启深度 默认 true,当markerType为fengmap.FMType.LINE_MARKER的参数

cancel()

退出添加/编辑当前操作的方法

delete(marker)

删除marker的方法

Name Type Description
marker fengmap.FMImageMarker | fengmap.FMLineMarker | fengmap.FMPolygonMarker

要删除的marker对象,如果为空则删除已经选中的marker或marker(line和polygon)节点

deleteNode()

删除线或者不规则多边形节点的方法

disable()

关闭绘制工具的方法

dispose()

废置点线面绘制对象

edit(marker)

编辑点线面方法

Name Type Description
marker fengmap.FMImageMarker | fengmap.FMLineMarker | fengmap.FMPolygonMarker

要编辑的点线面对象

enable()

开启绘制工具的方法

getStyle(type)

获得点线面以及编辑辅助项的样式

Name Type Description
type string

样式类型
lineStyle:获取线的样式
polygonStyle:获取面(polygonMarker)的样式
centerStyle:获取编辑线或者面时的中点标识图的url地址和尺寸
nodeStyle:获取编辑线或者面时的各个顶点标识样式
pointStyle:获取点(imageMarker)的样式

on(type, callback)

点线面事件注册

Name Type Description
type string

事件类型

callback function

回调函数

setStyle(type, style)

设置点线面以及编辑辅助项的样式,如果不设置为默认样式

Name Type Description
type string

样式类型
lineStyle:线的样式
polygonStyle:面(polygonMarker)的样式
centerStyle:编辑线或者面时的中点标识图的url地址和尺寸
nodeStyle:编辑线或者面时的各个顶点标识样式
pointStyle:点(imageMarker)的样式

style JSON

样式对象 当type为lineStyle时,style设置lineMarker的样式

当type为polygonStyle时,style内容为polygonMarker样式

当type为pointStyle时,style为imageMarker样式对象,加入一个rectColor属性,用于设置点的包围框样式,默认为红色,举例:
{ collision: false height: 3 rectColor: "#00EEEE",选中框颜色 size: 32 url: "" }

当type设置centerStyle时,style为
{url:URL地址字符串,size:编辑点或中点的大小,默认16}

当type为nodeStyle时,style为
{
editStyle:{
url: URL地址字符串, 各个顶点标识图url地址,如果不填则为默认图片
size: 数字类型,各个顶点标识图的尺寸,默认为16
},
newStyle:{
url: URL地址字符串, 虚拟新增节点标识图url地址,如果不填则为默认图片,
size: 数字类型,虚拟新增节点的尺寸,默认为10
},
selectedStyle:{
url: URL地址字符串, 选中的节点标识图url地址,如果不填则为默认图片,
size: 数字类型,被选中节点的尺寸,默认为16
},
}

Events

deleted

删除事件

Example
{
 type:'deleted',  事件类型
 target:{},  删除的对象,fengmap.FMImageMarker,fengmap.FMLineMarker,fengmap.FMPolygonMarker对象
}

drawing

绘制中事件

Example
{
 type:'drawing', 事件类型
 target:{}, 绘制的对象,fengmap.FMImageMarker,fengmap.FMLineMarker,fengmap.FMPolygonMarker对象
}

drawn

绘制完成事件

Example
{
 type:'drawn', 事件类型
 target:{}, 绘制的对象,fengmap.FMImageMarker,fengmap.FMLineMarker,fengmap.FMPolygonMarker对象
}

edited

编辑完成事件

Example
{
 type:'edited',  事件类型
  target:{},  删除的对象,fengmap.FMImageMarker,fengmap.FMLineMarker,fengmap.FMPolygonMarker对象
}