DistanceMeasure

new CooSDK.DistanceMeasure(props)

距离测量对象,对三维空间中两个点或者地形表面形成的线段进行距离量算。


距离测量效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
altiLineColor ColorObj new ColorObj(0.0,1.0,1.0,1.0) optional

贴地线颜色,仅在type=EnumMeasureDistanceType.SURFACE时生效。

altiLineStipple Number -1 optional

贴地线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。

altiLineWidth Number 5 optional

贴地线宽度,仅在type=EnumMeasureDistanceType.SURFACE时生效。

analysisTextSymbol AnalysisTextSymbol new AnalysisTextSymbol() optional

测量显示文字符号对象。

callback NNCallback | String "none" optional

测量完成时回调绑定函数。

guideLineColor ColorObj new ColorObj(1.0,1.0,0.0,1.0) optional

辅助线颜色。仅在type=EnumMeasureDistanceType.LINE时生效。

guideLineStipple Number -1 optional

辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。仅在type=EnumMeasureDistanceType.LINE时生效。

guideLineWidth Number 2.0 optional

辅助线宽度,范围1-10之间。仅在type=EnumMeasureDistanceType.LINE时生效。

interval Number 1 optional

采样间隔。仅在type=EnumMeasureDistanceType.SURFACE时生效。

isDepthTest Boolean false optional

是否开启深度测试。

isGuideLine Boolean false optional

是否开启辅助线。仅在type=EnumMeasureDistanceType.LINE时生效。

isJoinPick Boolean true optional

是否可以被拾取。

isTextVisible Boolean true optional

是否显示文字,默认为false。如为false,则TextLiftUp和Style配置都无效。

isWorld Boolean false optional

传入的坐标是否是世界坐标。

lineColor ColorObj new ColorObj(0.8,0.0,0.0,1.0) optional

线颜色。仅在type=EnumMeasureDistanceType.LINE时生效。

lineWidth Number 2 optional

线宽度。仅在type=EnumMeasureDistanceType.LINE时生效。

loadPointArray Array.<(PositionObj|String)> null optional

预设加载点集合,不设置的情况下为通过鼠标点击进行绘制,支持字符串类型数组传入方式:"经度,纬度,高度"。

nonIntersectArray Array.<EnumLayer> [EnumLayer.ANALYSIS] optional

测量与场景哪些类型图层数据不相交。默认为分析类,即与除分析之外所有图层数据都相交

pointColor ColorObj new ColorObj(0.0,1.0,1.0,1.0) optional

点颜色。

pointSize Number 5 optional

点大小。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

textLiftUp Number 0 optional

文字抬高高度。

type EnumMeasureDistanceType EnumMeasureDistanceType.LINE optional

距离测量类型。

Example:
// 最简单的写法
var measureLayer = new CooSDK.DistanceMeasure();

// 或者根据自身需求设置参数
var measureLayer = new CooSDK.DistanceMeasure({
     // 如设置loadPointArray参数,则通过参数创建测量,否则通过鼠标在场景点击来创建
     loadPointArray: [
         "104.288036730880, 32.584711168889, -7346.652474218048",
         "69.244891227887, 7.543936418022, -12639.727377850562",
         "95.204157171724, -30.731488326755, -11511.798926975578"
         new CooSDK.PositionObj(104.288036730880, 32.584711168889, -7346.652474218048),
         new CooSDK.PositionObj(69.244891227887, 7.543936418022, -12639.727377850562),
         new CooSDK.PositionObj(95.204157171724, -30.731488326755, -11511.798926975578)
     ],
     analysisTextSymbol: {
         size: 140,
         fillingColor: new CooSDK.ColorObj(0.0, 1.0, 1.0, 1.0),
         isHorizontal: true
     }
});
Demo:

Members

altiLineColor : ColorObj

获取或者设置贴地线颜色,仅在type=EnumMeasureDistanceType.SURFACE时生效。

Default Value: new ColorObj(0.0,1.0,1.0,1.0)

altiLineStipple : Number

获取或者设置贴地线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。

Default Value: -1

altiLineWidth : Number

获取或者设置贴地线宽度,仅在type=EnumMeasureDistanceType.SURFACE时生效。

Default Value: 5

analysisTextSymbol : AnalysisTextSymbol

获取或者设置文字Symbol。

Default Value: new AnalysisTextSymbol()

callback : NNCallback|String

获取或者设置三维距离测量完成时回调事件绑定的函数,若取消原先绑定的函数,则赋值为"none"。

Default Value: "none"

guideLineColor : ColorObj

获取或者设置辅助线颜色。仅在type=EnumMeasureDistanceType.LINE时生效。

Default Value: new ColorObj(1.0,1.0,0.0,1.0)

guideLineStipple : Number

获取或者设置辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。仅在type=EnumMeasureDistanceType.LINE时生效。

Default Value: -1

guideLineWidth : Number

获取或者设置辅助线宽度,范围1-10之间。仅在type=EnumMeasureDistanceType.LINE时生效。

Default Value: 2.0

interval : Number

获取或者设置采样间隔。仅在type=EnumMeasureDistanceType.SURFACE时生效。

Default Value: 1

isDepthTest : Boolean

获取或者设置测量是否开启深度测试。

Default Value: false

isGuideLine : Boolean

获取或者设置是否开启辅助线。仅在type=EnumMeasureDistanceType.LINE时生效。

Default Value: false

isJoinPick : Boolean

获取或者设置是否可以被拾取。

Default Value: true

isTextVisible : Boolean

获取或者设置测量文字显示状态。

Default Value: true

isWorld : Boolean

获取或者设置传入的坐标是否是世界坐标。

Default Value: false

lineColor : ColorObj

获取或者设置测量线颜色(RGBA)。仅在type=EnumMeasureDistanceType.LINE时生效。

Default Value: new ColorObj(0.8,0.0,0.0,1.0)

lineWidth : Number

获取或者设置测量线宽度。仅在type=EnumMeasureDistanceType.LINE时生效。

Default Value: 2

loadPointArray : Array.<(PositionObj|String)>

获取或者设置预设点集,支持字符串类型数组传入方式:"经度,纬度,高度"。

Default Value: null

nonIntersectArray : Array.<EnumLayer>

获取或者设置测量与场景哪些类型图层数据不相交。默认为分析类,即与除分析之外所有图层数据都相交

Default Value: [EnumLayer.ANALYSIS]

pointColor : ColorObj

获取或者设置测量点颜色(RGBA)。

Default Value: new ColorObj(0.0,1.0,1.0,1.0)

pointSize : Number

获取或者设置测量点大小。

Default Value: 5

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

textLiftUp : Number

获取或者设置文字抬高高度。

Default Value: 0.0

获取或者设置距离测量类型。

Default Value: EnumMeasureDistanceType.LINE

Methods

deserialize(url)DistanceMeasure

Name Type Description
url String

反序列化文件保存路径,支持本地路径和网络路径。

Returns:

地表距离测量对象。

destroy(reFunc)

从场景中销毁自身。

Name Type Default Description
reFunc NNCallback null optional

销毁地图成功后可传入的回调函数。

Returns:

null 空值。

Example:
// 销毁对象
measureLayer = measureLayer.destroy();

getResult(name, reCallback)String

根据指定参数获取测量结果。

Name Type Description
name EnumMeasureDistance

查询参数。

reCallback CBCallback optional

可传递的回调函数,返回测量查询结果。

Returns:

测量查询结果。

Example:
// 获取分析结果
var result = measureLayer.getResult(CooSDK.EnumMeasureDistance.CLICKPOS);
console.log(result);

serialize(url)

Name Type Description
url String

序列化文件保存路径,仅支持本地路径。

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
altiLineColor ColorObj optional

贴地线颜色,仅在type=EnumMeasureDistanceType.SURFACE时生效。

altiLineStipple Number optional

贴地线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。

altiLineWidth Number optional

贴地线宽度,仅在type=EnumMeasureDistanceType.SURFACE时生效。

analysisTextSymbol AnalysisTextSymbol optional

测量显示文字符号对象。

callback NNCallback | String optional

测量完成时回调绑定函数。

guideLineColor ColorObj optional

辅助线颜色。仅在type=EnumMeasureDistanceType.LINE时生效。

guideLineStipple Number optional

辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。仅在type=EnumMeasureDistanceType.LINE时生效。

guideLineWidth Number optional

辅助线宽度,范围1-10之间。仅在type=EnumMeasureDistanceType.LINE时生效。

interval Number optional

采样间隔。仅在type=EnumMeasureDistanceType.SURFACE时生效。

isDepthTest Boolean optional

是否开启深度测试。

isGuideLine Boolean optional

是否开启辅助线。仅在type=EnumMeasureDistanceType.LINE时生效。

isJoinPick Boolean optional

是否可以被拾取。

isTextVisible Boolean optional

是否显示文字,默认为false。如为false,则TextLiftUp和Style配置都无效。

isWorld Boolean optional

传入的坐标是否是世界坐标。

lineColor ColorObj optional

线颜色。仅在type=EnumMeasureDistanceType.LINE时生效。

lineWidth Number optional

线宽度。仅在type=EnumMeasureDistanceType.LINE时生效。

loadPointArray Array.<(PositionObj|String)> optional

预设加载点集合,不设置的情况下为通过鼠标点击进行绘制,支持字符串类型数组传入方式:"经度,纬度,高度"。

nonIntersectArray Array.<EnumLayer> optional

测量与场景哪些类型图层数据不相交。默认为分析类,即与除分析之外所有图层数据都相交。

pointColor ColorObj optional

点颜色。

pointSize Number optional

点大小。

textLiftUp Number optional

文字抬高高度。

Example:
// 更新测量属性
measureLayer.update({
     analysisTextSymbol: {
         size: 200,
         fillingColor: new CooSDK.ColorObj(1, 1, 0, 1),
         isHorizontal: true,
         measureUnit: CooSDK.EnumMeasureUnit.METER,
         language: CooSDK.EnumLanguage.ENG
     }
});