铯:如果看不见,则移动摄像机以查看实体

问题描述 投票:0回答:1

我想确保一个实体始终可见,但是它不必位于视图的中心(因此,我不能使用trackedEntity)。换句话说–让实体在当前视图中移动(为SampledPositionProperty),让用户根据需要缩放和移动视图,但是如果实体远离视图(或者用户从实体中移动视图) ),然后将视图围绕实体居中一次。

在Google Maps API中,这很简单:

if (!map.getBounds().contains(latLng)) {
  map.setCenter(latLng);
}

我在Cesium中找不到类似的API,我认为我肯定缺少明显的东西。我已经尝试过Entity.isShowing,但它并不在乎相机视图。

cesium
1个回答
0
投票
// lat, lng, height defined const cartographic = Cesium.Cartographic.fromDegrees(lng, lat, height); if (!Cesium.Rectangle.contains(map.camera.computeViewRectangle(), cartographic)) { const destination = Cesium.Cartesian3.fromDegrees(lng, lat, height); map.camera.flyTo({destination, duration: .5}); }
© www.soinside.com 2019 - 2024. All rights reserved.