Class: MeasureManager
测量管理类
Details
开启测量工具,两点、连续、净距、高度、角度、面积测量
Examples
const measureManager = await cloud.getMeasureManager() // 在CreateApp时调用
const measureManager = await cloud.getMeasureManager() // 在CreateApp时调用
Hierarchy
Callable
↳
MeasureManager
Methods
drawTwopointMeasure
▸ drawTwopointMeasure(layerName
, measureConfig
): Promise
<any
>
Details
两点测量
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawTwopointMeasure('cc', config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawTwopointMeasure('cc', config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
Returns
Promise
<any
>
无
drawContinuousMeasure
▸ drawContinuousMeasure(layerName
, measureConfig
): Promise
<any
>
Details
连续测量
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawContinuousMeasure('cc', config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawContinuousMeasure('cc', config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
Returns
Promise
<any
>
无
drawVerticalMeasure
▸ drawVerticalMeasure(layerName
, referenceHeight
, measureConfig
): Promise
<any
>
Details
高度测量
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawVerticalMeasure('aa', 0, config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawVerticalMeasure('aa', 0, config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
referenceHeight | null | number | 基准面高度(为空则不设置基准面) |
measureConfig | null | measureConfig | 测量参数(选填) |
Returns
Promise
<any
>
无
drawClearDistanceMeasure
▸ drawClearDistanceMeasure(layerName
, measureConfig
): Promise
<any
>
Details
净距测量
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawClearDistanceMeasure('aa', config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawClearDistanceMeasure('aa', config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
Returns
Promise
<any
>
无
drawAngularMeasure
▸ drawAngularMeasure(layerName
, measureConfig
): Promise
<any
>
Details
角度测量
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAngularMeasure('aa', config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAngularMeasure('aa', config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
Returns
Promise
<any
>
无
drawAreaMeasure
▸ drawAreaMeasure(layerName
, measureConfig
): Promise
<any
>
Details
面积测量
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAreaMeasure('cc', config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAreaMeasure('cc', config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
Returns
Promise
<any
>
无
clearMeasureLine
▸ clearMeasureLine(): Promise
<any
>
Details
清除测量线
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
await measureManager.clearMeasureLine()
var measureManager = await cloud.getMeasureManager()
await measureManager.clearMeasureLine()
Returns
Promise
<any
>
无
stopDrawing
▸ stopDrawing(): Promise
<any
>
Details
终止绘制操作
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
await measureManager.stopDrawing()
var measureManager = await cloud.getMeasureManager()
await measureManager.stopDrawing()
Returns
Promise
<any
>
无
getAllLayer
▸ getAllLayer(): Promise
<MeasureLayer
[]>
Details
获取层对象的list
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
var layerList = await measureManager.getAllLayer()
var measureManager = await cloud.getMeasureManager()
var layerList = await measureManager.getAllLayer()
Returns
Promise
<MeasureLayer
[]>
所有的层对象
removeLayer
▸ removeLayer(layerList
): Promise
<boolean
>
Details
批量删除层
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
var layerList = await measureManager.getAllLayer()
await measureManager.removeLayer(layerList)
var measureManager = await cloud.getMeasureManager()
var layerList = await measureManager.getAllLayer()
await measureManager.removeLayer(layerList)
Parameters
Name | Type | Description |
---|---|---|
layerList | MeasureLayer [] | 所选取的层对象(必填) |
Returns
Promise
<boolean
>
是否移除成功
setMeasureConfig
▸ setMeasureConfig(measureConfig
): Promise
<any
>
Details
修改全局测量参数
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
measureManager.setMeasureConfig(config)
var measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
measureManager.setMeasureConfig(config)
Parameters
Name | Type | Description |
---|---|---|
measureConfig | measureConfig | 测量参数 |
Returns
Promise
<any
>
addMeasure
▸ addMeasure(layerName
, points
, type
, measureConfig
): Promise
<any
>
Details
参数化添加测量线
Examples
调用示例:
const measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
//type类型 {'TwopointMeasure','ContinuousMeasure','AngularMeasure','AreaMeasure'}
await measureManager.addMeasure('dd', [[27.73902169718069, -0.00001332256942987442, 3.5325877056537163],
[25.772821044372748, -0.000012371689081192017, 5.467538982623501]], 'TwopointMeasure', config)
const measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
//type类型 {'TwopointMeasure','ContinuousMeasure','AngularMeasure','AreaMeasure'}
await measureManager.addMeasure('dd', [[27.73902169718069, -0.00001332256942987442, 3.5325877056537163],
[25.772821044372748, -0.000012371689081192017, 5.467538982623501]], 'TwopointMeasure', config)
Parameters
Name | Type | Description |
---|---|---|
layerName | null | string | 层名 |
points | Vector3 [] | 测量点集合 |
type | string | 测量类型 |
measureConfig | null | measureConfig | 测量参数 |
Returns
Promise
<any
>
无
importLayer
▸ importLayer(measureList
, layerName
, measureConfig
): Promise
<MeasureLayer
>
Details
导入图层中的所有测量线
Examples
调用示例:
const measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
//每个测量线对象包含 points[]、type和显示状态
const measureList
= [
{
points: [[27.73902169718069, -0.00001332256942987442, 3.5325877056537163],
[25.772821044372748, -0.000012371689081192017, 5.467538982623501]],
type: 'TwopointMeasure',
isShow: false,
},
{
points: [[26.516041069104386, -0.000011905096471309662, 1.575710132762838],
[23.27159772693404, -0.00001154094934463501, 4.201270633860877]],
type: 'TwopointMeasure',
isShow: true,
},
]
const layer = await measureManager.importLayer(measureList, 'dd', config)
const measureManager = await cloud.getMeasureManager()
const unit1: unitConfig = {
lengthUnit: 'm',
areaUnit: 'm2',
angularUnits: 'decimalDegrees',
}
const font1: fontStyle = {
fontSize: 16,
typeface: '宋体',
fillColor: '0xff000000',
OutlineColor: '0xff000000',
OutlineSize: 0,
}
const config: measureConfig
= {
snapPoints: true,
Accuracy: 3,
unit: unit1,
style:
{
lineColor: '0xFFFF8800',
lineSize: 0.05,
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
//每个测量线对象包含 points[]、type和显示状态
const measureList
= [
{
points: [[27.73902169718069, -0.00001332256942987442, 3.5325877056537163],
[25.772821044372748, -0.000012371689081192017, 5.467538982623501]],
type: 'TwopointMeasure',
isShow: false,
},
{
points: [[26.516041069104386, -0.000011905096471309662, 1.575710132762838],
[23.27159772693404, -0.00001154094934463501, 4.201270633860877]],
type: 'TwopointMeasure',
isShow: true,
},
]
const layer = await measureManager.importLayer(measureList, 'dd', config)
Parameters
Name | Type | Description |
---|---|---|
measureList | object | 层中所有测量线对象 |
layerName | null | string | 层名 |
measureConfig | null | measureConfig | 测量参数 |
Returns
Promise
<MeasureLayer
>
返回一个层对象
getLayerByName
▸ getLayerByName(name
): Promise
<null
| MeasureLayer
>
Details
通过层名获取层对象
Examples
调用示例:
var measureManager = await cloud.getMeasureManager()
const layer = await measureManager.getLayerByName('cc')
var measureManager = await cloud.getMeasureManager()
const layer = await measureManager.getLayerByName('cc')
Parameters
Name | Type | Description |
---|---|---|
name | string | 层名 |
Returns
Promise
<null
| MeasureLayer
>
层对象
setMeasureFinished
▸ setMeasureFinished(fn
): void
Details
设置测量完成的回调函数
Examples
调用示例:
function MeasureFinished(re: MeasureLine) {
(window as any).root = re
console.log(re)
}
cloud.measureManager.setMeasureFinished(MeasureFinished)
function MeasureFinished(re: MeasureLine) {
(window as any).root = re
console.log(re)
}
cloud.measureManager.setMeasureFinished(MeasureFinished)
Parameters
Name | Type | Description |
---|---|---|
fn | (measure : MeasureLine ) => void | 回调函数,measure为测量线对象(必填) |
Returns
void
setMeasureSelected
▸ setMeasureSelected(fn
): void
Details
设置测量选中的回调函数
Examples
调用示例:
function MeasureSelected(re: MeasureLine) {
(window as any).root = re
console.log(re)
}
cloud.measureManager.setMeasureSelected(MeasureSelected)
function MeasureSelected(re: MeasureLine) {
(window as any).root = re
console.log(re)
}
cloud.measureManager.setMeasureSelected(MeasureSelected)
Parameters
Name | Type | Description |
---|---|---|
fn | (measure : MeasureLine ) => void | 回调函数,measure为测量线对象(必填) |
Returns
void
selectRelativeZeroPlane
▸ selectRelativeZeroPlane(): Promise
<any
>
Details
基准面选取
Examples
调用示例:
const measureManager = await cloud.getMeasureManager()
await measureManager.selectRelativeZeroPlane()
const measureManager = await cloud.getMeasureManager()
await measureManager.selectRelativeZeroPlane()
Returns
Promise
<any
>
无
setZeroPlaneSelected
▸ setZeroPlaneSelected(fn
): void
Details
设置基准面选取的回调函数
Examples
调用示例:
function ZeroPlaneSelected(re: height) {
(window as any).root = re
console.log(re)
}
cloud.measureManager.setZeroPlaneSelected(ZeroPlaneSelected)
function ZeroPlaneSelected(re: height) {
(window as any).root = re
console.log(re)
}
cloud.measureManager.setZeroPlaneSelected(ZeroPlaneSelected)
Parameters
Name | Type | Description |
---|---|---|
fn | (height : number ) => void | 回调函数,height为基准面值 |
Returns
void