方位角测量
DMap3D.measurement.azimuth 用于测量三维空间中两点之间的方位角(从正北方向顺时针的角度)。
引入
import DMap3D from 'dmap3d'
import * as Cesium from 'cesium'
基本用法
const viewer = new Cesium.Viewer('cesiumContainer')
// 创建方位角测量工具
const azimuthTool = new DMap3D.measurement.azimuth(viewer)
// 开始测量(左键点击两个点:起点、终点)
azimuthTool.start()
// 方位角值实时显示,格式:方位角: XX°
构造函数
new DMap3D.measurement.azimuth(viewer)
创建方位角测量工具实例。继承自 MeasureBase 基类。
参数:
viewer- Cesium.Viewer 实例
方法
start()
开始方位角测量。用户左键点击两个点(起点和终点),方位角实时显示在线段中点位置。同时会显示正北方向指示箭头。
azimuthTool.start()
end()
结束测量,保留已绘制的结果。
azimuthTool.end()
clear()
清除所有测量结果。
azimuthTool.clear()
destroy()
销毁工具并释放资源。
azimuthTool.destroy()
updateConfig(config)
动态更新样式配置。
azimuthTool.updateConfig({
pointColor: '#FF0000', // 测量点颜色
pointSize: 10, // 测量点大小(像素)
lineColor: '#00FF00', // 测量线颜色
lineWidth: 3, // 测量线宽度(像素)
fontColor: '#FFFF00', // 方位角标签文字颜色
fontSize: 16, // 字体大小(像素)
arrowColor: '#FF00FF', // 正北方向指示箭头颜色
arrowLength: 30 // 正北方向指示箭头长度(米)
})
配置项
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
pointColor | string | '#ffc403' | 测量点颜色 |
pointSize | number | 8 | 测量点大小(像素) |
lineColor | string | '#12e184' | 测量线颜色 |
lineWidth | number | 2 | 测量线宽度(像素) |
fontColor | string | '#ffc403' | 方位角标签文字颜色 |
fontSize | number | 14 | 字体大小(像素) |
arrowColor | string | '#ffc403' | 正北方向指示箭头颜色 |
arrowLength | number | 20 | 正北方向指示箭头长度(米) |
方位角说明
方位角基于 ENU(东-北-天)局部坐标系计算:
- 0°: 正北方向
- 90°: 正东方向
- 180°: 正南方向
- 270°: 正西方向
- 范围:
0° - 360°,顺时针方向为正
完整示例
const viewer = new Cesium.Viewer('cesiumContainer')
// 创建方位角测量工具
const azimuthTool = new DMap3D.measurement.azimuth(viewer)
// 自定义样式
azimuthTool.updateConfig({
pointColor: '#FF0000',
lineColor: '#00FFFF',
fontColor: '#FFFF00',
arrowColor: '#FF0000',
arrowLength: 50,
fontSize: 16
})
// 开始测量
azimuthTool.start()
// 左键点击两个点,方位角自动计算并显示
// 同时会在起点位置显示一条正北方向的指示线
// 清除并重新测量
azimuthTool.clear()
azimuthTool.start()
// 销毁
azimuthTool.destroy()