Cesium 模型拖動

2021-10-10 14:43:18 字數 933 閱讀 3903

我在網上找了幾篇關於模型拖放的部落格,修改並進行了封裝。

npm install cesium-entity-drag
import drag from

'cesium-entity-drag'

const drag =

newdrag

(window.viewer)

// start drag

drag.

enable()

// or disable

drag.

disable

()

如果你還有其他定製的需求,可以自行修改原始碼:

import

*as cesium from

'cesium'

export

default

class

drag

enable()

disable()

_leftdownhandler

(e)}

_leftuphandler()

_movehandler

(e),

false)}

}}

拖動模型還遇到了乙個問題, 在_movehandler中,無論我們是拾取地形座標、還是球體座標,總是無法給到正確的高度。

我將拖動進行了修改,僅支援水平拖動,高度的修改請自行實現。原理很簡單,將空間座標cartesian轉換成經緯度(實際上是弧度),提取原來的高度,覆蓋當前高度。

_movehandler

(e),

false

)}

**已更新到npm

本想進行額外的拓展,比如增加高度、旋轉操作,但這些並不涉及到滑鼠事件,也不複雜,放進來未必能減輕開發人員的負擔。

Cesium模型製作服務

1 x dae obj 3dmax sketchup等工具軟體製作的模型,批量轉換,需提供每個模型具體位置和轉角 cesium預設經緯度座標系,提供的座標可轉換為經緯度 2 轉換結果符合cesium的3dtile標準,能夠在cesium上進行載入檢視,支援cesium的發行版本 3 三維模型中間優化...

Cesium傾斜模型單體化

目前cesium三維專案很多是使用傾斜攝影模型,但是傾斜模型只是一張好看的皮,不能進行互動操作,所以需要後期實現單體化功能,單體化有很多種,比如樓棟單體化 分層單體化 更細的有分戶單體化。傾斜模型單體化需要資料結合 來實現,資料生產需要採集每層的面座標串等資訊。有了資料後在cesium中通過enti...

cesium 繫結dom彈窗(跟隨模型)

思路 1.在頁面中建立乙個div標籤 2.確定標籤在三維場景中的三維位置 並計算三維位置的螢幕座標 3.在每一幀的渲染中都計算一下這個三維座標的螢幕位置,並把螢幕位置賦給標籤。4.當轉到地球背面時,如果不想顯示彈窗,則隱藏。具體實現 1.建立div標籤 標籤樣式 tag建立div時,最好是id和它要...