Embed Reference

GeoStory — Script

Permanent Timepath integration fixture for compatibility testing.

Production supportedThe Timepath renderer mounts the experience into your own DOM.
iFrameScript

Live example

Loading https://geostory-script.timepath.co/timepath-geostory.umd.js…

Embed code

This is the code behind the example above, with this fixture's ID already in it.

Container and loader
<div
  class="tp-geostory"
  data-timepath-geostory-id="EzlLtMqi1ioGrhYwfWm3"
></div>

<script>
(function () {
  var SRC = "https://geostory-script.timepath.co/timepath-geostory.umd.js";

  function mount() {
    if (window.TimepathGeoStory && typeof window.TimepathGeoStory.mountAll === "function") {
      window.TimepathGeoStory.mountAll({
        apiBase: "https://embed.timepath.co",
      });
    }
  }

  if (window.TimepathGeoStory) {
    mount();
    return;
  }

  if (document.querySelector('script[src="' + SRC + '"]')) {
    var tries = 0;
    var t = setInterval(function () {
      tries++;
      if (window.TimepathGeoStory) {
        clearInterval(t);
        mount();
      }
      if (tries > 50) clearInterval(t);
    }, 50);
    return;
  }

  var s = document.createElement("script");
  s.src = SRC;
  s.onload = mount;
  document.head.appendChild(s);
})();
</script>

The bundle appends its own stylesheet, derived from the script URL — do not add a <link> tag for it.

Optional attributes on the container: data-timepath-darkmode, data-timepath-polling-ms. The bundle installs window.TimepathGeoStory with mount, unmount, update and mountAll, so a single-page application can tear an embed down again.

Fixture

Fixture
Integration Fixture — GeoStory
Workspace
Timepath Integration Fixtures
Purpose
Compatibility and CMS integration testing
Stability
Permanent reference fixture
Timepath content ID
EzlLtMqi1ioGrhYwfWm3
Bundle
https://geostory-script.timepath.co/timepath-geostory.umd.js

This is a permanent Timepath integration fixture maintained for compatibility testing. The page URL and the Timepath fixture ID are intended to remain stable.

Expected behaviour

  • The experience renders without a login — these pages are public and anonymous.
  • Width fills the container. The layout is fluid; set the width on your own wrapper.
  • Media and images load from Timepath's CDN, including on a phone viewport.
  • Height is whatever the content needs — the renderer is in your DOM, so there is no frame to resize and no height to guess.
  • The map loads its tiles, and pan and zoom respond.
  • Map interaction does not hijack the page scroll.

Subscribe for updates

Product news, newsroom stories and new formats — occasionally, never spam.