diff --git a/website/src/lib/components/embedding/embedding.ts b/website/src/lib/components/embedding/embedding.ts
index 6067c416d..4116b1878 100644
--- a/website/src/lib/components/embedding/embedding.ts
+++ b/website/src/lib/components/embedding/embedding.ts
@@ -90,6 +90,9 @@ export function getCleanedEmbeddingOptions(
delete cleanedOptions[key];
}
}
+ if (cleanedOptions['key'] && cleanedOptions['key'] === PUBLIC_MAPTILER_KEY) {
+ delete cleanedOptions['key'];
+ }
return cleanedOptions;
}
diff --git a/website/src/lib/components/map/style.ts b/website/src/lib/components/map/style.ts
index f695a9995..238942c2c 100644
--- a/website/src/lib/components/map/style.ts
+++ b/website/src/lib/components/map/style.ts
@@ -85,9 +85,11 @@ export class StyleManager {
this.merge(style, basemapStyle);
- const terrain = this.getCurrentTerrain();
- style.sources[terrain.source] = terrainSources[terrain.source];
- style.terrain = terrain.exaggeration > 0 ? terrain : undefined;
+ if (this._maptilerKey !== '') {
+ const terrain = this.getCurrentTerrain();
+ style.sources[terrain.source] = terrainSources[terrain.source];
+ style.terrain = terrain.exaggeration > 0 ? terrain : undefined;
+ }
style.layers.push(...anchorLayers);
@@ -152,6 +154,7 @@ export class StyleManager {
}
updateTerrain() {
+ if (this._maptilerKey === '') return;
const map_ = get(this._map);
if (!map_) return;
diff --git a/website/src/lib/docs/en/integration.mdx b/website/src/lib/docs/en/integration.mdx
index ee13b1c30..ee1bdadd9 100644
--- a/website/src/lib/docs/en/integration.mdx
+++ b/website/src/lib/docs/en/integration.mdx
@@ -12,8 +12,8 @@ title: Integration
You can use **gpx.studio** to create maps showing your GPX files and embed them in your website.
All you need is:
-1. A MapTiler key to load the map, and
-1. GPX files hosted on your server or on Google Drive, or accessible via a public URL.
+1. GPX files hosted on your server or on Google Drive, or accessible via a public URL;
+1. *Optional:* a MapTiler key to load MapTiler maps.
You can then play with the configurator below to customize your map and generate the corresponding HTML code.
diff --git a/website/src/locales/en.json b/website/src/locales/en.json
index 5b09efcbd..ca2fe505d 100644
--- a/website/src/locales/en.json
+++ b/website/src/locales/en.json
@@ -528,7 +528,7 @@
},
"embedding": {
"title": "Create your own map",
- "maptiler_key": "MapTiler key",
+ "maptiler_key": "MapTiler key (optional, only required for MapTiler maps)",
"file_urls": "File URLs (separated by commas)",
"drive_ids": "Google Drive file IDs (separated by commas)",
"basemap": "Basemap",
diff --git a/website/src/routes/[[language]]/embed/+page.svelte b/website/src/routes/[[language]]/embed/+page.svelte
index facbd0d16..4111fe6bc 100644
--- a/website/src/routes/[[language]]/embed/+page.svelte
+++ b/website/src/routes/[[language]]/embed/+page.svelte
@@ -19,6 +19,9 @@
return;
}
embeddingOptions = getMergedEmbeddingOptions(options);
+ if (embeddingOptions.key === '' && embeddingOptions.basemap.startsWith('maptiler')) {
+ embeddingOptions.basemap = 'openStreetMap';
+ }
});