Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何缩放/移动摄影机以在Cesium.js中显示多边形(使视口适合多边形边界)_Javascript_Camera_Cesium - Fatal编程技术网

Javascript 如何缩放/移动摄影机以在Cesium.js中显示多边形(使视口适合多边形边界)

Javascript 如何缩放/移动摄影机以在Cesium.js中显示多边形(使视口适合多边形边界),javascript,camera,cesium,Javascript,Camera,Cesium,好吧,也许我是瞎子,因为这显然不是高级功能。。但我正在看,我似乎找不到如何简单地缩放/移动视图以显示多边形 我可以使用平均lat/lon值定位相机以显示多边形,如: viewer.camera.setView({ position : Cesium.Cartesian3.fromDegrees(lonMean, latMean, 45000.0) }); 但那是垃圾;我没有缩放…我希望调整缩放/视口以适合多边形。 有谁能指出我一定忽略了什么…看一看。下拉“相机选项”下拉框,选择“飞到矩

好吧,也许我是瞎子,因为这显然不是高级功能。。但我正在看,我似乎找不到如何简单地缩放/移动视图以显示多边形

我可以使用平均lat/lon值定位相机以显示多边形,如:

viewer.camera.setView({
    position : Cesium.Cartesian3.fromDegrees(lonMean, latMean, 45000.0)
});
但那是垃圾;我没有缩放…我希望调整缩放/视口以适合多边形。

有谁能指出我一定忽略了什么…

看一看。下拉“相机选项”下拉框,选择“飞到矩形”或“查看矩形”。相机将飞到或捕捉到矩形,代码编辑器显示如何完成此操作。看一下其他的Sandcastle演示,它们包含了大量铯中常见操作的示例代码

以下是飞行代码:

var west = -90.0;
var south = 38.0;
var east = -87.0;
var north = 40.0;
var rectangle = Cesium.Rectangle.fromDegrees(west, south, east, north);

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

假设您在实体API中定义了一个多边形,那么您只需调用
viewer.zoomTo(实体)
viewer.flyTo(实体)
。这适用于任何类型的实体可视化,不仅仅是多边形,Cesium中也有讨论。

从未使用过Cesium,但我想你已经尝试过右边提到的
zoomIn
zoomOut
方法?是的,这些函数只是放大/缩小任意数量,与我的多边形边界无关。只有我见过的相关函数将视图设置为矩形或xy。太好了!虽然我觉得文件在这方面有点含糊不清。。查看
flyTo()
函数,没有引用接受实体参数:/n这是因为Camera.flyTo函数不接受实体参数。此函数仅在查看器上,后者是更高级别的对象。低级摄影机对实体一无所知。显然我们的医生还有很多改进的余地,我只是想向你澄清一下。哦,是的,这完全是我的疏忽;不是文档-再次感谢。对不起,对多边形感兴趣-不是矩形。是的,它就像
mapbox.fitBounds
。固体