Class: Measure

Glodon.CIMCube.Utils. Measure

测量工具类

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
actionType Glodon.CIMCube.Global.Defines.MapActionType 动作类型
listener function 回调函数
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
id String 绘制结果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
id String 绘制结果id
Returns:
绘制结果
Type
Object | null

getMeasureLayer()

获取量测图层
Returns:
量测图层
Type
Glodon.CIMCube.Layer.GraphicLayer

hide(id)

隐藏绘制结果
Parameters:
Name Type Description
id String 绘制结果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
actionType Glodon.CIMCube.Global.Defines.MapActionType 动作类型

restore(positions)

恢复测量结果
Parameters:
Name Type Description
positions Array 测量结果点数组

setDatum(opts)

设置测量的基准面; 仅支持体积测量
Parameters:
Name Type Description
opts Object 测量的基准面 {mode: 'customPlane', altitude: 234.232}

setLayer(layer)

设置测量的图层; 仅支持体积测量
Parameters:
Name Type Description
layer Layer 图层

setPosition(position)

设置测量坐标点(等同于鼠标点击拾取)
Parameters:
Name Type Description
position Object 空间位置
Properties
Name Type Description
lon Number 经度
lat Number 纬度
height Number 高度
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
options Object 量测样式

setTriangulationType(type)

设置三角测量类型(仅支持三角测量模式),需要重新激活才能生效
Parameters:
Name Type Description
type Glodon.CIMCube.Global.Defines.TriangulationType 三角测量类型

setVolume(enable, volumeColor)

设置测量范围颜色; 仅支持体积测量
Parameters:
Name Type Description
enable Boolean 是否显示量测范围
volumeColor Color 测量颜色

show(id)

显示绘制结果
Parameters:
Name Type Description
id String 绘制结果id

undo()

撤销测量,可以单步撤销最近一次拾取的点

updatePosition(position)

更新测量坐标点(等同于鼠标mouseMove事件)
Parameters:
Name Type Description
position Object 空间位置
Properties
Name Type Description
lon Number 经度
lat Number 纬度
height Number 高度
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
mode Glodon.CIMCube.Global.Defines.MeasureMode 测量模式
graphic Glodon.CIMCube.Graphic.BaseGraphic 绘制几何图层
Example
measure.on(Glodon.CIMCube.Global.Defines.MapActionType.FINISH, function (event) {
 console.log(event);
})