我目前正在向多段线集合中添加一条多段线,并更新单元素多段线集合以说明旋转的地球,以便它是惯性系中轨道的正确表示。我的代码正常工作,但是由于某种原因,我无法操纵color属性。通常,我可以使用材质条目更改折线实体的颜色,但是当我添加该属性时,我从Cesium收到一条错误消息,说this._material.destroy不是函数。
过去,当传递颜色有效时,我使用的是折线而不是折线集合。折线集合(据我所知)只是具有模型矩阵的折线的容器,该矩阵允许进行实体转换(在照相机模拟地球自转时,我用它来保持轨道固定)。我感觉问题出在我每次调用ticklines.removeAll()然后更新折线位置并将其推回堆栈的事实。代码中没有办法避免这种逻辑,因为这将导致代码的重大重构,而我宁愿在代码的当前框架内进行工作。
这是生成折线的代码段。通常我会在material: Cesium.Color.RED
之后添加clampToGround: False
属性
// Add desired polyline
polyline = polylines.add({
positions: positions,
width: 3,
show: true,
clampToGround: false
});
我希望折线颜色会根据我在material属性下传递给它的颜色实例而发生变化,但是会弹出一个错误,指出this._material.destroy不是函数