var viewer = new Cesium.Viewer('cesiumContainer', {
navigationInstructionsInitiallyVisible: false
});
// Set up a limited range of time for this demo.
var time = Cesium.JulianDate.fromIso8601('2016-04-08T12:00:00Z');
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP;
viewer.clock.startTime = time;
viewer.clock.currentTime = time;
viewer.clock.stopTime = Cesium.JulianDate.addSeconds(time, 20, new Cesium.JulianDate());
viewer.clock.multiplier = 1;
viewer.timeline.updateFromClock();
viewer.timeline.zoomTo(time, viewer.clock.stopTime);
// Construct a TimeIntervalCollection showing the changes to the hierarchy over time.
var hierarchy = new Cesium.TimeIntervalCollectionProperty();
for (var i = 0; i < 40; ++i) {
var nextTime = Cesium.JulianDate.addSeconds(time, 0.5, new Cesium.JulianDate());
// Inside the loop, per iteration we add one window of time for this polygon.
hierarchy.intervals.addInterval(new Cesium.TimeInterval({
start: time,
stop: nextTime,
isStartIncluded : true,
isStopIncluded : false,
data : Cesium.Cartesian3.fromDegreesArrayHeights([-108.0+i/4, 35.0, 100000,
-100.0+i/4, 35.0, 100000,
-100.0+i/4, 40.0, 100000,
-108.0+i/4, 40.0, 100000])
}));
time = nextTime;
}
// Create the polygon, using the animated hierarchy.
var orangePolygon = viewer.entities.add({
name : 'Orange polygon with time-varying position',
polygon : {
hierarchy : hierarchy,
extrudedHeight: 0,
perPositionHeight : true,
material : Cesium.Color.ORANGE.withAlpha(0.5),
outline : true,
outlineColor : Cesium.Color.WHITE
}
});
viewer.zoomTo(viewer.entities);
html, body, #cesiumContainer {
width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
font-family: sans-serif;
}
<link href="http://cesiumjs.org/releases/1.19/Build/Cesium/Widgets/widgets.css"
rel="stylesheet"/>
<script src="http://cesiumjs.org/releases/1.19/Build/Cesium/Cesium.js">
</script>
<div id="cesiumContainer"></div>
teşekkür ederiz! Cevabınıza dayanarak, bir zaman diliminde çok küçük adımlar atmadığım sürece, bir bölge üzerinde sorunsuz hareket eden bir poligon göremiyorum. – azar
İki yorumum var: 1. İnterpolasyon yapabiliyorsa, bir mülkün türünü döndüren herhangi bir yöntem (veya belki bir liste) var mı. 2. Ben çok düzgün hareket eden ** CZML ** kendi uç noktaları pozisyonlarına referanslar kullanarak, poligon hareket için bir örnek gördüm, ben _javascript_ olsa da işe yaramaz. Sadece ** CZML ** 'de mevcut mu? – azar
1. SampledProperty için, ['SampledProperty.type'] 'dir (https://cesiumjs.org/Cesium/Build/Documentation/SampledProperty.html#type). Her bir aralık potansiyel olarak farklı bir veri tipini temsil edebileceğinden, karşılık gelen bir TimeIntervalCollection türü yoktur. 2. CZML'yi gönderebilir veya CZML'ye bağlayabilir misiniz? Genel olarak CZML'de yapabileceğiniz her şey Entity API'sı aracılığıyla yapabilirsiniz. – emackey