cesium 方位测量
时间: 2023-11-12 12:08:24 浏览: 93
esium是一个基于WebGL的虚拟地球和地理信息可视化JavaScript库。它可以用于创建各种地球和地理信息应用程序,包括方位测量。在Cesium中,可以使用鼠标在地球表面上绘制线条或多边形,并计算它们的长度或面积。以下是实现方位测量的代码片段:
```javascript
//设置各种操作模式
function SetMode(mode) {
if (mode == "drawPloy") {
tempPoints = [];
handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function (click) {
var cartesian = viewer.camera.pickEllipsoid(click.position, scene.globe.ellipsoid);
if (cartesian) {
var cartographic = Cesium.Cartographic.fromCartesian(cartesian);
var longitudeString = Cesium.Math.toDegrees(cartographic.longitude);
var latitudeString = Cesium.Math.toDegrees(cartographic.latitude);
tempPoints.push({ lon: longitudeString, lat: latitudeString });
var tempLength = tempPoints.length;
drawPoint(tempPoints[tempPoints.length-1]);
if (tempLength > 1) {
drawLine(tempPoints[tempPoints.length - 2], tempPoints[tempPoints.length - 1], true);
}
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
}
}
```
以上代码中,`SetMode`函数用于设置操作模式,`drawPloy`表示绘制多边形,`tempPoints`用于存储绘制的点,`handler`用于处理鼠标事件。在左键单击时,会获取鼠标点击位置的经纬度坐标,并将其存储在`tempPoints`中。如果`tempPoints`中有两个或更多的点,则会绘制线条并计算长度或面积。
阅读全文