距离测量对象,对三维空间中两个点或者地形表面形成的线段进行距离量算。
距离测量效果图
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
Object |
optional
包含如下属性的Object:
|
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)
获取或者设置贴地线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。
-
Default Value:
-1
获取或者设置贴地线宽度,仅在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)
获取或者设置辅助线显示样式,可控制实线/虚线显示,取值范围-32768-32767之间,-1为实线。仅在type=EnumMeasureDistanceType.LINE时生效。
-
Default Value:
-1
获取或者设置辅助线宽度,范围1-10之间。仅在type=EnumMeasureDistanceType.LINE时生效。
-
Default Value:
2.0
获取或者设置采样间隔。仅在type=EnumMeasureDistanceType.SURFACE时生效。
-
Default Value:
1
获取或者设置测量是否开启深度测试。
-
Default Value:
false
获取或者设置是否开启辅助线。仅在type=EnumMeasureDistanceType.LINE时生效。
-
Default Value:
false
获取或者设置是否可以被拾取。
-
Default Value:
true
获取或者设置测量文字显示状态。
-
Default Value:
true
获取或者设置传入的坐标是否是世界坐标。
-
Default Value:
false
lineColor : ColorObj
获取或者设置测量线颜色(RGBA)。仅在type=EnumMeasureDistanceType.LINE时生效。
-
Default Value:
new ColorObj(0.8,0.0,0.0,1.0)
获取或者设置测量线宽度。仅在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)
获取或者设置测量点大小。
-
Default Value:
5
获取或者设置所属窗口,默认为CooMap所拥有的主窗口。
-
Default Value:
null
获取或者设置文字抬高高度。
-
Default Value:
0.0
type : EnumMeasureDistanceType
获取或者设置距离测量类型。
-
Default Value:
EnumMeasureDistanceType.LINE
Methods
deserialize(url) → DistanceMeasure
Name | Type | Description |
---|---|---|
url |
String |
反序列化文件保存路径,支持本地路径和网络路径。 |
Returns:
地表距离测量对象。
从场景中销毁自身。
Name | Type | Default | Description |
---|---|---|---|
reFunc |
NNCallback |
null
|
optional
销毁地图成功后可传入的回调函数。 |
Returns:
null 空值。
Example:
// 销毁对象
measureLayer = measureLayer.destroy();
根据指定参数获取测量结果。
Name | Type | Description |
---|---|---|
name |
EnumMeasureDistance |
查询参数。 |
reCallback |
CBCallback |
optional
可传递的回调函数,返回测量查询结果。 |
Returns:
测量查询结果。
Example:
// 获取分析结果
var result = measureLayer.getResult(CooSDK.EnumMeasureDistance.CLICKPOS);
console.log(result);
Name | Type | Description |
---|---|---|
url |
String |
序列化文件保存路径,仅支持本地路径。 |
更新单个或者多个对象属性,使之立即生效。
一般用于多个属性的同时更新,避免性能开销过大。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
props |
Object |
optional
包含如下属性的Object:
|
Example:
// 更新测量属性
measureLayer.update({
analysisTextSymbol: {
size: 200,
fillingColor: new CooSDK.ColorObj(1, 1, 0, 1),
isHorizontal: true,
measureUnit: CooSDK.EnumMeasureUnit.METER,
language: CooSDK.EnumLanguage.ENG
}
});