Я создаю Cesium.Primitive в таком виде:Цезий. ПолилинГеометрия не работает. Cesium.SimplePolylineGeometry делает
_createPrimitive: function (linesNumber) {
var instances = [];
for (var i = 0; i < linesNumber; i++) {
var lon = _.random(-90, 90);
var lat = _.random(-180, 180);
var polyline = new Cesium.SimplePolylineGeometry({
positions: Cesium.Cartesian3.fromDegreesArrayHeights([
lat, lon, 0,
lat, lon, 2000000])
});
var geometry = Cesium.SimplePolylineGeometry.createGeometry(polyline);
instances.push(new Cesium.GeometryInstance({
geometry: geometry,
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromRandom({alpha: 1}))
}
}));
}
return new Cesium.Primitive({
geometryInstances: instances,
appearance: new Cesium.PerInstanceColorAppearance()
});
},
и добавить его в сцену позже:
scene.primitives.add(this._createPrimitive(20000));
Он работает, как ожидалось. Я хочу изменить ширину полилинии. Меняю Cesium.SimplePolylineGeometry
к Cesium.PolylineGeometry
и добавить width
параметров в Cesium.PolylineGeometry
вызова конструктора:
_createPrimitive: function (linesNumber) {
var instances = [];
for (var i = 0; i < linesNumber; i++) {
var lon = _.random(-90, 90);
var lat = _.random(-180, 180);
var polyline = new Cesium.PolylineGeometry({
positions: Cesium.Cartesian3.fromDegreesArrayHeights([
lat, lon, 0,
lat, lon, 2000000]),
width: 4
});
var geometry = Cesium.PolylineGeometry.createGeometry(polyline);
instances.push(new Cesium.GeometryInstance({
geometry: geometry,
attributes: {
color: Cesium.ColorGeometryInstanceAttribute.fromColor(Cesium.Color.fromRandom({alpha: 1}))
}
}));
}
return new Cesium.Primitive({
geometryInstances: instances,
appearance: new Cesium.PerInstanceColorAppearance()
});
},
и земной шар пуст! Что я делаю не так?