This commit is contained in:
parent
9d49f71af8
commit
bfdb76b496
@ -220,6 +220,10 @@
|
|||||||
let busy = false;
|
let busy = false;
|
||||||
let lastState = null;
|
let lastState = null;
|
||||||
let gridCenter = { lat: 19.4326, lon: -99.1332 };
|
let gridCenter = { lat: 19.4326, lon: -99.1332 };
|
||||||
|
let stewardAura = null;
|
||||||
|
const auraStart = Cesium.JulianDate.now();
|
||||||
|
const auraBaseMeters = 260.0;
|
||||||
|
const auraPulseMeters = 120.0;
|
||||||
|
|
||||||
const R = 6378137;
|
const R = 6378137;
|
||||||
const GRID_METERS_PER_UNIT = 10.0;
|
const GRID_METERS_PER_UNIT = 10.0;
|
||||||
@ -228,6 +232,40 @@
|
|||||||
statusEl.textContent = text;
|
statusEl.textContent = text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateStewardAura() {
|
||||||
|
const lat = Number(inputLat.value);
|
||||||
|
const lon = Number(inputLon.value);
|
||||||
|
if (!Number.isFinite(lat) || !Number.isFinite(lon)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (stewardAura) {
|
||||||
|
viewer.entities.remove(stewardAura);
|
||||||
|
}
|
||||||
|
const radiusProp = new Cesium.CallbackProperty((time) => {
|
||||||
|
const t = Cesium.JulianDate.secondsDifference(time, auraStart);
|
||||||
|
const pulse = (Math.sin((t * 2 * Math.PI) / 4) + 1) / 2;
|
||||||
|
return auraBaseMeters + auraPulseMeters * pulse;
|
||||||
|
}, false);
|
||||||
|
const colorProp = new Cesium.CallbackProperty((time) => {
|
||||||
|
const t = Cesium.JulianDate.secondsDifference(time, auraStart);
|
||||||
|
const pulse = (Math.sin((t * 2 * Math.PI) / 4) + 1) / 2;
|
||||||
|
return Cesium.Color.fromCssColorString("#36f1ff").withAlpha(0.18 + 0.18 * pulse);
|
||||||
|
}, false);
|
||||||
|
stewardAura = viewer.entities.add({
|
||||||
|
name: "Steward Aura",
|
||||||
|
position: Cesium.Cartesian3.fromDegrees(lon, lat, 0),
|
||||||
|
ellipse: {
|
||||||
|
semiMajorAxis: radiusProp,
|
||||||
|
semiMinorAxis: radiusProp,
|
||||||
|
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
|
||||||
|
material: new Cesium.ColorMaterialProperty(colorProp),
|
||||||
|
outline: true,
|
||||||
|
outlineColor: Cesium.Color.fromCssColorString("#8affff").withAlpha(0.7),
|
||||||
|
outlineWidth: 2,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function applyQueryParams() {
|
function applyQueryParams() {
|
||||||
const params = new URLSearchParams(window.location.search);
|
const params = new URLSearchParams(window.location.search);
|
||||||
const lat = params.get("lat");
|
const lat = params.get("lat");
|
||||||
@ -247,6 +285,8 @@
|
|||||||
if (speed) inputSpeed.value = speed;
|
if (speed) inputSpeed.value = speed;
|
||||||
if (radius) inputRadius.value = radius;
|
if (radius) inputRadius.value = radius;
|
||||||
|
|
||||||
|
updateStewardAura();
|
||||||
|
|
||||||
if (auto === "1") {
|
if (auto === "1") {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
btnNew.click();
|
btnNew.click();
|
||||||
@ -394,6 +434,7 @@
|
|||||||
lat: Number(inputLat.value) || 19.4326,
|
lat: Number(inputLat.value) || 19.4326,
|
||||||
lon: Number(inputLon.value) || -99.1332,
|
lon: Number(inputLon.value) || -99.1332,
|
||||||
};
|
};
|
||||||
|
updateStewardAura();
|
||||||
const payload = {
|
const payload = {
|
||||||
residents: inputResidents.value,
|
residents: inputResidents.value,
|
||||||
services: inputServices.value,
|
services: inputServices.value,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user