好吧,也许我是盲人,因为很明显这不是高级功能..但我正在看Camera docs for Cesium.js,我似乎无法找到你如何简单地缩放/移动视图来显示一个多边形?
我可以使用平均纬度/经度值来定位相机以显示多边形,例如:
viewer.camera.setView({
position : Cesium.Cartesian3.fromDegrees(lonMean, latMean, 45000.0)
});
但那是垃圾;我没有得到缩放... 我希望调整缩放/视口以适合多边形。
任何人都可以指出我必须忽略的东西......
答案 0 :(得分:3)
假设您在Entity API中定义了多边形,那么您只需拨打viewer.zoomTo(entity)
或viewer.flyTo(entity)
即可。这适用于任何类型的实体可视化,而不仅仅是多边形,并在Cesium的Visualizing Spatial Data tutorial中进行了讨论。
答案 1 :(得分:1)
看看Sandcastle Camera Demo。下拉“摄像机选项”下拉框,然后选择“飞到矩形”或“查看矩形”。相机将飞行或捕捉到矩形,代码编辑器显示如何完成此操作。另外看看其他Sandcastle演示,它们包含大量用于Cesium中常见操作的示例代码。
这是FlyTo代码:
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
});