在使用cesium中的實體時,發現當放置了一個實體到地圖上,實體會隨着鼠標的拖動而移動,困擾不已。
比如以下錯誤示例代碼:
/** 開始添加立方體開始 ***/
var redBox = viewer.entities.add({
name: 'my first box',
position: Cesium.Cartesian3.fromDegrees(120.51650227440, 30.736201387041127,10),
box: {
dimensions : new Cesium.Cartesian3(4.0, 3.0, 15.0),
material: Cesium.Color.RED.withAlpha(0.5),
outline: true,
outlineColor: Cesium.Color.BLACK,
}
});
最後經過調查發現,還是由於物體放置的高度問題,position屬性中,最後一個數字10就是指高度,但是這個高度是有講究的,並不是說你要貼地放置就是寫0米,你要放在地面上20米,就寫20。
那麼這個值如何設置呢?
是和你的物體高度有關係的,比如box就是寫這個box的高度的一半,中心點的高度除以二。
例如:15米高的物體,那麼貼地就要寫7.5
以下爲正確示例代碼
/** 開始添加立方體開始 ***/
var redBox = viewer.entities.add({
name: 'my first box',
position: Cesium.Cartesian3.fromDegrees(120.51650227440807, 30.736201387041127, 7.5),
box: {
dimensions : new Cesium.Cartesian3(4.0, 3.0, 15.0),
material: Cesium.Color.RED.withAlpha(0.5),
outline: true,
outlineColor: Cesium.Color.BLACK,
}
});/*