Я пытаюсь показать линию, но когда я начинаю ломаные как этого ничего показывает:Ломаные не показывает, это показывает, когда нарезанное в небольших линиях
var geopositions = [];
for (var i = 0; i < c.geo.length; i++) {
var g = c.geo[i];
geopositions.push(parseFloat(g.lon));
geopositions.push(parseFloat(g.lat));
}
var line = {
positions: Cesium.Cartesian3.fromDegreesArray(geopositions),
width: 1,
id: "C" + c.id,
material: Cesium.Material.fromType('Color', {
color: Cesium.Color.fromBytes(255, 0, 0, 255)
}),
show: true
}
var coll = new Cesium.PolylineCollection();
coll.add(line);
primitives.add(coll);
Так я думал, что я пытаюсь сделать линии между всеми точками линии (точки в c.geo) как так:
var collection = new Cesium.PolylineCollection();
var prev = null;
for (var j = 0; j < c.geo.length; j++) {
var geo = c.geo[j];
if (prev) {
collection.add(
{
positions: Cesium.Cartesian3.fromDegreesArray([
parseFloat(prev.lon), parseFloat(prev.lat),
parseFloat(geo.lon), parseFloat(geo.lat)]),
width: 2,
material: Cesium.Material.fromType('Color', {
color: Cesium.Color.fromBytes(0, 180, 0, 255)
})
}
);
}
prev = geo;
}
primitives.add(collection);
по какой-то причине это показывает линию. Я не могу найти причину, по которой это было бы так, и не понимаю, почему показывает список строк, и стандартная полилиния не отображается. Кто-нибудь знает, как показать линию без измельчения линии в небольших полилиниях?
На самом деле ничего не будет отображаться для всей полилинии. Но я уже исправил проблему. – Manuel
«Хотя любой сегмент линии длиной менее миллиметра не сможет рисовать». может показаться, что только сегмент должен потерпеть неудачу, но, по моему опыту, вся полилиния терпит неудачу. – Manuel