角度测量
DMap3D.measurement.angle 用于测量三维空间中三个点之间的夹角。
引入
import DMap3D from 'dmap3d'
import * as Cesium from 'cesium'
基本用法
const viewer = new Cesium.Viewer('cesiumContainer')
// 创建角度测量工具
const angleTool = new DMap3D.measurement.angle(viewer)
// 开始测量(左键点击三个点:起点、顶点、终点)
angleTool.start()
构造函数
new DMap3D.measurement.angle(viewer)
创建角度测量工具实例。继承自 MeasureBase 基类。
参数:
viewer- Cesium.Viewer 实例
方法
start()
开始角度测量。用户依次点击三个点:起点、顶点(角的顶点)、终点。角度值实时显示在顶点位置。
angleTool.start()
end()
结束测量,保留已绘制的结果。
angleTool.end()
clear()
清除所有测量结果。
angleTool.clear()
destroy()
销毁工具并释放资源。
angleTool.destroy()
updateConfig(config)
动态更新样式配置,已存在的测量结果会立即应用新样式。
angleTool.updateConfig({
pointColor: '#FF0000', // 测量点颜色
pointSize: 10, // 测量点大小(像素)
lineColor: '#00FF00', // 测量线颜色
lineWidth: 3, // 测量线宽度(像素)
fontColor: '#FFFF00', // 角度标签文字颜色
fontSize: 16, // 字体大小(像素)
sectorColor: 'rgba(255, 0, 0, 0.5)', // 扇形填充颜色
sectorLineColor: '#FF0000' // 扇形边框线颜色
})
配置项
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
pointColor | string | '#ffc403' | 测量点颜色 |
pointSize | number | 8 | 测量点大小(像素) |
lineColor | string | '#12e184' | 测量线颜色 |
lineWidth | number | 2 | 测量线宽度(像素) |
fontColor | string | '#ffc403' | 角度标签文字颜色 |
fontSize | number | 14 | 字体大小(像素) |
sectorColor | string | 'rgba(255, 196, 3, 0.3)' | 扇形填充颜色 |
sectorLineColor | string | '#ffc403' | 扇形边框线颜色 |
完整示例
const viewer = new Cesium.Viewer('cesiumContainer')
// 创建角度测量工具
const angleTool = new DMap3D.measurement.angle(viewer)
// 自定义样式
angleTool.updateConfig({
pointColor: '#FF0000',
lineColor: '#00FF00',
fontColor: '#FFFF00',
fontSize: 16,
sectorColor: 'rgba(0, 255, 0, 0.3)'
})
// 开始测量
angleTool.start()
// 左键点击三个点进行测量,角度自动显示
// 右键点击结束测量
// 清除并重新测量
angleTool.clear()
angleTool.start()
// 销毁
angleTool.destroy()