I want to show cone with moving 3d model(Aircraft). I am able move cone but not able to set cone should start underneath aircraft. Following is my whole example.Please advise
var viewer = new Cesium.Viewer('cesiumContainer');
var allCaseEntitiesDateDetail = ;
var datetime = new Date()
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:40 GMT+0530 (India Standard Time)'), entityDataID: "218482", lat: "20.6302076230157", long: "-103.405801628597" });
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:35 GMT+0530 (India Standard Time)'), entityDataID: "218446", lat: "20.6389415253327", long: "-103.391647700067" });
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:50 GMT+0530 (India Standard Time)'), entityDataID: "218483", lat: "20.6443830470659", long: "-103.384094441214" });
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:45 GMT+0530 (India Standard Time)'), entityDataID: "218447", lat: "20.6499932551147", long: "-103.359079582771" });
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:52 GMT+0530 (India Standard Time)'), entityDataID: "218448", lat: "20.6468583251195", long: "-103.349857794942" });
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:53 GMT+0530 (India Standard Time)'), entityDataID: "218449", lat: "20.642558225936", long: "-103.341783577804" });
allCaseEntitiesDateDetail.push({ date: new Date('Thu Mar 02 2017 10:26:40 GMT+0530 (India Standard Time)'), entityDataID: "218450", lat: "20.6386638174114", long: "-103.335686099735" });
setTimeout(function () {
for (var i = 0; i < allCaseEntitiesDateDetail.length; i++) {
var entityName = "Test " + (i + 1);
var entityColor = '#000000';
var entity = viewer.entities.add({
name: "Test " + (i + 1),
position: Cesium.Cartesian3.fromDegrees(parseFloat(allCaseEntitiesDateDetail[i].long), parseFloat(allCaseEntitiesDateDetail[i].lat), (parseInt(2000) * 0.3048)),
id: allCaseEntitiesDateDetail[i].entityDataID,
description: "Test",
billboard: {
image: "/images/LargeEntities/DefaultPerson.png",
width: 40,
height: 40,
eyeOffset: new Cesium.Cartesian3(0, 0, -50)
},
label: {
text: entityName,
font: 'bold 13pt sans-serif',
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
pixelOffset: new Cesium.Cartesian2(0, 40),
outlineColor: Cesium.Color.WHITE,
outlineWidth: 3,
style: Cesium.LabelStyle.FILL_AND_OUTLINE,
fillColor: Cesium.Color.fromCssColorString(entityColor),
eyeOffset: new Cesium.Cartesian3(0, 0, -50),
}
});
}
viewer.zoomTo(viewer.entities._entities);
}, 3000);
setTimeout(function () {
var property = new Cesium.SampledPositionProperty();
var start = Cesium.JulianDate.fromDate(new Date(allCaseEntitiesDateDetail[0].date));
var planeStop = stop = Cesium.JulianDate.addSeconds(start, (allCaseEntitiesDateDetail.length - 1) * 5, new Cesium.JulianDate());
viewer.clock.startTime = start.clone();
viewer.clock.stopTime = stop.clone();
viewer.clock.currentTime = start.clone();
viewer.clock.clockRange = Cesium.ClockRange.LOOP_STOP; //Loop at the end
viewer.clock.multiplier = 1;
viewer.clock.shouldAnimate = true;
for (var i = 0; i < allCaseEntitiesDateDetail.length; i++) {
var time = Cesium.JulianDate.addSeconds(start, 5 * i, new Cesium.JulianDate());
var position = Cesium.Cartesian3.fromDegrees(allCaseEntitiesDateDetail[i].long, allCaseEntitiesDateDetail[i].lat, 2000);
property.addSample(time, position);
}
var entity = viewer.entities.add({
// //Set the entity availability to the same interval as the simulation time.
availability: new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start: start,
stop: stop
})]),
//Use our computed positions
position: property,
//Automatically compute orientation based on position movement.
orientation: new Cesium.VelocityOrientationProperty(property),
//Load the Cesium plane model to represent the entity
model: {
uri: '/CesiumAir/Cesium_Air.gltf',//90
minimumPixelSize: 128
},
});
var entityPosition = entity.position.getValue(viewer.clock.currentTime);
var radians = Cesium.Ellipsoid.WGS84.cartesianToCartographic(entityPosition);
Cesium.Cartesian3.fromDegrees(allCaseEntitiesDateDetail[0].long, allCaseEntitiesDateDetail[0].lat, 2000),
entity.cylinder= {
length: 1000,
topRadius: 0.0,
bottomRadius: 25.0,
material: Cesium.Color.YELLOW
}
setTimeout(function () { viewer.trackedEntity = entity; viewer.zoomTo(viewer.entities._entities); }, 3000);
}, 10000);