Make vehicle following opt-in

This commit is contained in:
2026-07-27 14:00:49 +08:00
parent f1ddedf889
commit d872ca6f32

View File

@@ -496,6 +496,7 @@ function cesiumPreviewHtml(glbName, metadataName, routeName, areaId) {
<div id="cesiumContainer"></div> <div id="cesiumContainer"></div>
<div id="controls"> <div id="controls">
<button id="toggleCruise">Pause</button> <button id="toggleCruise">Pause</button>
<button id="toggleFollow">Follow</button>
<label>Speed <input id="speedControl" type="range" min="2" max="22" step="1" value="8"></label> <label>Speed <input id="speedControl" type="range" min="2" max="22" step="1" value="8"></label>
<span id="speedLabel">8 m/s</span> <span id="speedLabel">8 m/s</span>
</div> </div>
@@ -503,6 +504,7 @@ function cesiumPreviewHtml(glbName, metadataName, routeName, areaId) {
<script> <script>
const statusEl = document.getElementById("status"); const statusEl = document.getElementById("status");
const toggleCruise = document.getElementById("toggleCruise"); const toggleCruise = document.getElementById("toggleCruise");
const toggleFollow = document.getElementById("toggleFollow");
const speedControl = document.getElementById("speedControl"); const speedControl = document.getElementById("speedControl");
const speedLabel = document.getElementById("speedLabel"); const speedLabel = document.getElementById("speedLabel");
Cesium.Ion.defaultAccessToken = ""; Cesium.Ion.defaultAccessToken = "";
@@ -626,7 +628,15 @@ function cesiumPreviewHtml(glbName, metadataName, routeName, areaId) {
viewer.clock.multiplier = value / speed; viewer.clock.multiplier = value / speed;
speedLabel.textContent = value + " m/s"; speedLabel.textContent = value + " m/s";
}); });
toggleFollow.addEventListener("click", () => {
if (viewer.trackedEntity === vehicle) {
viewer.trackedEntity = undefined;
toggleFollow.textContent = "Follow";
} else {
viewer.trackedEntity = vehicle; viewer.trackedEntity = vehicle;
toggleFollow.textContent = "Free";
}
});
return { segment, vehicle }; return { segment, vehicle };
} }