diff --git a/index.html b/index.html
index 0130446..93e67d6 100644
--- a/index.html
+++ b/index.html
@@ -844,25 +844,32 @@
${poi.title}
// --- Tour Playback and Animation ---
-startTourBtnEl.addEventListener('click', () => {
- if (isTourPlaying) {
- pauseCurrentTourSegment();
- } else {
- if (tourAudioSegmentsData.length === 0 || !tourAudioSegmentsData.some(s => s && s.audioObject)) {
- displayMessage('No tour audio available to play.', 'info');
- return;
- }
- isTourPlaying = true;
- startTourBtnEl.querySelector('span').textContent = '⏸️ Pause Tour';
- stopTourBtnEl.style.display = 'inline-flex';
- clearMapAnimationArtifacts();
-
- if (currentTourSegmentIndex === -1 || currentTourSegmentIndex >= tourKeyframes.length -1) {
- currentTourSegmentIndex = -1;
- }
- playNextTourSegment();
- }
-});
+startTourBtnEl.addEventListener('click', () => {
+ if (isTourPlaying) {
+ pauseCurrentTourSegment();
+ } else {
+ if (tourAudioSegmentsData.length === 0 || !tourAudioSegmentsData.some(s => s && s.audioObject)) {
+ displayMessage('No tour audio available to play.', 'info');
+ return;
+ }
+ isTourPlaying = true;
+ startTourBtnEl.querySelector('span').textContent = '⏸️ Pause Tour';
+ stopTourBtnEl.style.display = 'inline-flex';
+ clearMapAnimationArtifacts();
+ if (currentPlayingAudio && currentTourSegmentIndex >= 0 && currentTourSegmentIndex < tourKeyframes.length) {
+ // Resume the currently paused segment
+ currentPlayingAudio.play().catch(e => {
+ console.error("Error resuming segment:", e);
+ playNextTourSegment();
+ });
+ } else {
+ if (currentTourSegmentIndex === -1 || currentTourSegmentIndex >= tourKeyframes.length - 1) {
+ currentTourSegmentIndex = -1;
+ }
+ playNextTourSegment();
+ }
+ }
+});
stopTourBtnEl.addEventListener('click', stopTourPlaybackAndAnimation);