有多个坐标点,想移动相机位置使得一个屏幕中把所有点位都显示出来

其它 · angelsion · 于 2年前 发布 · 3041 次阅读

有多个坐标点,想移动相机位置使得一个屏幕中把所有点位都显示出来 我是把所有坐标的最大经度,最小经度,最大纬度,最小纬度得到后用(每个坐标点都有经度,纬度,高度) flyto方法传这4个值,但是还是有坐标点会在屏幕显示之外, 我也试过flyToExtent传的是也是这4个参数,也不太对,,是我这种计算方式有问题吗。

共收到 1 条回复 cesium
sogrey#12年前 0 个赞

可以使用一个取巧的办法,求得最大点坐标、最小点坐标后,求得包围盒中心点和尺寸,画个 box ,zoomto 到这个 box,这实在是个取巧的办法,勿喷

var outlineOnly = viewer.entities.add({
  name: "Yellow box outline",
  position: Cesium.Cartesian3.fromDegrees(-100.0, 40.0, 300000.0),
  box: {
    dimensions: new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
    fill: false,
    outline: true,
    outlineColor: Cesium.Color.YELLOW,
  },
});

viewer.zoomTo(viewer.entities);

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics