跳到主要内容

角度测量

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' // 扇形边框线颜色
})

配置项

属性类型默认值说明
pointColorstring'#ffc403'测量点颜色
pointSizenumber8测量点大小(像素)
lineColorstring'#12e184'测量线颜色
lineWidthnumber2测量线宽度(像素)
fontColorstring'#ffc403'角度标签文字颜色
fontSizenumber14字体大小(像素)
sectorColorstring'rgba(255, 196, 3, 0.3)'扇形填充颜色
sectorLineColorstring'#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()

相关链接