有时候我们需要的场景是 在地图上标点,如果有 点位上有 倾斜摄影的建筑, 希望点位标在建筑的顶端,
官方案例是 设置2个位置,然后以偏移的方式获取 30个点的坐标,然后 标点连线。
function sampleHeights() {
viewer.entities.removeAll();
// 设置初始的2个点
var cartesian1 = new Cesium.Cartesian3(
1216390.063324395,
-4736314.814479433,
4081341.9787972216
);
var cartesian2 = new Cesium.Cartesian3(
1216329.5413318684,
-4736272.029009798,
4081407.9342479417
);
// 通过偏移的方式 获取30个点,这30个点在一条直线上
var count = 30;
var cartesians = new Array(count);
for (var i = 0; i < count; ++i) {
var offset = i / (count - 1);
cartesians[i] = Cesium.Cartesian3.lerp(
cartesian1,
cartesian2,
offset,
new Cesium.Cartesian3()
);
}
// 加载点列表采集高度
scene
.clampToHeightMostDetailed(cartesians)
.then(function (clampedCartesians) {
// 添加点
for (var i = 0; i < count; ++i) {
viewer.entities.add({