je crée Cesium.Primitive de telle manière:Cesium.PolylineGeometry ne fonctionne pas. Cesium.SimplePolylineGeometry ne
_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()
});
},
et l'ajouter à la scène plus tard:
scene.primitives.add(this._createPrimitive(20000));
Il fonctionne comme prévu. Je veux changer la largeur de la polyligne. Je change Cesium.SimplePolylineGeometry
-Cesium.PolylineGeometry
et ajouter à width
param Cesium.PolylineGeometry
appel constructeur:
_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()
});
},
et le monde est vide! Qu'est-ce que je fais mal?