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 }); }

 

posted @ 2021-06-29 11:13  小明明同学  阅读(2275)  评论(0编辑  收藏  举报