Angle Measurement
DMap3D.measurement.angle is used to measure the angle between three points in 3D space.
Import
import DMap3D from 'dmap3d'
import * as Cesium from 'cesium'
Basic Usage
const viewer = new Cesium.Viewer('cesiumContainer')
// Create angle measurement tool
const angleTool = new DMap3D.measurement.angle(viewer)
// Start measurement (left-click three points: start, vertex, end)
angleTool.start()
Constructor
new DMap3D.measurement.angle(viewer)
Create an angle measurement tool instance. Inherits from MeasureBase base class.
Parameters:
viewer- Cesium.Viewer instance
Methods
start()
Start angle measurement. The user clicks three points in sequence: start point, vertex (angle vertex), and end point. The angle value is displayed in real-time at the vertex position.
angleTool.start()
end()
End measurement, keeping the drawn results.
angleTool.end()
clear()
Clear all measurement results.
angleTool.clear()
destroy()
Destroy the tool and release resources.
angleTool.destroy()
updateConfig(config)
Dynamically update style configuration. Existing measurement results will immediately apply the new styles.
angleTool.updateConfig({
pointColor: '#FF0000', // Measurement point color
pointSize: 10, // Measurement point size (pixels)
lineColor: '#00FF00', // Measurement line color
lineWidth: 3, // Measurement line width (pixels)
fontColor: '#FFFF00', // Angle label text color
fontSize: 16, // Font size (pixels)
sectorColor: 'rgba(255, 0, 0, 0.5)', // Sector fill color
sectorLineColor: '#FF0000' // Sector border line color
})
Configuration Options
| Property | Type | Default | Description |
|---|---|---|---|
pointColor | string | '#ffc403' | Measurement point color |
pointSize | number | 8 | Measurement point size (pixels) |
lineColor | string | '#12e184' | Measurement line color |
lineWidth | number | 2 | Measurement line width (pixels) |
fontColor | string | '#ffc403' | Angle label text color |
fontSize | number | 14 | Font size (pixels) |
sectorColor | string | 'rgba(255, 196, 3, 0.3)' | Sector fill color |
sectorLineColor | string | '#ffc403' | Sector border line color |
Complete Example
const viewer = new Cesium.Viewer('cesiumContainer')
// Create angle measurement tool
const angleTool = new DMap3D.measurement.angle(viewer)
// Custom styles
angleTool.updateConfig({
pointColor: '#FF0000',
lineColor: '#00FF00',
fontColor: '#FFFF00',
fontSize: 16,
sectorColor: 'rgba(0, 255, 0, 0.3)'
})
// Start measurement
angleTool.start()
// Left-click three points to measure, angle is displayed automatically
// Right-click to end measurement
// Clear and remeasure
angleTool.clear()
angleTool.start()
// Destroy
angleTool.destroy()