control~Measure(options)

量测控件,可以量测XY平面内的距离、面积,不支持三维量测。

Summary

Methods:
activate

激活该控件,只有将控件添加到地图上时才起作用。

clear

清除测量时在地图上产生的要素信息。

deactivate

禁用控件,取消测量。

destroy

销毁测量控件

getClosePic

获得当前的关闭图标的路径或base64编码字符串

getControlType

返回控件的类型

getId

获取控件唯一标识

getLayer

获取绘制控件的图层

getMap

获取控件绑定的地图对象。

getStatus

返回控件当前状态。

on

注册测量事件,注意新注册的测量事件会覆盖原有的测量事件

setClosePic

设置关闭图标的路径或base64编码字符串

setId

设置控件唯一标识。如果唯一标识已经存在,则会返回添加失败异常。

setStyle

设置绘制时的样式

startMeasureArea

启动测量面积功能。控件需处于激活状态,处于非激活状态时,不能进行测量面积。

startMeasureDistance

启动测量距离功能。控件需处于激活状态,处于非激活状态时不能进行测量,请先激活该控件。

stopMeasure

停止测量,停止之后不可以测量距离和面积。

un

取消已注册的测量事件

Constructor

new Measure(options)

构造函数,创建一个量测控件实例。

Parameters:
Name Type Description
options Object

可选项

Name Type Description
unit String

测量单位,当前支持"m"(米)、"km"(千米,默认)、"nmi"(海里)、"mi"(英里),对应的长度结果单位为测量单位,比如米;面积测量结果单位为测量单位的平方,比如"平方千米"。

plotStyle module:style~Style

控件绘制时的样式,区别于图层样式

tipStyle String

提示框的css样式,
默认值为"position:absolute;
color:black;font-size:13px;
zIndex:999;line-height:15px;
padding-left:8px;border:1px solid black;
background:white"

closePic String

关闭按钮的png路径或base64编码后的字符串,
默认值为 'data:image/png;base64,iVBORw0KGgoAAA
ANSUhEUgAAABQAAAAVCAIAAADJt1n/AAAAtklEQVR42mP
8//8/A+ng9Zu3FVUtjORphugnXzMQUFdzZydDQgKDuDi6
wpcvGZYtYygsxK152jSG7GwGJSWGY8dQ9AN1Wlkx3LvHM
GsWQ2oqDs1wRcj6sQpidzaaUiDAoRNHgMH1c3ODuF+/Yt
WJO7SB+pWVQdqAAGjE3btYgpAGmsl3NvkBRlFUEUwkc+Y
wJCfjdnZ3N0NcHFnJk0QwQJpfvya3MADqLK9uZmRkEyHD
vSDEyAgA1PWx8n18D9YAAAAASUVORK5CYII='

Example
let measureControl = new hmap.control.Measure();
//事件回调枚举:
//measureEventType.DISTANCESTART   距离测量方法调用成功时触发
//measureEventType.DISTANCEFINISHED 距离测量绘制结束时触发
//measureEventType.AREASTART        面积测量方法调用成功时触发
//measureEventType.AREAFINISHED     面积测量绘制结束时触发
measureControl.on(measureControl.measureEventType.DISTANCESTART,function(){
     console.log("start");
})

Methods

activate()

激活该控件,只有将控件添加到地图上时才起作用。

Example
measureControl.activate();

clear()

清除测量时在地图上产生的要素信息。

deactivate()

禁用控件,取消测量。

Example
measureControl.deactivate();

destroy()

销毁测量控件

getClosePic() → {*}

获得当前的关闭图标的路径或base64编码字符串

Returns:
*

getControlType() → {String}

返回控件的类型

Returns:
String

getId() → {String}

获取控件唯一标识

Returns:
String -

控件标识。

getLayer() → {module:layer~VectorLayer}

获取绘制控件的图层

Returns:
module:layer~VectorLayer -

矢量图层

getMap() → {hmap.Map}

获取控件绑定的地图对象。

Returns:
hmap.Map -

地图对象。

getStatus() → {Boolean}

返回控件当前状态。

Returns:
Boolean -

true:表示激活 false:表示禁用。

on(type, callback)

注册测量事件,注意新注册的测量事件会覆盖原有的测量事件

Parameters:
Name Type Description
type String

事件类型,当前取值有"disstart":开始测距、"disend":结束测距、"areastart":开始测面积、"disend":结束测面积

callback function

setClosePic(closePic)

设置关闭图标的路径或base64编码字符串

Parameters:
Name Type Description
closePic
Example
const closePic ='../imgs/xxx.png';
measureControl.setClosePic(closePic);

setId(id)

设置控件唯一标识。如果唯一标识已经存在,则会返回添加失败异常。

Parameters:
Name Type Description
id String

控件唯一标识。

setStyle(style)

设置绘制时的样式

Parameters:
Name Type Description
style module:style~Style

绘制样式

startMeasureArea()

启动测量面积功能。控件需处于激活状态,处于非激活状态时,不能进行测量面积。

startMeasureDistance()

启动测量距离功能。控件需处于激活状态,处于非激活状态时不能进行测量,请先激活该控件。

Example
let measureControl = new hmap.control.Measure();
map.addControl(measureControl);
measureControl.startMeasureDistance();

stopMeasure()

停止测量,停止之后不可以测量距离和面积。

un(type)

取消已注册的测量事件

Parameters:
Name Type Description
type String

事件类型