费劲巴拉的想弄个cesium和二维地图的联动,先是按照原来的思路,通过二维地图的缩放范围坐标,计算cesium的观看视角和观看范围,在根据二维地图的中心点坐标,设置cesium的camera坐标一致,再实现二维地图移动时,移动三维地图。
后来发现,cesium的camera中,setview函数支持定位到一个范围,设置个rectangle的范围就行,把二维地图的缩放范围,赋予到里边即可,二维地图现在也能水平旋转了,同时在cesium中,也可以进行同步旋转,不过,二维地图控制cesium的时候,最好还是保持从上到下垂直俯视,这样计算起来简便一些,同步效果也比较好。
在cesium控制二维地图同步的时候,因为在cesium中,可以保持倾斜的视角,所以,在二维地图中的范围就不那么精确了,特别是当倾斜角pitch比较小的时候,那看的范围就很大,通过cesium中camera的computeViewRectangle计算观看的范围,同步到二维地图的范围。
测试的时候,在cesium中,离地图很近的情况,保持倾斜角pitch在10度左右,二维地图同步的范围就很大了图片,再加上cesium里的旋转,二维地图也得跟着旋转,这样同步起来的范围就误差比较大了。