亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cesium開發中如何限制地圖瀏覽范圍

發布時間:2022-01-13 16:49:25 來源:億速云 閱讀:611 作者:小新 欄目:大數據

這篇文章給大家分享的是有關Cesium開發中如何限制地圖瀏覽范圍的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在二維地圖的開發中,有maxbounds屬性或者maxextent屬性,能夠將地圖的瀏覽限制在一定的四至坐標范圍中觀看。  
對比于二維地圖里,三維地圖多出來高度、旋轉、觀看角度等參數,在控制的時候,要比二維地圖多控制一些東西。
Cesium中有設置觀看最低、最高高度的API,能夠在觀看高度上進行控制,下邊代碼即是:

viewer.scene.screenSpaceCameraController.maximumZoomDistance =100000; 

 viewer.scene.screenSpaceCameraController.minimumZoomDistance = 10;

設置四至范圍的API并沒有找到,需要根據現有API進行進一步的開發。  
思路是將瀏覽的范圍控制在事先設定好的四至范圍中,實時進行檢測,超出范圍后,讓鏡頭退回到設定的范圍中。  
實時監測的函數,使用的是preRender,此事件執行的頻率還是很高的:  

viewer.scene.preRender.addEventListener(function() { //函數內容});

Cesium的鏡頭視野范圍,開始時用的是computeViewRectangle,計算一個觀看的視野范圍,計算的結果是west,east,north,south5個范圍參數;

let _viewRectangle = viewer.camera.computeViewRectangle();

再拿上述4個范圍參數和設定的四至范圍進行比對,超出范圍的部分,使用設定的四至范圍,最后,將camera的觀看范圍,強制跳回到觀看視野中,防止超出。  
不過,在這樣的計算情況下,場景有一定的跳動,效果不太理想,后來,就把設定的四至范圍擴大了一些,判斷viewer.camera.position,將觀看的坐標限定在四至的坐標中,  超出范圍的部分,使用設定的四至范圍坐標,也是進行強制跳回,這樣盡管在觀看的范圍有一定的誤差,但是,整體的效果還是好了些。

感謝各位的閱讀!關于“Cesium開發中如何限制地圖瀏覽范圍”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六安市| 重庆市| 兴业县| 昌江| 铜梁县| 化州市| 宜春市| 乌拉特前旗| 兴文县| 安达市| 普宁市| 贡觉县| 方正县| 广昌县| 修文县| 南木林县| 黄浦区| 兰溪市| 青浦区| 兴国县| 遂川县| 静安区| 邢台市| 荃湾区| 沙田区| 马尔康县| 武穴市| 同江市| 涞水县| 巫溪县| 普兰店市| 论坛| 邻水| 柳林县| 罗江县| 吕梁市| 汉阴县| 高清| 大石桥市| 江北区| 勐海县|