38 Commits

Author SHA1 Message Date
vcoppe e21c4bf46e New translations en.json (Romanian)
[ci skip]
2026-06-05 10:52:53 +02:00
vcoppe 2dee4edd2c New translations settings.mdx (Dutch)
[ci skip]
2026-06-04 15:22:45 +02:00
vcoppe 0b4aa6e90d New translations elevation.mdx (Chinese Simplified)
[ci skip]
2026-06-01 04:25:51 +02:00
vcoppe 3b59b0bada New translations en.json (Chinese Simplified)
[ci skip]
2026-06-01 04:25:49 +02:00
vcoppe 604faff238 New translations map-controls.mdx (Chinese Simplified)
[ci skip]
2026-06-01 04:25:48 +02:00
vcoppe 26e4b637a2 New Crowdin updates (#353)
* New translations en.json (Dutch)

[ci skip]

* New translations map-controls.mdx (Dutch)

[ci skip]

* New translations elevation.mdx (Dutch)

[ci skip]
2026-05-31 15:25:59 +02:00
vcoppe 75e3bc6f93 use self-hosted overpass api 2026-05-31 15:25:10 +02:00
vcoppe 70bb125076 change contour line labels for all compatible styles 2026-05-29 08:35:11 +02:00
vcoppe e0a4fc186a New Crowdin updates (#351)
* New translations map-controls.mdx (Chinese Simplified)

[ci skip]

* New translations en.json (Dutch)

[ci skip]

* New translations en.json (Romanian)

[ci skip]

* New translations en.json (French)

[ci skip]

* New translations en.json (Spanish)

[ci skip]

* New translations en.json (Belarusian)

[ci skip]

* New translations en.json (Catalan)

[ci skip]

* New translations en.json (Czech)

[ci skip]

* New translations en.json (Danish)

[ci skip]

* New translations en.json (German)

[ci skip]

* New translations en.json (Greek)

[ci skip]

* New translations en.json (Basque)

[ci skip]

* New translations en.json (Finnish)

[ci skip]

* New translations en.json (Hebrew)

[ci skip]

* New translations en.json (Hungarian)

[ci skip]

* New translations en.json (Italian)

[ci skip]

* New translations en.json (Korean)

[ci skip]

* New translations en.json (Lithuanian)

[ci skip]

* New translations en.json (Norwegian)

[ci skip]

* New translations en.json (Polish)

[ci skip]

* New translations en.json (Portuguese)

[ci skip]

* New translations en.json (Russian)

[ci skip]

* New translations en.json (Swedish)

[ci skip]

* New translations en.json (Turkish)

[ci skip]

* New translations en.json (Indonesian)

[ci skip]

* New translations map-controls.mdx (Chinese Simplified)

[ci skip]

* New translations en.json (Ukrainian)

[ci skip]

* New translations en.json (Chinese Simplified)

[ci skip]

* New translations en.json (Vietnamese)

[ci skip]

* New translations en.json (Portuguese, Brazilian)

[ci skip]

* New translations en.json (Thai)

[ci skip]

* New translations en.json (Latvian)

[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)

[ci skip]

* New translations en.json (Serbian (Latin))

[ci skip]

* New translations map-controls.mdx (Romanian)

[ci skip]

* New translations map-controls.mdx (French)

[ci skip]

* New translations map-controls.mdx (Spanish)

[ci skip]

* New translations map-controls.mdx (Belarusian)

[ci skip]

* New translations map-controls.mdx (Catalan)

[ci skip]

* New translations map-controls.mdx (Czech)

[ci skip]

* New translations map-controls.mdx (Danish)

[ci skip]

* New translations map-controls.mdx (German)

[ci skip]

* New translations map-controls.mdx (Greek)

[ci skip]

* New translations map-controls.mdx (Basque)

[ci skip]

* New translations map-controls.mdx (Finnish)

[ci skip]

* New translations map-controls.mdx (Hebrew)

[ci skip]

* New translations map-controls.mdx (Hungarian)

[ci skip]

* New translations map-controls.mdx (Italian)

[ci skip]

* New translations map-controls.mdx (Korean)

[ci skip]

* New translations map-controls.mdx (Lithuanian)

[ci skip]

* New translations map-controls.mdx (Dutch)

[ci skip]

* New translations map-controls.mdx (Norwegian)

[ci skip]

* New translations map-controls.mdx (Polish)

[ci skip]

* New translations map-controls.mdx (Portuguese)

[ci skip]

* New translations map-controls.mdx (Russian)

[ci skip]

* New translations map-controls.mdx (Swedish)

[ci skip]

* New translations map-controls.mdx (Turkish)

[ci skip]

* New translations map-controls.mdx (Ukrainian)

[ci skip]

* New translations map-controls.mdx (Vietnamese)

[ci skip]

* New translations map-controls.mdx (Portuguese, Brazilian)

[ci skip]

* New translations map-controls.mdx (Indonesian)

[ci skip]

* New translations map-controls.mdx (Thai)

[ci skip]

* New translations map-controls.mdx (Latvian)

[ci skip]

* New translations map-controls.mdx (Chinese Traditional, Hong Kong)

[ci skip]

* New translations map-controls.mdx (Serbian (Latin))

[ci skip]

* New translations elevation.mdx (Romanian)

[ci skip]

* New translations elevation.mdx (French)

[ci skip]

* New translations elevation.mdx (Spanish)

[ci skip]

* New translations elevation.mdx (Belarusian)

[ci skip]

* New translations elevation.mdx (Catalan)

[ci skip]

* New translations elevation.mdx (Czech)

[ci skip]

* New translations elevation.mdx (Danish)

[ci skip]

* New translations elevation.mdx (German)

[ci skip]

* New translations elevation.mdx (Greek)

[ci skip]

* New translations elevation.mdx (Basque)

[ci skip]

* New translations elevation.mdx (Finnish)

[ci skip]

* New translations elevation.mdx (Hebrew)

[ci skip]

* New translations elevation.mdx (Hungarian)

[ci skip]

* New translations elevation.mdx (Italian)

[ci skip]

* New translations elevation.mdx (Korean)

[ci skip]

* New translations elevation.mdx (Lithuanian)

[ci skip]

* New translations elevation.mdx (Dutch)

[ci skip]

* New translations elevation.mdx (Norwegian)

[ci skip]

* New translations elevation.mdx (Polish)

[ci skip]

* New translations elevation.mdx (Portuguese)

[ci skip]

* New translations elevation.mdx (Russian)

[ci skip]

* New translations elevation.mdx (Swedish)

[ci skip]

* New translations elevation.mdx (Turkish)

[ci skip]

* New translations elevation.mdx (Ukrainian)

[ci skip]

* New translations elevation.mdx (Chinese Simplified)

[ci skip]

* New translations elevation.mdx (Vietnamese)

[ci skip]

* New translations elevation.mdx (Portuguese, Brazilian)

[ci skip]

* New translations elevation.mdx (Indonesian)

[ci skip]

* New translations elevation.mdx (Thai)

[ci skip]

* New translations elevation.mdx (Latvian)

[ci skip]

* New translations elevation.mdx (Chinese Traditional, Hong Kong)

[ci skip]

* New translations elevation.mdx (Serbian (Latin))

[ci skip]

* New translations en.json (French)

[ci skip]

* New translations en.json (Spanish)

[ci skip]

* New translations map-controls.mdx (Spanish)

[ci skip]

* New translations elevation.mdx (Spanish)

[ci skip]

* New translations en.json (Indonesian)

[ci skip]

* New translations en.json (Dutch)

[ci skip]

* New translations en.json (Romanian)

[ci skip]

* New translations en.json (French)

[ci skip]

* New translations en.json (Spanish)

[ci skip]

* New translations en.json (Belarusian)

[ci skip]

* New translations en.json (Catalan)

[ci skip]

* New translations en.json (Czech)

[ci skip]

* New translations en.json (Danish)

[ci skip]

* New translations en.json (German)

[ci skip]

* New translations en.json (Greek)

[ci skip]

* New translations en.json (Basque)

[ci skip]

* New translations en.json (Finnish)

[ci skip]

* New translations en.json (Hebrew)

[ci skip]

* New translations en.json (Hungarian)

[ci skip]

* New translations en.json (Italian)

[ci skip]

* New translations en.json (Korean)

[ci skip]

* New translations en.json (Lithuanian)

[ci skip]

* New translations en.json (Norwegian)

[ci skip]

* New translations en.json (Polish)

[ci skip]

* New translations en.json (Portuguese)

[ci skip]

* New translations en.json (Russian)

[ci skip]

* New translations en.json (Swedish)

[ci skip]

* New translations en.json (Turkish)

[ci skip]

* New translations en.json (Ukrainian)

[ci skip]

* New translations en.json (Chinese Simplified)

[ci skip]

* New translations en.json (Vietnamese)

[ci skip]

* New translations en.json (Portuguese, Brazilian)

[ci skip]

* New translations en.json (Thai)

[ci skip]

* New translations en.json (Latvian)

[ci skip]

* New translations en.json (Chinese Traditional, Hong Kong)

[ci skip]

* New translations en.json (Serbian (Latin))

[ci skip]
2026-05-28 19:29:10 +02:00
vcoppe 6a9d30e8ea localization of OpenMapTiles styles 2026-05-28 19:15:01 +02:00
vcoppe 1e6a12eeda update styles 2026-05-28 18:58:49 +02:00
vcoppe 31912da76f use same font for markers 2026-05-27 22:03:53 +02:00
vcoppe fe8896e870 get styles from github 2026-05-27 20:17:49 +02:00
vcoppe c99517572e update images 2026-05-27 19:40:09 +02:00
vcoppe 0b7f30a7c4 remove maptiler layers 2026-05-27 18:52:15 +02:00
vcoppe fcfaf043c4 fix map localization 2026-05-26 06:28:32 +02:00
vcoppe 0393a330a6 fix loading initial style 2026-05-26 06:18:00 +02:00
vcoppe 2fdb58bc7d switch contour lines based on units 2026-05-25 16:50:28 +02:00
vcoppe c758bda1a9 update tiles endpoint 2026-05-25 15:48:23 +02:00
vcoppe 88e301e2a2 use maptiler satellite 2026-05-25 14:45:03 +02:00
vcoppe 161c664e08 borders 2026-05-25 11:26:49 +02:00
vcoppe a0408ec798 revert rivers 2026-05-25 11:00:55 +02:00
vcoppe 480d5586b9 inverse font color and halo 2026-05-25 10:58:23 +02:00
vcoppe 7b49018593 remove casings 2026-05-25 10:44:53 +02:00
vcoppe 4b447a9b9d revert some of the changes 2026-05-25 10:40:38 +02:00
vcoppe 443feb2bfa road opacities 2026-05-25 10:29:29 +02:00
vcoppe 8710101a78 remove filled areas 2026-05-25 09:59:54 +02:00
vcoppe 2c20148e64 start satellite style 2026-05-24 13:49:43 +02:00
vcoppe ffc0e84788 slightly bigger paths 2026-05-24 00:23:40 +02:00
vcoppe 2d2004e447 small color change 2026-05-24 00:16:55 +02:00
vcoppe 4a7cfc113d vector terrain 2026-05-24 00:13:26 +02:00
vcoppe f03ad5a0e9 colored track casing 2026-05-24 00:04:09 +02:00
vcoppe 7f5b83f9d8 only use surface for coloring 2026-05-23 20:13:47 +02:00
vcoppe 5a8f93e225 different colors depending on surface 2026-05-23 20:10:21 +02:00
vcoppe 668b0f6b23 clearer path names 2026-05-23 19:59:12 +02:00
vcoppe fc1eb5a408 highlight trails 2026-05-23 19:52:04 +02:00
vcoppe 561c7e22b3 first tweaks 2026-05-23 19:17:37 +02:00
vcoppe ce067d4ff0 add custom layer base from openfreemap (osm liberty) 2026-05-23 19:14:59 +02:00
60 changed files with 271 additions and 277 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 525 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 710 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 KiB

+16 -19
View File
@@ -31,10 +31,10 @@ import bikerouterGravel from './custom/bikerouter-gravel.json';
export const maptilerKeyPlaceHolder = 'MAPTILER_KEY';
export const basemaps: { [key: string]: string | StyleSpecification } = {
maptilerStreets: `https://api.maptiler.com/maps/streets-v4/style.json?key=${maptilerKeyPlaceHolder}`,
maptilerTopo: `https://api.maptiler.com/maps/topo-v4/style.json?key=${maptilerKeyPlaceHolder}`,
maptilerOutdoors: `https://api.maptiler.com/maps/outdoor-v4/style.json?key=${maptilerKeyPlaceHolder}`,
maptilerSatellite: `https://api.maptiler.com/maps/hybrid-v4/style.json?key=${maptilerKeyPlaceHolder}`,
libertyTopo: 'https://styles.gpx.studio/liberty-topo.json',
libertySatellite: 'https://styles.gpx.studio/liberty-satellite.json',
osm: 'https://styles.gpx.studio/osm.json',
osmTopo: 'https://styles.gpx.studio/osm-topo.json',
esriSatellite: {
version: 8,
sources: {
@@ -799,10 +799,10 @@ export type LayerTreeType = { [key: string]: LayerTreeType | boolean };
export const basemapTree: LayerTreeType = {
basemaps: {
world: {
maptilerStreets: true,
maptilerTopo: true,
maptilerOutdoors: true,
maptilerSatellite: true,
libertyTopo: true,
libertySatellite: true,
osm: true,
osmTopo: true,
esriSatellite: true,
openStreetMap: true,
openTopoMap: true,
@@ -936,7 +936,7 @@ export const overpassTree: LayerTreeType = {
};
// Default basemap used
export const defaultBasemap = 'maptilerStreets';
export const defaultBasemap = 'libertyTopo';
// Default overlays used (none)
export const defaultOverlays: LayerTreeType = {
@@ -1025,10 +1025,10 @@ export const defaultOverpassQueries: LayerTreeType = {
export const defaultBasemapTree: LayerTreeType = {
basemaps: {
world: {
maptilerStreets: true,
maptilerTopo: true,
maptilerOutdoors: true,
maptilerSatellite: true,
libertyTopo: true,
libertySatellite: true,
osm: true,
osmTopo: true,
esriSatellite: false,
openStreetMap: true,
openTopoMap: true,
@@ -1487,14 +1487,11 @@ export const overpassQueryData: Record<string, OverpassQueryData> = {
};
export const terrainSources: { [key: string]: RasterDEMSourceSpecification } = {
'maptiler-dem': {
type: 'raster-dem',
url: `https://api.maptiler.com/tiles/terrain-rgb-v2/tiles.json?key=${maptilerKeyPlaceHolder}`,
},
mapterhorn: {
type: 'raster-dem',
url: 'https://tiles.mapterhorn.com/tilejson.json',
url: 'https://tiles.gpx.studio/mapterhorn.json',
encoding: 'terrarium',
},
};
export const defaultTerrainSource = 'maptiler-dem';
export const defaultTerrainSource = 'mapterhorn';
+1 -7
View File
@@ -8,7 +8,7 @@
...others
}: {
iconOnly?: boolean;
company?: 'gpx.studio' | 'maptiler' | 'github' | 'crowdin' | 'facebook' | 'reddit';
company?: 'gpx.studio' | 'github' | 'crowdin' | 'facebook' | 'reddit';
[key: string]: any;
} = $props();
</script>
@@ -19,12 +19,6 @@
alt="Logo of gpx.studio."
{...others}
/>
{:else if company === 'maptiler'}
<img
src="{base}/maptiler-logo{mode.current === 'dark' ? '-dark' : ''}.svg"
alt="Logo of Maptiler."
{...others}
/>
{:else if company === 'github'}
<svg
role="img"
@@ -1,10 +1,10 @@
<script lang="ts">
import maptilerTopoMap from '$lib/assets/img/home/maptiler-topo.png?enhanced';
import waymarkedMap from '$lib/assets/img/home/waymarked.png?enhanced';
import topoMap from '$lib/assets/img/docs/maps/topo.png?enhanced';
import waymarkedMap from '$lib/assets/img/docs/maps/waymarked.png?enhanced';
</script>
<div class="relative h-80 aspect-square rounded-2xl shadow-xl overflow-clip">
<enhanced:img src={maptilerTopoMap} alt="MapTiler Topo map screenshot." class="absolute" />
<enhanced:img src={topoMap} alt="Topo map screenshot." class="absolute" />
<enhanced:img
src={waymarkedMap}
alt="Waymarked Trails map screenshot."
@@ -29,7 +29,7 @@ export const defaultEmbeddingOptions = {
key: '',
files: [],
ids: [],
basemap: 'maptilerStreets',
basemap: 'libertyTopo',
elevation: {
show: true,
height: 170,
@@ -126,7 +126,7 @@ export function convertOldEmbeddingOptions(options: URLSearchParams): any {
if (options.has('source')) {
let basemap = options.get('source')!;
if (basemap === 'satellite') {
newOptions.basemap = 'maptilerSatellite';
newOptions.basemap = 'libertySatellite';
} else if (basemap === 'otm') {
newOptions.basemap = 'openTopoMap';
} else if (basemap === 'ohm') {
@@ -74,7 +74,7 @@ export class DistanceMarkers {
layout: {
'text-field': ['get', 'distance'],
'text-size': 14,
'text-font': ['Open Sans Bold'],
'text-font': ['Noto Sans Bold'],
},
paint: {
'text-color': 'black',
@@ -251,11 +251,11 @@ export class GPXLayer {
source: this.fileId,
layout: {
'text-field': '»',
'text-offset': [0, -0.06],
'text-offset': [0, -0.1],
'text-keep-upright': false,
'text-max-angle': 361,
'text-allow-overlap': true,
'text-font': ['Open Sans Bold'],
'text-font': ['Noto Sans Bold'],
'symbol-placement': 'line',
'symbol-spacing': 20,
},
@@ -24,7 +24,7 @@ liveQuery(() => db.overpassdata.toArray()).subscribe((pois) => {
});
export class OverpassLayer {
overpassUrl = 'https://overpass.private.coffee/api/interpreter';
overpassUrl = 'https://overpass.gpx.studio/api/interpreter';
minZoom = 12;
queryZoom = 12;
expirationTime = 7 * 24 * 3600 * 1000;
+65 -31
View File
@@ -10,7 +10,8 @@ import {
import { getLayers } from '$lib/components/map/layer-control/utils';
import { i18n } from '$lib/i18n.svelte';
const { currentBasemap, currentOverlays, customLayers, opacities, terrainSource } = settings;
const { currentBasemap, currentOverlays, customLayers, opacities, terrainSource, distanceUnits } =
settings;
const emptySource: maplibregl.GeoJSONSourceSpecification = {
type: 'geojson',
@@ -57,15 +58,24 @@ export class StyleManager {
opacities.subscribe(() => this.updateOverlays());
terrainSource.subscribe(() => this.updateTerrain());
customLayers.subscribe(() => this.updateBasemap());
distanceUnits.subscribe(() => {
const map = get(this._map);
if (map && (map.getLayer('contours_m') || map.getLayer('contours_ft'))) {
this.updateBasemap();
}
});
}
updateBasemap() {
const map_ = get(this._map);
if (!map_) return;
this.buildStyle().then((style) => map_.setStyle(style));
let basemap = get(currentBasemap);
this.buildStyle(basemap).then((style) => {
if (get(currentBasemap) === basemap) map_.setStyle(style);
});
}
async buildStyle(): Promise<maplibregl.StyleSpecification> {
async buildStyle(basemap: string): Promise<maplibregl.StyleSpecification> {
const custom = get(customLayers);
const style: maplibregl.StyleSpecification = {
@@ -79,22 +89,31 @@ export class StyleManager {
layers: [],
};
let basemap = get(currentBasemap);
const basemapInfo = basemaps[basemap] ?? custom[basemap]?.value ?? basemaps[defaultBasemap];
let basemapStyle = basemaps.openStreetMap as maplibregl.StyleSpecification;
try {
basemapStyle = await this.get(basemapInfo);
for (const source in basemapStyle.sources) {
const src = basemapStyle.sources[source];
if (
src &&
typeof src === 'object' &&
'url' in src &&
typeof src.url === 'string' &&
src.url.includes(maptilerKeyPlaceHolder)
) {
src.url = src.url.replace(maptilerKeyPlaceHolder, this._maptilerKey);
}
}
} catch (e) {
console.error(e.message);
}
this.merge(style, basemapStyle);
if (this._maptilerKey !== '') {
const terrain = this.getCurrentTerrain();
style.sources[terrain.source] = terrainSources[terrain.source];
style.terrain = terrain.exaggeration > 0 ? terrain : undefined;
}
const terrain = this.getCurrentTerrain();
style.sources[terrain.source] = terrainSources[terrain.source];
style.terrain = terrain.exaggeration > 0 ? terrain : undefined;
style.layers.push(...anchorLayers);
@@ -166,7 +185,6 @@ export class StyleManager {
}
updateTerrain() {
if (this._maptilerKey === '') return;
const map_ = get(this._map);
if (!map_) return;
@@ -189,9 +207,6 @@ export class StyleManager {
): Promise<maplibregl.StyleSpecification> {
if (typeof styleInfo === 'string') {
let styleUrl = styleInfo as string;
if (styleUrl.includes(maptilerKeyPlaceHolder)) {
styleUrl = styleUrl.replace(maptilerKeyPlaceHolder, this._maptilerKey);
}
const response = await fetch(styleUrl, { cache: 'force-cache' });
if (!response.ok) {
throw new Error(`HTTP error fetching style "${styleInfo}": ${response.status}`);
@@ -205,23 +220,46 @@ export class StyleManager {
merge(style: maplibregl.StyleSpecification, other: maplibregl.StyleSpecification) {
style.sources = { ...style.sources, ...other.sources };
const units = get(distanceUnits);
for (let layer of other.layers ?? []) {
if ('source' in layer) {
if (layer.source == 'contours_m' && units === 'imperial') continue;
if (layer.source == 'contours_ft' && units !== 'imperial') continue;
}
if (layer.type === 'symbol' && layer.layout && layer.layout['text-field']) {
const textField = layer.layout['text-field'];
if (
Array.isArray(textField) &&
textField.length >= 2 &&
textField[0] === 'coalesce' &&
Array.isArray(textField[1]) &&
textField[1][0] === 'get' &&
typeof textField[1][1] === 'string' &&
textField[1][1].startsWith('name')
) {
layer.layout['text-field'] = [
'coalesce',
['get', `name:${i18n.lang}`],
['get', 'name'],
];
if (Array.isArray(textField)) {
if (
textField.length == 4 &&
Array.isArray(textField[3]) &&
textField[3][0] === 'coalesce' &&
Array.isArray(textField[3][1]) &&
textField[3][1][0] === 'get' &&
typeof textField[3][1][1] === 'string' &&
textField[3][1][1].startsWith('name')
) {
// OpenFreeMap styles
layer.layout['text-field'] = [
'coalesce',
['get', `name:${i18n.lang}`],
['get', 'name'],
];
}
if (
textField.length == 3 &&
textField[0] === 'coalesce' &&
Array.isArray(textField[1]) &&
textField[1][0] === 'get' &&
typeof textField[1][1] === 'string' &&
textField[1][1].startsWith('name')
) {
// OpenMapTiles styles
layer.layout['text-field'] = [
'coalesce',
['get', `name:${i18n.lang}`],
['get', 'name'],
];
}
}
}
style.layers.push(layer);
@@ -236,10 +274,6 @@ export class StyleManager {
getCurrentTerrain() {
const terrain = get(terrainSource);
const source = terrainSources[terrain];
if (source.url && source.url.includes(maptilerKeyPlaceHolder)) {
source.url = source.url.replace(maptilerKeyPlaceHolder, this._maptilerKey);
}
const map_ = get(this._map);
return {
source: terrain,
+1 -1
View File
@@ -59,7 +59,7 @@ Only one basemap can be displayed at a time.
<DocsLayers />
<span class="text-sm text-center mt-2">
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the <a href="https://www.maptiler.com/maps/outdoor-topo/" target="_blank">MapTiler Topo</a> basemap.
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
</span>
</div>
@@ -18,7 +18,7 @@ This tool allows you to add elevation data to traces and [points of interest](..
<DocsNote>
Elevation data is provided by <a href="https://maptiler.com" target="_blank">MapTiler</a>.
You can learn more about its origin and accuracy in the <a href="https://docs.maptiler.com/guides/map-tiling-hosting/data-hosting/rgb-terrain-by-maptiler/" target="_blank">documentation</a>.
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
</DocsNote>
+1 -1
View File
@@ -59,7 +59,7 @@ Met de kaartlagen knop kun je wisselen tussen verschillende basiskaarten, en kaa
<DocsLayers />
<span class="text-sm text-center mt-2">
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
Beweeg over de kaart om de <a href="https://hiking.waymarkedtrails.org" target="_blank">Gemarkeerde sporen wandelen</a> overlay te tonen bovenop de topografische basiskaart.
</span>
</div>
+2 -2
View File
@@ -13,9 +13,9 @@ title: Instellingen
Wijzig de eenheden die worden gebruikt om afstanden in de interface weer te geven.
### <Zap size="16" class="inline-block" style="margin-bottom: 2px" /> Snelheids eenheden
### <Zap size="16" class="inline-block" style="margin-bottom: 2px" /> Snelheidseenheden
Verander de eenheden die worden gebruikt om velocities in de interface weer te geven.
Verander de eenheden die worden gebruikt om snelheden in de interface weer te geven.
Je kunt kiezen tussen afstand per uur of minuten per afstand, wat geschikter kan zijn voor het uitvoeren van activiteiten.
### <Thermometer size="16" class="inline-block" style="margin-bottom: 2px" /> Temperatuureenheden
@@ -18,7 +18,7 @@ Met dit gereedschap kun je hoogtegegevens toevoegen aan sporen en [interessante
<DocsNote>
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
Hoogtegegevens worden verstrekt door <a href="https://maptiler.com" target="_blank">Mapterhorn</a>.
Je kunt meer leren over de oorsprong en nauwkeurigheid in de <a href="https://mapterhorn.com/attribution/" target="_blank">documentatie</a>.
</DocsNote>
+1 -1
View File
@@ -59,7 +59,7 @@ title: 地图控件
<DocsLayers />
<span class="text-sm text-center mt-2">
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
鼠标悬停在地图上,可在地形图底图上方显示 <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails 徒步路线</a> 叠加层。
</span>
</div>
@@ -18,7 +18,7 @@ title: 请求海拔数据
<DocsNote>
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
海拔数据来自 <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>
查阅 <a href="https://mapterhorn.com/attribution/" target="_blank">官方文档</a> 以了解海拔数据来源及其准确度。
</DocsNote>
+2 -2
View File
@@ -210,7 +210,7 @@ type RoutingProfile =
| 'motorcycle'
| 'water'
| 'railway';
type TerrainSource = 'maptiler-dem' | 'mapterhorn';
type TerrainSource = 'mapterhorn';
type StreetViewSource = 'mapillary' | 'google';
export const settings = {
@@ -308,7 +308,7 @@ export const settings = {
terrainSource: new Setting<TerrainSource>(
'terrainSource',
defaultTerrainSource,
getValueValidator(['maptiler-dem', 'mapterhorn'], defaultTerrainSource)
getValueValidator(['mapterhorn'], defaultTerrainSource)
),
directionMarkers: new Setting('directionMarkers', false),
distanceMarkers: new Setting('distanceMarkers', false),
+8 -10
View File
@@ -7,7 +7,6 @@ import maplibregl from 'maplibre-gl';
import { pointToTile, pointToTileFraction } from '@mapbox/tilebelt';
import type { GPXStatisticsTree } from '$lib/logic/statistics-tree';
import { ListTrackSegmentItem } from '$lib/components/file-list/file-list';
import { PUBLIC_MAPTILER_KEY } from '$env/static/public';
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
@@ -101,7 +100,7 @@ export function getClosestTrackSegments(
export function getElevation(
points: (TrackPoint | Waypoint | Coordinates)[],
ELEVATION_ZOOM: number = 13,
ELEVATION_ZOOM: number = 12,
tileSize = 512
): Promise<number[]> {
let coordinates = points.map((point) =>
@@ -122,10 +121,9 @@ export function getElevation(
};
let promises = uniqueTiles.map((tile) =>
fetch(
`https://api.maptiler.com/tiles/terrain-rgb-v2/${ELEVATION_ZOOM}/${tile[0]}/${tile[1]}.webp?key=${PUBLIC_MAPTILER_KEY}`,
{ cache: 'force-cache' }
)
fetch(`https://tiles.gpx.studio/mapterhorn/${ELEVATION_ZOOM}/${tile[0]}/${tile[1]}.webp`, {
cache: 'force-cache',
})
.then((response) => response.blob())
.then(
(blob) =>
@@ -180,10 +178,10 @@ export function getElevation(
_y + (_y + 1 == tileSize ? 0 : 1)
);
let ele00 = -10000 + (p00[0] * 256 * 256 + p00[1] * 256 + p00[2]) * 0.1;
let ele01 = -10000 + (p01[0] * 256 * 256 + p01[1] * 256 + p01[2]) * 0.1;
let ele10 = -10000 + (p10[0] * 256 * 256 + p10[1] * 256 + p10[2]) * 0.1;
let ele11 = -10000 + (p11[0] * 256 * 256 + p11[1] * 256 + p11[2]) * 0.1;
let ele00 = -32768 + p00[0] * 256 + p00[1] + p00[2] / 256;
let ele01 = -32768 + p01[0] * 256 + p01[1] + p01[2] / 256;
let ele10 = -32768 + p10[0] * 256 + p10[1] + p10[2] / 256;
let ele11 = -32768 + p11[0] * 256 + p11[1] + p11[2] / 256;
return (
ele00 * (1 - dx) * (1 - dy) +
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Suïssa",
"united_kingdom": "Regne Unit",
"united_states": "Estats Units",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Švýcarsko",
"united_kingdom": "Velká Británie",
"united_states": "Spojené státy",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Schweiz",
"united_kingdom": "Großbritannien",
"united_states": "USA",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+5 -6
View File
@@ -235,7 +235,7 @@
},
"elevation": {
"button": "Request elevation data",
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from MapTiler.",
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from Mapterhorn.",
"help_no_selection": "Select a file item to request elevation data."
},
"waypoint": {
@@ -304,10 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"maptilerStreets": "MapTiler Streets",
"maptilerTopo": "MapTiler Topo",
"maptilerOutdoors": "MapTiler Outdoors",
"maptilerSatellite": "MapTiler Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
@@ -388,7 +388,6 @@
"tram-stop": "Tram Stop",
"bus-stop": "Bus Stop",
"ferry": "Ferry",
"maptiler-dem": "MapTiler DEM",
"mapterhorn": "Mapterhorn"
}
},
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Suiza",
"united_kingdom": "Reino Unido",
"united_states": "Estados Unidos",
"topo": "Topográfico",
"satellite": "Satélite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Suitza",
"united_kingdom": "Erresuma Batua",
"united_states": "Ameriketako Estatu Batuak",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Sveitsi",
"united_kingdom": "Iso-Britannia",
"united_states": "Yhdysvallat",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Suisse",
"united_kingdom": "Royaume-Uni",
"united_states": "États-Unis",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Svájc",
"united_kingdom": "Anglia",
"united_states": "Amerika",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Swiss",
"united_kingdom": "Britania Raya",
"united_states": "Amerika Serikat",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Svizzera",
"united_kingdom": "United Kingdom",
"united_states": "Stati Uniti",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "스위스",
"united_kingdom": "영국",
"united_states": "미국",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "오픈스트리트맵",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Šveicarija",
"united_kingdom": "Jungtinė Karalystė",
"united_states": "Jungtinės Amerikos Valstijos",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+5 -3
View File
@@ -235,7 +235,7 @@
},
"elevation": {
"button": "Hoogtegegevens opvragen",
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from Mapterhorn.",
"help": "Het opvragen van hoogtegegevens verwijdert de bestaande hoogtegegevens, indien aanwezig, en vervangt deze door gegevens van Mapterhorn.",
"help_no_selection": "Selecteer een bestand om hoogte gegevens op te vragen."
},
"waypoint": {
@@ -304,8 +304,10 @@
"switzerland": "Zwitserland",
"united_kingdom": "Verenigd Koninkrijk",
"united_states": "Verenigde Staten",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satelliet",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Sveits",
"united_kingdom": "Storbritannia",
"united_states": "USA",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Szwajcaria",
"united_kingdom": "Wielka Brytania",
"united_states": "Stany Zjednoczone",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Suíça",
"united_kingdom": "Reino Unido",
"united_states": "Estados Unidos",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Suíça",
"united_kingdom": "Reino Unido",
"united_states": "Estados Unidos",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+26 -24
View File
@@ -28,7 +28,7 @@
"undo": "Anulează",
"redo": "Refă",
"delete": "Șterge",
"delete_all": "Delete all",
"delete_all": "Șterge tot",
"select_all": "Selectează tot",
"view": "Vizualizare",
"elevation_profile": "Profil de altitudine",
@@ -36,7 +36,7 @@
"switch_basemap": "Comutați la harta de bază anterioară",
"toggle_overlays": "Comută suprapunerile",
"toggle_3d": "Comută 3D",
"fullscreen": "Full screen",
"fullscreen": "Ecran complet",
"settings": "Setări",
"distance_units": "Unități de distanță",
"metric": "Metric",
@@ -62,46 +62,46 @@
"more": "Mai multe...",
"donate": "Donați",
"ctrl": "Ctrl",
"click": "Click",
"click": "Clic",
"drag": "Drag",
"right_click_drag": "Right-click drag",
"metadata": {
"button": "Info...",
"name": "Name",
"button": "Informații...",
"name": "Nume",
"description": "Descriere",
"save": "Save"
"save": "Salvează"
},
"style": {
"button": "Aspect...",
"color": "Color",
"color": "Culoare",
"opacity": "Opacitate",
"width": "Width"
"width": "Lățime"
},
"hide": "Ascunde",
"unhide": "Dezvăluie",
"center": "Center",
"open_in": "Open in",
"center": "Centrează",
"open_in": "Deschide în",
"copy_coordinates": "Copiază coordonatele",
"edit_osm": "Edit in OpenStreetMap"
"edit_osm": "Editează în OpenStreetMap"
},
"toolbar": {
"routing": {
"tooltip": "Planifică sau editează o rută",
"activity": "Activitate",
"use_routing": "Rutare",
"use_routing_tooltip": "Connect anchor points via road network, or in a straight line if disabled",
"allow_private": "Allow private roads",
"use_routing_tooltip": "Conectează puncte de ancorare prin rețeaua rutieră sau în linie dreaptă dacă este dezactivată",
"allow_private": "Permite drumuri private",
"reverse": {
"button": "Reverse",
"button": "Inversează",
"tooltip": "Reverse the direction of the route"
},
"route_back_to_start": {
"button": "Back to start",
"tooltip": "Connect the last point of the route with the starting point"
"button": "Înapoi la punctul de plecare",
"tooltip": "Conectează ultimul punct al rutei cu punctul de plecare"
},
"round_trip": {
"button": "Round trip",
"tooltip": "Return to the starting point by the same route"
"button": "Călătorie dus-întors",
"tooltip": "Întoarce-te la punctul de plecare pe aceeași rută"
},
"start_loop_here": "Start loop here",
"help_no_file": "Select a trace to use the routing tool, or click on the map to start creating a new route.",
@@ -120,7 +120,7 @@
"unknown": "Necunoscut",
"paved": "Asfaltat",
"unpaved": "Unpaved",
"asphalt": "Asphalt",
"asphalt": "Asfalt",
"concrete": "Concrete",
"cobblestone": "Pavaj",
"paving_stones": "Pavaj din pietre",
@@ -140,11 +140,11 @@
"grass": "Iarbă",
"grass_paver": "Pavaj cu iarbă",
"clay": "Clay",
"stone": "Stone"
"stone": "Piatră"
},
"highway": {
"unknown": "Unknown",
"motorway": "Highway",
"unknown": "Necunoscut",
"motorway": "Autostradă",
"motorway_link": "Highway link",
"trunk": "Primary road",
"trunk_link": "Primary road link",
@@ -304,8 +304,10 @@
"switzerland": "Elveția",
"united_kingdom": "Regatul Unit",
"united_states": "Statele Unite ale Americii",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Швейцария",
"united_kingdom": "Великобритания",
"united_states": "Соединенные Штаты Америки",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Švajcarska",
"united_kingdom": "Ujedinjeno Kraljevstvo",
"united_states": "Sjеdinjеnе Američke Državе",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Schweiz",
"united_kingdom": "Storbritannien",
"united_states": "USA",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "İsviçre",
"united_kingdom": "Birleşik Krallık",
"united_states": "Birlişik Devletler",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Швейцарія",
"united_kingdom": "Велика Британія\nВеликобританія",
"united_states": "Сполучені Штати",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+4 -2
View File
@@ -304,8 +304,10 @@
"switzerland": "Switzerland",
"united_kingdom": "United Kingdom",
"united_states": "United States",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
+5 -3
View File
@@ -235,7 +235,7 @@
},
"elevation": {
"button": "请求海拔数据",
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from Mapterhorn.",
"help": "请求成功后将移除原有的海拔数据,并使用 Mapterhorn 的海拔数据替换原有数据。",
"help_no_selection": "选择要请求海拔数据的文件。"
},
"waypoint": {
@@ -304,8 +304,10 @@
"switzerland": "瑞士",
"united_kingdom": "英国",
"united_states": "美国",
"topo": "Topo",
"satellite": "Satellite",
"libertyTopo": "Liberty Topo",
"libertySatellite": "Liberty Satellite",
"osm": "OpenMapTiles OSM",
"osmTopo": "OpenMapTiles OSM Topo",
"esriSatellite": "Esri Satellite",
"openStreetMap": "OpenStreetMap",
"openTopoMap": "OpenTopoMap",
@@ -19,8 +19,8 @@
return;
}
embeddingOptions = getMergedEmbeddingOptions(options);
if (embeddingOptions.key === '' && embeddingOptions.basemap.startsWith('maptiler')) {
embeddingOptions.basemap = 'openStreetMap';
if (embeddingOptions.key === '' && embeddingOptions.basemap === 'satellite') {
embeddingOptions.basemap = 'libertyTopo';
}
});
</script>
-47
View File
@@ -1,47 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Vrstva_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 812 212" style="enable-background:new 0 0 812 212;" xml:space="preserve">
<style type="text/css">
.st0{fill:#3A1888;}
.st1{fill:#03A1C4;}
.st2{fill:#05D0DF;}
.st3{fill:#761FE8;}
.st4{fill:#FFAA01;}
.st5{fill:#F1175D;}
.st6{fill:#FB3A1B;}
.st7{fill:#FBC935;}
.st8{fill:#FFFFFF;}
</style>
<g>
<path class="st0" d="M94.3,164.2c9.2,9.2,33.8,34.3,33.8,34.3c-0.1,0.2,24.4-24.5,34.2-34.2l-34.1-34.1L94.3,164.2z"/>
<path class="st1" d="M128.3,130.2l34.1,34.1c0.1-0.1,0.1-0.1,0.2-0.2l34-34L162.5,96L128.3,130.2z"/>
<path class="st2" d="M196.6,130.1L196.6,130.1c18.9-18.9,18.9-49.4,0.1-68.3L162.5,96L196.6,130.1z"/>
<path class="st3" d="M94.1,96l-34,34c0,0,0,0,0,0l34.1,34.1c0,0,0,0,0.1,0.1l34-34L94.1,96z"/>
<path class="st4" d="M128.3,61.8L162.5,96l34.2-34.2c0,0,0,0-0.1-0.1l-34.1-34.1c0,0,0,0,0,0L128.3,61.8z"/>
<path class="st5" d="M60,61.9c-18.7,18.9-18.6,49.3,0.1,68.1l34-34L60,61.9z"/>
<path class="st6" d="M128.3,61.8L94.2,27.7l-34,34c-0.1,0.1-0.1,0.1-0.2,0.2L94.1,96L128.3,61.8z"/>
<path class="st7" d="M162.5,27.6c-18.9-18.8-49.4-18.8-68.2,0l-0.1,0.1l34.1,34.1L162.5,27.6z"/>
</g>
<path class="st8" d="M303.8,138.6v-34.9c0-8.6-4.5-16.4-13.3-16.4c-8.7,0-13.9,7.8-13.9,16.4v34.9h-16.1V73.4h14.9l1.2,7.9
c3.4-6.6,11-9,17.2-9c7.8,0,15.6,3.2,19.3,12.2c5.8-9.2,13.3-11.9,21.8-11.9c18.5,0,27.6,11.4,27.6,30.9v35.1h-16.1v-35.1
c0-8.6-3.6-15.9-12.3-15.9c-8.7,0-14.1,7.5-14.1,16.1v34.9H303.8z"/>
<path class="st8" d="M430.5,73.5h15.5v65.1h-15.2l-0.8-9.5c-3.7,7.7-13.9,11.4-21.1,11.5c-19.3,0.1-33.6-11.8-33.6-34.6
c0-22.5,14.9-34.2,34-34.1c8.7,0,17,4.1,20.7,10.6L430.5,73.5z M391.4,106c0,12.4,8.6,19.8,19.3,19.8c25.4,0,25.4-39.5,0-39.5
C399.9,86.3,391.4,93.6,391.4,106z"/>
<path class="st8" d="M459.5,165.8V73.5h15.1l1.1,9c5-7.3,13.7-10.4,21.1-10.4c20.1,0,33.4,14.9,33.4,34.1c0,19-12,34.1-32.9,34.1
c-6.9,0-17-2.1-21.7-9.3v34.9H459.5z M514.1,106.1c0-10.2-6.9-18.5-18.5-18.5c-11.6,0-18.5,8.3-18.5,18.5c0,10.2,7.5,18.5,18.5,18.5
C506.6,124.6,514.1,116.3,514.1,106.1z"/>
<path class="st8" d="M559,53.7v19.7h22.2v5.4H559v39.8c0,8.8,1.9,15.1,12,15.1c3.2,0,6.7-1.1,10-2.6l2.2,5.3
c-4.1,2-8.2,3.3-12.3,3.3c-13.9,0-18.4-8.2-18.4-21V78.8h-13.9v-5.4h13.9v-19L559,53.7z"/>
<path class="st8" d="M604.7,52.1c0,6.9-10.4,6.9-10.4,0C594.3,45.2,604.7,45.2,604.7,52.1z M596.1,73.1v65.5h6.5V73.1H596.1z"/>
<path class="st8" d="M627.6,46.2v92.5h-6.5V46.2H627.6z"/>
<path class="st8" d="M730.2,73.4l0.3,11.6c4.1-8.9,13.3-12.3,21.7-12.3c4.9-0.1,9.6,1.2,14,3.8l-2.9,5.3c-3.4-2.1-7.3-3-11.1-3
c-12.2,0.1-21.5,9.9-21.5,21.8v38h-6.5V73.4H730.2z"/>
<g>
<path class="st8" d="M675.1,134.7c-11.5,0-21.4-7.2-25.5-17.4l0,0l0,0c0,0,0,0,0,0l52.8-14c0,0,0,0,0,0.1l5.6-1.5
c-2.3-16.5-16.2-29.3-33-29.3c-18.4,0-33.3,15.2-33.3,34c0,18.8,14.9,34,33.3,34c13.8,0,25.6-8.5,30.6-20.7l-5.3-2.3
C696.2,127.6,686.4,134.7,675.1,134.7z M647.5,106.6c0-15.5,12.3-28.1,27.5-28.1c11.9,0,22,7.7,25.9,18.5L647.9,111
C647.6,109.5,647.5,108.1,647.5,106.6z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB

-45
View File
@@ -1,45 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Vrstva_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 812 212" style="enable-background:new 0 0 812 212;" xml:space="preserve">
<style type="text/css">
.st0{fill:#3A1888;}
.st1{fill:#03A1C4;}
.st2{fill:#05D0DF;}
.st3{fill:#761FE8;}
.st4{fill:#FFAA01;}
.st5{fill:#F1175D;}
.st6{fill:#FB3A1B;}
.st7{fill:#FBC935;}
.st8{fill:#333359;}
</style>
<path class="st0" d="M94.3,164.2c9.2,9.2,33.8,34.3,33.8,34.3c-0.1,0.2,24.4-24.5,34.2-34.2l-34.1-34.1L94.3,164.2z"/>
<path class="st1" d="M128.3,130.2l34.1,34.1c0.1-0.1,0.1-0.1,0.2-0.2l34-34L162.5,96L128.3,130.2z"/>
<path class="st2" d="M196.6,130.1L196.6,130.1c18.9-18.9,18.9-49.4,0.1-68.3L162.5,96L196.6,130.1z"/>
<path class="st3" d="M94.1,96l-34,34c0,0,0,0,0,0l34.1,34.1c0,0,0,0,0.1,0.1l34-34L94.1,96z"/>
<path class="st4" d="M128.3,61.8L162.5,96l34.2-34.2c0,0,0,0-0.1-0.1l-34.1-34.1c0,0,0,0,0,0L128.3,61.8z"/>
<path class="st5" d="M60,61.9c-18.7,18.9-18.6,49.3,0.1,68.1l34-34L60,61.9z"/>
<path class="st6" d="M128.3,61.8L94.2,27.7l-34,34c-0.1,0.1-0.1,0.1-0.2,0.2L94.1,96L128.3,61.8z"/>
<path class="st7" d="M162.5,27.6c-18.9-18.8-49.4-18.8-68.2,0l-0.1,0.1l34.1,34.1L162.5,27.6z"/>
<path class="st8" d="M303.7,138.6v-34.9c0-8.6-4.5-16.4-13.3-16.4c-8.7,0-13.9,7.8-13.9,16.4v34.9h-16.1V73.4h14.9l1.2,7.9
c3.4-6.6,11-9,17.2-9c7.8,0,15.6,3.2,19.3,12.2c5.8-9.2,13.3-11.9,21.8-11.9c18.5,0,27.6,11.4,27.6,30.9v35.1h-16.1v-35.1
c0-8.6-3.6-15.9-12.3-15.9c-8.7,0-14.1,7.5-14.1,16.1v34.9H303.7z"/>
<path class="st8" d="M430.3,73.5h15.5v65.1h-15.2l-0.8-9.5c-3.7,7.7-13.9,11.4-21.1,11.5c-19.3,0.1-33.6-11.8-33.6-34.6
c0-22.5,14.9-34.2,34-34.1c8.7,0,17,4.1,20.7,10.6L430.3,73.5z M391.2,106c0,12.4,8.6,19.8,19.3,19.8c25.4,0,25.4-39.5,0-39.5
C399.8,86.3,391.2,93.6,391.2,106z"/>
<path class="st8" d="M459.4,165.8V73.5h15.1l1.1,9c5-7.3,13.7-10.4,21.1-10.4c20.1,0,33.4,14.9,33.4,34.1c0,19-12,34.1-32.9,34.1
c-6.9,0-17-2.1-21.7-9.3v34.9H459.4z M514,106.1c0-10.2-6.9-18.5-18.5-18.5c-11.6,0-18.5,8.3-18.5,18.5c0,10.2,7.5,18.5,18.5,18.5
C506.4,124.6,514,116.3,514,106.1z"/>
<path class="st8" d="M558.9,53.7v19.7h22.2v5.4h-22.2v39.8c0,8.8,1.9,15.1,12,15.1c3.2,0,6.7-1.1,10-2.6l2.2,5.3
c-4.1,2-8.2,3.3-12.3,3.3c-13.9,0-18.4-8.2-18.4-21V78.8h-13.9v-5.4h13.9v-19L558.9,53.7z"/>
<path class="st8" d="M604.6,52.1c0,6.9-10.4,6.9-10.4,0C594.1,45.2,604.6,45.2,604.6,52.1z M596,73.1v65.5h6.5V73.1H596z"/>
<path class="st8" d="M627.4,46.2v92.5H621V46.2H627.4z"/>
<path class="st8" d="M730.1,73.4l0.3,11.6c4.1-8.9,13.3-12.3,21.7-12.3c4.9-0.1,9.6,1.2,14,3.8l-2.9,5.3c-3.4-2.1-7.3-3-11.1-3
c-12.2,0.1-21.5,9.9-21.5,21.8v38H724V73.4H730.1z"/>
<g>
<path class="st8" d="M674.9,134.7c-11.5,0-21.4-7.2-25.5-17.4l0,0l0,0c0,0,0,0,0,0l52.8-14c0,0,0,0,0,0.1l5.6-1.5
c-2.3-16.5-16.2-29.3-33-29.3c-18.4,0-33.3,15.2-33.3,34c0,18.8,14.9,34,33.3,34c13.8,0,25.6-8.5,30.6-20.7l-5.3-2.3
C696.1,127.6,686.3,134.7,674.9,134.7z M647.4,106.6c0-15.5,12.3-28.1,27.5-28.1c11.9,0,22,7.7,25.9,18.5L647.7,111
C647.5,109.5,647.4,108.1,647.4,106.6z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.1 KiB