测量管理器 MeasureManager
测量管理器是用于控制云渲染测量的工具,通过获取该管理器,用户可以方便地进行测量的控制和管理。 该工具的主要功能包括:
- 开启测量工具
- 两点测量
- 连续测量
- 高度测量
- 净距测量
- 角度测量
- 面积测量
- 清除测量线
- 终止绘制操作
- 设置测量选中的回调函数
- 设置测量完成的回调函数
我们将提供详细的使用指南和功能说明,帮助用户更好地使用该工具。
MeasureManager
用户可以调用云渲染实例 cloud
上的 getMeasureManager()
方法来获取 MeasureManager
测量管理器。
const measureManager = await cloud.getMeasureManager()
const measureManager = await cloud.getMeasureManager()
用户调用 cloud.getMeasureManager()
后,measureManager
会被自动挂载到当前 cloud
实例上。
await cloud.getMeasureManager()
const measureManager = cloud.measureManager
await cloud.getMeasureManager()
const measureManager = cloud.measureManager
两点测量 | drawTwopointMeasure
- 说明:两点测量功能
我们可以调用 measureManager
上面的 drawTwopointMeasure
方法来进行两点测量。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
两点测量(drawTwopointMeasure)
两点测量drawTwopointMeasure
,也称为距离测量或线性测量,通过依次选择两个点,以此得到模型中这两个点的线性距离,需要注意的是启用两点测量时,严格按照数据格式measureConfig
进行参数传递。
调用示例:
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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawTwopointMeasure('cc', 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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawTwopointMeasure('cc', config)
连续测量 | drawContinuousMeasure
- 说明:连续测量功能
我们可以调用 measureManager
上面的 drawContinuousMeasure
方法来进行模型的连续测量。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
连续测量(drawContinuousMeasure)
连续测量drawContinuousMeasure
,依次选择多个点,按选择顺序得到多点之间的累加距离,需要注意的是启用连续测量时,严格按照数据格式measureConfig
进行参数传递。
调用示例:
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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawContinuousMeasure('cc', 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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawContinuousMeasure('cc', config)
高度测量 | drawVerticalMeasure
- 说明:高度测量功能
我们可以调用 measureManager
上面的 drawVerticalMeasure
方法来进行模型的高度测量。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
referenceHeight | null | number | - |
measureConfig | null | measureConfig | 测量参数(选填) |
调用示例:
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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawVerticalMeasure('aa', 0, 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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawVerticalMeasure('aa', 0, config)
净距测量 | drawClearDistanceMeasure
- 说明:净距测量功能
我们可以调用 measureManager
上面的 drawClearDistanceMeasure
方法来进行模型的净距测量。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
净距测量(drawClearDistanceMeasure)
净距测量drawClearDistanceMeasure
,当前选择点到与当前选择点所在平面垂直的直线经过的最近的模型的距离,需要注意的是启用净距测量时,严格按照数据格式measureConfig
进行参数传递。
调用示例:
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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawClearDistanceMeasure('aa', 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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawClearDistanceMeasure('aa', config)
角度测量 | drawAngularMeasure
- 说明:角度测量功能
我们可以调用 measureManager
上面的 drawAngularMeasure
方法来进行模型的角度测量。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
调用示例:
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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAngularMeasure('aa', 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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAngularMeasure('aa', config)
面积测量 | drawAreaMeasure
- 说明:面积测量功能
我们可以调用 measureManager
上面的 drawAreaMeasure
方法来进行模型的面积测量。
- 参数说明
Name | Type | Description |
---|---|---|
layerName | null | string | 层名(选填) |
measureConfig | null | measureConfig | 测量参数(选填) |
调用示例:
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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAreaMeasure('cc', 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',
polygonColor: '0x88ffff00',
measureLableStyle:
{
backgroundColor: '0xffffff00',
frameColor: '0x00ffffff',
frontStyle: font1,
ShowByDistance: [0, 20],
},
},
}
await measureManager.drawAreaMeasure('cc', config)
清除测量线 | clearMeasureLine
- 说明:清除测量线功能
我们可以调用 measureManager
上面的 drawAreaMeasure
方法来清除测量线。
调用示例:
const measureManager = await cloud.getMeasureManager()
await measureManager.clearMeasureLine()
const measureManager = await cloud.getMeasureManager()
await measureManager.clearMeasureLine()
终止绘制操作 | stopDrawing
- 说明:终止绘制操作功能
我们可以调用 measureManager
上面的 stopDrawing
方法来终止绘制操作。
调用示例:
const measureManager = await cloud.getMeasureManager()
await measureManager.stopDrawing()
const measureManager = await cloud.getMeasureManager()
await measureManager.stopDrawing()
设置测量选中的回调函数 | setMeasureSelected
- 说明:设置测量选中的回调函数
我们可以调用 measureManager
上面的 setMeasureSelected
方法来设置测量选中的回调函数。
- 参数说明
Name | Type | Description |
---|---|---|
fn | (measure : MeasureLine ) => void | 回调函数,measure为测量线对象(必填) |
调用示例:
cloud.measureManager.setMeasureSelected(MeasureSelected)
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)
}
设置测量完成的回调函数 | setMeasureFinished
- 说明:设置测量完成的回调函数
我们可以调用 measureManager
上面的 setMeasureFinished
方法来设置测量完成的回调函数。
- 参数说明
Name | Type | Description |
---|---|---|
fn | (measure : MeasureLine ) => void | 回调函数,measure为测量线对象(必填) |
调用示例:
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)