cesium飛行到顯示指定范圍


一、創建范圍矩形

var rectangle = new Cesium.Rectangle.fromDegrees(west, south, east, north);

 

 二、相機定位

viewer.camera.flyTo({
  destination: rectangle
});

 

三、使用示例記錄一下

需求是從后台獲取到的路線,前端繪制在cesium中並需要居中顯示。

計算出坐標點中的經度和緯度的最大最小值,即為需要顯示的范圍。

//arr:坐標點數組
//offset:四周留白距離(可選)
export const flyToLineCenter = (arr,offset)=>{ let long_max=arr[0][0]  //east let long_min=arr[0][0]  //west let lat_max=arr[0][1]   //north let lat_min=arr[0][1]   //south for(let i=0;i<arr.length;i++){ if(arr[i][0]>long_max){ long_max=arr[i][0] } if(arr[i][0]<long_min){ long_min=arr[i][0] } if(arr[i][1]>lat_max){ lat_max=arr[i][1] } if(arr[i][1]<lat_min){ lat_min=arr[i][1] } } let offset_num = offset?offset:0 let rectangle = new Cesium.Rectangle.fromDegrees(long_min-offset_num, lat_min-offset_num, long_max+offset_num, lat_max+offset_num); viewer.camera.flyTo({ destination: rectangle }); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM