Map Embedding

Map Embedding puts a full Mountaya 3D map on your website with a single <iframe> tag. Display collections, routes, itineraries, and drawings complete with terrain, weather overlays, and user interactivity, without writing any map code.

Example

The iframe above shows the UTMB course around Mont Blanc, with the topo terrain, elevation profile and analysis enabled. It is produced by a single iframe tag:

<iframe
  title="UTMB course around Mont Blanc"
  src="https://app.mountaya.com/studio/embed
    ?publishable_key=pk_...
    &session_token=sess_...
    &itinerary_id=bb908a79-dcc1-4db2-aba8-7238dd8f15fc">
</iframe>

How it works

Three layers shape every Mountaya iframe:

  • Safety rules restrict geographic boundaries, allowed domains, zoom levels, and feature access at the organization level. They cannot be overridden per iframe.
  • Properties define the iframe's default state: language, map controls, active content, and so on. They can be customized on a per-iframe basis.
  • Branding aligns the iframe with your website's color palette.

Authentication

Every iframe requires a publishable key (publishable_key) to identify your organization. If the require_session_token safety rule is enabled, a session_token must also be provided.

For a step-by-step guide on keys and tokens, see Authentication.

<iframe
  src="https://app.mountaya.com/studio/embed
    ?publishable_key=pk_...
    &session_token=sess_...
    &collection_id=uuid
    &itinerary_id=uuid">
</iframe>

If require_session_token is disabled, you can omit the session_token parameter.

Runtime control via postMessage

You can switch content, terrains, overlays, and UI controls at runtime without reloading the iframe. This is useful when a single iframe serves multiple content items, for example tabs on a homepage that each show a different itinerary with different display settings.

For the full API reference, event payloads, and framework-specific examples, see Events.

Next

  • Configure defaults via URL parameters in Properties.
  • Switch content at runtime with the postMessage API in Events.