new Measure(map, measureMode [, options])
测量工具类构造函数
Parameters:
| Name | Type | Argument | Default | Description |
|---|---|---|---|---|
map |
Glodon.CIMCube | CIMCube实例 | ||
measureMode |
Glodon.CIMCube.Global.Defines.MeasureMode | 测量模式,不同测量模式配置参数不同,请参考options参数 | ||
options |
CoordinateOptions | AngleOptions | AzimuthOptions | GroundAreaOptions | GroundDistanceOptions | HeightDiffOptions | ModelDistanceOptions | ProjectDistanceOptions | ProjectedAreaOptions | SlopeOptions | SpaceAreaOptions | SpaceDistanceOptions | VolumeOptions |
<optional> |
{} | 量测配置参数 |
Members
-
isActive :Boolean
-
量测是否启动,启动则返回true,否则返回false
Type:
- Boolean
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); let mode = measure.isActive;
-
measureMode :Glodon.CIMCube.Global.Defines.MeasureMode
-
获取当前量测模式
Type:
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); let mode = measure.measureMode;
Methods
-
activate()
-
激活量测功能
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.activate();
-
addEvent()
-
测量鼠标事件绑定
-
addEventListener(actionType, listener)
-
注册事件回调函数
Parameters:
Name Type Description actionTypeGlodon.CIMCube.Global.Defines.MapActionType 动作类型 listenerfunction 回调函数 Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.addEventListener();
-
clearAll()
-
清除所有量测标注
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.clearAll();
-
completion()
-
完成量测(等同于鼠标右键点击)
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.completion();
-
deactivate()
-
失效量测功能
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.deactivate();
-
delete(id)
-
移除绘制结果
Parameters:
Name Type Description idString 绘制结果id -
dispose()
-
销毁对象,使用后需要调用该函数释放资源
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.dispose();
-
get(id)
-
获取绘制结果
Parameters:
Name Type Description idString 绘制结果id Returns:
绘制结果- Type
- Object | null
-
getMeasureLayer()
-
获取量测图层
Returns:
量测图层 -
hide(id)
-
隐藏绘制结果
Parameters:
Name Type Description idString 绘制结果id -
off()
-
解绑事件(语法糖:off == removeAllEventListener|removeEventListener)
-
on()
-
监听事件(语法糖:on == addEventListener)
-
removeAllEventListener()
-
移除所有的事件回调函数
Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.removeAllEventListener();
-
removeEventListener(actionType)
-
删除事件回调函数
Parameters:
Name Type Description actionTypeGlodon.CIMCube.Global.Defines.MapActionType 动作类型 -
restore(positions)
-
恢复测量结果
Parameters:
Name Type Description positionsArray 测量结果点数组 -
setDatum(opts)
-
设置测量的基准面; 仅支持体积测量
Parameters:
Name Type Description optsObject 测量的基准面 {mode: 'customPlane', altitude: 234.232} -
setLayer(layer)
-
设置测量的图层; 仅支持体积测量
Parameters:
Name Type Description layerLayer 图层 -
setPosition(position)
-
设置测量坐标点(等同于鼠标点击拾取)
Parameters:
Name Type Description positionObject 空间位置 Properties
Name Type Description lonNumber 经度 latNumber 纬度 heightNumber 高度 Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.setPosition({lon:100,lat:30,height:100}); -
setStyle(options)
-
设置量测样式,需要重新激活才能生效
Parameters:
Name Type Description optionsObject 量测样式 -
setTriangulationType(type)
-
设置三角测量类型(仅支持三角测量模式),需要重新激活才能生效
Parameters:
Name Type Description typeGlodon.CIMCube.Global.Defines.TriangulationType 三角测量类型 -
setVolume(enable, volumeColor)
-
设置测量范围颜色; 仅支持体积测量
Parameters:
Name Type Description enableBoolean 是否显示量测范围 volumeColorColor 测量颜色 -
show(id)
-
显示绘制结果
Parameters:
Name Type Description idString 绘制结果id -
undo()
-
撤销测量,可以单步撤销最近一次拾取的点
-
updatePosition(position)
-
更新测量坐标点(等同于鼠标mouseMove事件)
Parameters:
Name Type Description positionObject 空间位置 Properties
Name Type Description lonNumber 经度 latNumber 纬度 heightNumber 高度 Example
let measure = new Glodon.CIMCube.Utils.Measure(viewer, Glodon.CIMCube.Global.Defines.MeasureMode.Coordinate); measure.updatePosition({lon:100,lat:30,height:100});
Events
-
leftButtonClicked
-
鼠标左键点击时触发
Returns:
事件- Type
- EventProperty
Example
let fun1 = function(carto){ }; measure.leftButtonClicked.addEventListener(fun1); measure.leftButtonClicked.removeEventListener(fun1); -
rightButtonClicked
-
鼠标右键点击时触发
Example
let fun1 = function(){ }; measure.rightButtonClicked.addEventListener(fun1); measure.rightButtonClicked.removeEventListener(fun1); -
ADD
-
添加完成后触发
Example
measure.on(Glodon.CIMCube.Global.Defines.MapActionType.ADD, function (event) { console.log(event); }) -
CHANGED
-
测量修改后触发
Example
measure.on(Glodon.CIMCube.Global.Defines.MapActionType.CHANGED, function (event) { console.log(event); }) -
FINISH
-
测量完成后触发
Type: Object
Properties:
Name Type Description modeGlodon.CIMCube.Global.Defines.MeasureMode 测量模式 graphicGlodon.CIMCube.Graphic.BaseGraphic 绘制几何图层 Example
measure.on(Glodon.CIMCube.Global.Defines.MapActionType.FINISH, function (event) { console.log(event); })