Cesium專欄-測量工具測距、測面、測高(附源碼下載)

Cesium


Cesium 是一款面向三維地球和地圖的,世界級的JavaScript開源產品。它提供了基於JavaScript語言的開發包,方便用戶快速搭建一款零插件的虛擬地球Web應用,並在性能,精度,渲染質量以及多平臺,易用性上都有高質量的保證。工具

關於測量


測量是一個GIS系統最基本的,也是必備的模塊,網上也有不少相關開發者分享過關於Cesium測量的技術文章,風格各異,可是大同小異,只要弄清楚了原理以及方法,其實每一個人均可以寫出本身的測量小工具。性能

測距


測距其實計算兩點之間的距離,這個計算方法能夠使用最原始的直角三角形求斜邊的方法,可是咱們也能夠直接使用Cesium中Cartesian3接口的distance方法。spa

  • Cesium.Cartesian3.distance(firstPoint, secondPoint);

計算方法已經有了,咱們要作的就是添磚加瓦,作成一個可供用戶交互的測距,而且實時顯示距離長度的效果。插件

// 註冊鼠標左擊事件
viewer.screenSpaceEventHandler.setInputAction(function (clickEvent) {
var cartesian = viewer.scene.pickPosition(clickEvent.position);
// 若是是第一次點擊
if (positions.length == 0) {
addPoint(cartesian); // 存儲第一個點,並在點擊處繪製一個點entity
// 同時註冊鼠標移動事件
}
……

更多詳情見小專欄GIS之家cesium小專欄code

對本專欄感興趣的話,能夠關注一波blog

相關文章
相關標籤/搜索