mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-01-22 17:48:41 +00:00
Compare commits
33 Commits
graphhoppe
...
f3c298642c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3c298642c | ||
|
|
b2568aa338 | ||
|
|
77ca98d2f5 | ||
|
|
aa370b6961 | ||
|
|
4bb77f113c | ||
|
|
5319733cf3 | ||
|
|
84883f44c0 | ||
|
|
92f442a79e | ||
|
|
dd2637971b | ||
|
|
0667f6ece2 | ||
|
|
c62b75c6ef | ||
|
|
2fb7e77b63 | ||
|
|
f4ced434a7 | ||
|
|
03dec13229 | ||
|
|
411afdfdb1 | ||
|
|
adbdf86de4 | ||
|
|
866a6a6916 | ||
|
|
bd42a7e270 | ||
|
|
2b951615ae | ||
|
|
fabf36c2ba | ||
|
|
d216b36ed6 | ||
|
|
e8f40fe206 | ||
|
|
3dc24d95e5 | ||
|
|
744f36f981 | ||
|
|
2e24dedcb2 | ||
|
|
e380764188 | ||
|
|
47c3edd496 | ||
|
|
d6eeddaa0e | ||
|
|
e57692c4f0 | ||
|
|
8c77490f1b | ||
|
|
6c4baf76bc | ||
|
|
64e1c24a58 | ||
|
|
87e2571170 |
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2026 gpx.studio
|
Copyright (c) 2025 gpx.studio
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@@ -1398,7 +1398,10 @@ export class TrackPoint {
|
|||||||
: undefined;
|
: undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
setExtension(key: string, value: string) {
|
setExtensions(extensions: Record<string, string>) {
|
||||||
|
if (Object.keys(extensions).length === 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!this.extensions) {
|
if (!this.extensions) {
|
||||||
this.extensions = {};
|
this.extensions = {};
|
||||||
}
|
}
|
||||||
@@ -1408,12 +1411,8 @@ export class TrackPoint {
|
|||||||
if (!this.extensions['gpxtpx:TrackPointExtension']['gpxtpx:Extensions']) {
|
if (!this.extensions['gpxtpx:TrackPointExtension']['gpxtpx:Extensions']) {
|
||||||
this.extensions['gpxtpx:TrackPointExtension']['gpxtpx:Extensions'] = {};
|
this.extensions['gpxtpx:TrackPointExtension']['gpxtpx:Extensions'] = {};
|
||||||
}
|
}
|
||||||
this.extensions['gpxtpx:TrackPointExtension']['gpxtpx:Extensions'][key] = value;
|
|
||||||
}
|
|
||||||
|
|
||||||
setExtensions(extensions: Record<string, string>) {
|
|
||||||
Object.entries(extensions).forEach(([key, value]) => {
|
Object.entries(extensions).forEach(([key, value]) => {
|
||||||
this.setExtension(key, value);
|
this.extensions['gpxtpx:TrackPointExtension']['gpxtpx:Extensions'][key] = value;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ import {
|
|||||||
Binoculars,
|
Binoculars,
|
||||||
Toilet,
|
Toilet,
|
||||||
} from 'lucide-static';
|
} from 'lucide-static';
|
||||||
import { type RasterDEMSourceSpecification, type StyleSpecification } from 'mapbox-gl';
|
import { type StyleSpecification } from 'mapbox-gl';
|
||||||
import ignFrTopo from './custom/ign-fr-topo.json';
|
import ignFrTopo from './custom/ign-fr-topo.json';
|
||||||
import ignFrPlan from './custom/ign-fr-plan.json';
|
import ignFrPlan from './custom/ign-fr-plan.json';
|
||||||
import ignFrSatellite from './custom/ign-fr-satellite.json';
|
import ignFrSatellite from './custom/ign-fr-satellite.json';
|
||||||
@@ -388,22 +388,6 @@ export const overlays: { [key: string]: string | StyleSpecification } = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
mapterhornHillshade: {
|
|
||||||
version: 8,
|
|
||||||
sources: {
|
|
||||||
mapterhornHillshade: {
|
|
||||||
type: 'raster-dem',
|
|
||||||
url: 'https://tiles.mapterhorn.com/tilejson.json',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
layers: [
|
|
||||||
{
|
|
||||||
id: 'mapterhornHillshade',
|
|
||||||
type: 'hillshade',
|
|
||||||
source: 'mapterhornHillshade',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
swisstopoSlope: {
|
swisstopoSlope: {
|
||||||
version: 8,
|
version: 8,
|
||||||
sources: {
|
sources: {
|
||||||
@@ -835,9 +819,8 @@ export const overlayTree: LayerTreeType = {
|
|||||||
waymarkedTrailsHorseRiding: true,
|
waymarkedTrailsHorseRiding: true,
|
||||||
waymarkedTrailsWinter: true,
|
waymarkedTrailsWinter: true,
|
||||||
},
|
},
|
||||||
bikerouterGravel: true,
|
|
||||||
cyclOSMlite: true,
|
cyclOSMlite: true,
|
||||||
mapterhornHillshade: true,
|
bikerouterGravel: true,
|
||||||
openRailwayMap: true,
|
openRailwayMap: true,
|
||||||
},
|
},
|
||||||
countries: {
|
countries: {
|
||||||
@@ -921,9 +904,8 @@ export const defaultOverlays: LayerTreeType = {
|
|||||||
waymarkedTrailsHorseRiding: false,
|
waymarkedTrailsHorseRiding: false,
|
||||||
waymarkedTrailsWinter: false,
|
waymarkedTrailsWinter: false,
|
||||||
},
|
},
|
||||||
bikerouterGravel: false,
|
|
||||||
cyclOSMlite: false,
|
cyclOSMlite: false,
|
||||||
mapterhornHillshade: false,
|
bikerouterGravel: false,
|
||||||
openRailwayMap: false,
|
openRailwayMap: false,
|
||||||
},
|
},
|
||||||
countries: {
|
countries: {
|
||||||
@@ -1058,9 +1040,8 @@ export const defaultOverlayTree: LayerTreeType = {
|
|||||||
waymarkedTrailsHorseRiding: false,
|
waymarkedTrailsHorseRiding: false,
|
||||||
waymarkedTrailsWinter: false,
|
waymarkedTrailsWinter: false,
|
||||||
},
|
},
|
||||||
bikerouterGravel: false,
|
|
||||||
cyclOSMlite: false,
|
cyclOSMlite: false,
|
||||||
mapterhornHillshade: false,
|
bikerouterGravel: false,
|
||||||
openRailwayMap: false,
|
openRailwayMap: false,
|
||||||
},
|
},
|
||||||
countries: {
|
countries: {
|
||||||
@@ -1453,18 +1434,3 @@ export const overpassQueryData: Record<string, OverpassQueryData> = {
|
|||||||
symbol: 'Anchor',
|
symbol: 'Anchor',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const terrainSources: { [key: string]: RasterDEMSourceSpecification } = {
|
|
||||||
'mapbox-dem': {
|
|
||||||
type: 'raster-dem',
|
|
||||||
url: 'mapbox://mapbox.mapbox-terrain-dem-v1',
|
|
||||||
tileSize: 512,
|
|
||||||
maxzoom: 14,
|
|
||||||
},
|
|
||||||
mapterhorn: {
|
|
||||||
type: 'raster-dem',
|
|
||||||
url: 'https://tiles.mapterhorn.com/tilejson.json',
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
export const defaultTerrainSource = 'mapbox-dem';
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
href="https://github.com/gpxstudio/gpx.studio/blob/main/LICENSE"
|
href="https://github.com/gpxstudio/gpx.studio/blob/main/LICENSE"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
MIT © 2026 gpx.studio
|
MIT © 2025 gpx.studio
|
||||||
</Button>
|
</Button>
|
||||||
<LanguageSelect class="w-40 mt-3" />
|
<LanguageSelect class="w-40 mt-3" />
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -13,7 +13,6 @@
|
|||||||
overlays,
|
overlays,
|
||||||
overlayTree,
|
overlayTree,
|
||||||
overpassTree,
|
overpassTree,
|
||||||
terrainSources,
|
|
||||||
} from '$lib/assets/layers';
|
} from '$lib/assets/layers';
|
||||||
import { getLayers, isSelected, toggle } from '$lib/components/map/layer-control/utils';
|
import { getLayers, isSelected, toggle } from '$lib/components/map/layer-control/utils';
|
||||||
import { i18n } from '$lib/i18n.svelte';
|
import { i18n } from '$lib/i18n.svelte';
|
||||||
@@ -32,7 +31,6 @@
|
|||||||
currentOverpassQueries,
|
currentOverpassQueries,
|
||||||
customLayers,
|
customLayers,
|
||||||
opacities,
|
opacities,
|
||||||
terrainSource,
|
|
||||||
} = settings;
|
} = settings;
|
||||||
|
|
||||||
const { isLayerFromExtension, getLayerName } = extensionAPI;
|
const { isLayerFromExtension, getLayerName } = extensionAPI;
|
||||||
@@ -235,23 +233,6 @@
|
|||||||
</ScrollArea>
|
</ScrollArea>
|
||||||
</Accordion.Content>
|
</Accordion.Content>
|
||||||
</Accordion.Item>
|
</Accordion.Item>
|
||||||
<Accordion.Item value="terrain-source">
|
|
||||||
<Accordion.Trigger>{i18n._('layers.terrain')}</Accordion.Trigger>
|
|
||||||
<Accordion.Content class="flex flex-col gap-3 overflow-visible">
|
|
||||||
<Select.Root bind:value={$terrainSource} type="single">
|
|
||||||
<Select.Trigger class="mr-1 w-full" size="sm">
|
|
||||||
{i18n._(`layers.label.${$terrainSource}`)}
|
|
||||||
</Select.Trigger>
|
|
||||||
<Select.Content class="h-fit max-h-[40dvh] overflow-y-auto">
|
|
||||||
{#each Object.keys(terrainSources) as id}
|
|
||||||
<Select.Item value={id}>
|
|
||||||
{i18n._(`layers.label.${id}`)}
|
|
||||||
</Select.Item>
|
|
||||||
{/each}
|
|
||||||
</Select.Content>
|
|
||||||
</Select.Root>
|
|
||||||
</Accordion.Content>
|
|
||||||
</Accordion.Item>
|
|
||||||
</Accordion.Root>
|
</Accordion.Root>
|
||||||
</ScrollArea>
|
</ScrollArea>
|
||||||
</Sheet.Header>
|
</Sheet.Header>
|
||||||
|
|||||||
@@ -3,16 +3,8 @@ import MapboxGeocoder from '@mapbox/mapbox-gl-geocoder';
|
|||||||
import { get, writable, type Writable } from 'svelte/store';
|
import { get, writable, type Writable } from 'svelte/store';
|
||||||
import { settings } from '$lib/logic/settings';
|
import { settings } from '$lib/logic/settings';
|
||||||
import { tick } from 'svelte';
|
import { tick } from 'svelte';
|
||||||
import { terrainSources } from '$lib/assets/layers';
|
|
||||||
|
|
||||||
const {
|
const { treeFileView, elevationProfile, bottomPanelSize, rightPanelSize, distanceUnits } = settings;
|
||||||
treeFileView,
|
|
||||||
elevationProfile,
|
|
||||||
bottomPanelSize,
|
|
||||||
rightPanelSize,
|
|
||||||
distanceUnits,
|
|
||||||
terrainSource,
|
|
||||||
} = settings;
|
|
||||||
|
|
||||||
let fitBoundsOptions: mapboxgl.MapOptions['fitBoundsOptions'] = {
|
let fitBoundsOptions: mapboxgl.MapOptions['fitBoundsOptions'] = {
|
||||||
maxZoom: 15,
|
maxZoom: 15,
|
||||||
@@ -131,14 +123,34 @@ export class MapboxGLMap {
|
|||||||
});
|
});
|
||||||
map.addControl(scaleControl);
|
map.addControl(scaleControl);
|
||||||
map.on('style.load', () => {
|
map.on('style.load', () => {
|
||||||
|
map.addSource('mapbox-dem', {
|
||||||
|
type: 'raster-dem',
|
||||||
|
url: 'mapbox://mapbox.mapbox-terrain-dem-v1',
|
||||||
|
tileSize: 512,
|
||||||
|
maxzoom: 14,
|
||||||
|
});
|
||||||
|
if (map.getPitch() > 0) {
|
||||||
|
map.setTerrain({
|
||||||
|
source: 'mapbox-dem',
|
||||||
|
exaggeration: 1,
|
||||||
|
});
|
||||||
|
}
|
||||||
map.setFog({
|
map.setFog({
|
||||||
color: 'rgb(186, 210, 235)',
|
color: 'rgb(186, 210, 235)',
|
||||||
'high-color': 'rgb(36, 92, 223)',
|
'high-color': 'rgb(36, 92, 223)',
|
||||||
'horizon-blend': 0.1,
|
'horizon-blend': 0.1,
|
||||||
'space-color': 'rgb(156, 240, 255)',
|
'space-color': 'rgb(156, 240, 255)',
|
||||||
});
|
});
|
||||||
map.on('pitch', this.setTerrain.bind(this));
|
map.on('pitch', () => {
|
||||||
this.setTerrain();
|
if (map.getPitch() > 0) {
|
||||||
|
map.setTerrain({
|
||||||
|
source: 'mapbox-dem',
|
||||||
|
exaggeration: 1,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
map.setTerrain(null);
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
map.on('style.import.load', () => {
|
map.on('style.import.load', () => {
|
||||||
const basemap = map.getStyle().imports?.find((imprt) => imprt.id === 'basemap');
|
const basemap = map.getStyle().imports?.find((imprt) => imprt.id === 'basemap');
|
||||||
@@ -150,7 +162,6 @@ export class MapboxGLMap {
|
|||||||
this._map.set(map); // only set the store after the map has loaded
|
this._map.set(map); // only set the store after the map has loaded
|
||||||
window._map = map; // entry point for extensions
|
window._map = map; // entry point for extensions
|
||||||
this.resize();
|
this.resize();
|
||||||
this.setTerrain();
|
|
||||||
scaleControl.setUnit(get(distanceUnits));
|
scaleControl.setUnit(get(distanceUnits));
|
||||||
|
|
||||||
this._onLoadCallbacks.forEach((callback) => callback(map));
|
this._onLoadCallbacks.forEach((callback) => callback(map));
|
||||||
@@ -166,7 +177,6 @@ export class MapboxGLMap {
|
|||||||
scaleControl.setUnit(units);
|
scaleControl.setUnit(units);
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
this._unsubscribes.push(terrainSource.subscribe(() => this.setTerrain()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onLoad(callback: (map: mapboxgl.Map) => void) {
|
onLoad(callback: (map: mapboxgl.Map) => void) {
|
||||||
@@ -207,24 +217,6 @@ export class MapboxGLMap {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setTerrain() {
|
|
||||||
const map = get(this._map);
|
|
||||||
if (map) {
|
|
||||||
const source = get(terrainSource);
|
|
||||||
if (!map.getSource(source)) {
|
|
||||||
map.addSource(source, terrainSources[source]);
|
|
||||||
}
|
|
||||||
if (map.getPitch() > 0) {
|
|
||||||
map.setTerrain({
|
|
||||||
source: source,
|
|
||||||
exaggeration: 1,
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
map.setTerrain(null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const map = new MapboxGLMap();
|
export const map = new MapboxGLMap();
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
SquareArrowUpLeft,
|
SquareArrowUpLeft,
|
||||||
SquareArrowOutDownRight,
|
SquareArrowOutDownRight,
|
||||||
} from '@lucide/svelte';
|
} from '@lucide/svelte';
|
||||||
import { routingProfiles } from '$lib/components/toolbar/tools/routing/routing';
|
import { brouterProfiles } from '$lib/components/toolbar/tools/routing/routing';
|
||||||
import { i18n } from '$lib/i18n.svelte';
|
import { i18n } from '$lib/i18n.svelte';
|
||||||
import { slide } from 'svelte/transition';
|
import { slide } from 'svelte/transition';
|
||||||
import {
|
import {
|
||||||
@@ -167,7 +167,7 @@
|
|||||||
{i18n._(`toolbar.routing.activities.${$routingProfile}`)}
|
{i18n._(`toolbar.routing.activities.${$routingProfile}`)}
|
||||||
</Select.Trigger>
|
</Select.Trigger>
|
||||||
<Select.Content>
|
<Select.Content>
|
||||||
{#each Object.keys(routingProfiles) as profile}
|
{#each Object.keys(brouterProfiles) as profile}
|
||||||
<Select.Item value={profile}
|
<Select.Item value={profile}
|
||||||
>{i18n._(
|
>{i18n._(
|
||||||
`toolbar.routing.activities.${profile}`
|
`toolbar.routing.activities.${profile}`
|
||||||
|
|||||||
@@ -6,185 +6,35 @@ import { get } from 'svelte/store';
|
|||||||
|
|
||||||
const { routing, routingProfile, privateRoads } = settings;
|
const { routing, routingProfile, privateRoads } = settings;
|
||||||
|
|
||||||
export type RoutingProfile = {
|
export const brouterProfiles: { [key: string]: string } = {
|
||||||
engine: 'graphhopper' | 'brouter';
|
bike: 'Trekking-dry',
|
||||||
profile: string;
|
racing_bike: 'fastbike',
|
||||||
};
|
gravel_bike: 'gravel',
|
||||||
|
mountain_bike: 'MTB',
|
||||||
export const routingProfiles: { [key: string]: RoutingProfile } = {
|
foot: 'Hiking-Alpine-SAC6',
|
||||||
bike: { engine: 'graphhopper', profile: 'bike' },
|
motorcycle: 'Car-FastEco',
|
||||||
racing_bike: { engine: 'graphhopper', profile: 'racingbike' },
|
water: 'river',
|
||||||
gravel_bike: { engine: 'graphhopper', profile: 'gravelbike' },
|
railway: 'rail',
|
||||||
mountain_bike: { engine: 'graphhopper', profile: 'mtb' },
|
|
||||||
foot: { engine: 'graphhopper', profile: 'foot' },
|
|
||||||
motorcycle: { engine: 'graphhopper', profile: 'motorcycle' },
|
|
||||||
water: { engine: 'brouter', profile: 'river' },
|
|
||||||
railway: { engine: 'brouter', profile: 'rail' },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export function route(points: Coordinates[]): Promise<TrackPoint[]> {
|
export function route(points: Coordinates[]): Promise<TrackPoint[]> {
|
||||||
if (get(routing)) {
|
if (get(routing)) {
|
||||||
const profile = routingProfiles[get(routingProfile)];
|
return getRoute(points, brouterProfiles[get(routingProfile)], get(privateRoads));
|
||||||
if (profile.engine === 'graphhopper') {
|
|
||||||
return getGraphHopperRoute(points, profile.profile, get(privateRoads));
|
|
||||||
} else {
|
|
||||||
return getBRouterRoute(points, profile.profile);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return getIntermediatePoints(points);
|
return getIntermediatePoints(points);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const graphhopperDetails = ['road_class', 'surface', 'hike_rating', 'mtb_rating'];
|
async function getRoute(
|
||||||
const hikeRatingToSACScale: { [key: string]: string } = {
|
|
||||||
'1': 'hiking',
|
|
||||||
'2': 'mountain_hiking',
|
|
||||||
'3': 'demanding_mountain_hiking',
|
|
||||||
'4': 'alpine_hiking',
|
|
||||||
'5': 'demanding_alpine_hiking',
|
|
||||||
'6': 'difficult_alpine_hiking',
|
|
||||||
};
|
|
||||||
const mtbRatingToScale: { [key: string]: string } = {
|
|
||||||
'1': '0',
|
|
||||||
'2': '1',
|
|
||||||
'3': '2',
|
|
||||||
'4': '3',
|
|
||||||
'5': '4',
|
|
||||||
'6': '5',
|
|
||||||
'7': '6',
|
|
||||||
};
|
|
||||||
|
|
||||||
const graphhopperBlockPrivateCustomModels: { [key: string]: any } = {
|
|
||||||
bike: {
|
|
||||||
priority: [
|
|
||||||
{
|
|
||||||
if: 'bike_road_access == PRIVATE',
|
|
||||||
multiply_by: '0.0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
racingbike: {
|
|
||||||
priority: [
|
|
||||||
{
|
|
||||||
if: 'bike_road_access == PRIVATE',
|
|
||||||
multiply_by: '0.0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
gravelbike: {
|
|
||||||
priority: [
|
|
||||||
{
|
|
||||||
if: 'bike_road_access == PRIVATE',
|
|
||||||
multiply_by: '0.0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
mtb: {
|
|
||||||
priority: [
|
|
||||||
{
|
|
||||||
if: 'bike_road_access == PRIVATE',
|
|
||||||
multiply_by: '0.0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
foot: {
|
|
||||||
priority: [
|
|
||||||
{
|
|
||||||
if: 'foot_road_access == PRIVATE',
|
|
||||||
multiply_by: '0.0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
motorcycle: {
|
|
||||||
priority: [
|
|
||||||
{
|
|
||||||
if: 'road_access == PRIVATE',
|
|
||||||
multiply_by: '0.0',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
};
|
|
||||||
async function getGraphHopperRoute(
|
|
||||||
points: Coordinates[],
|
points: Coordinates[],
|
||||||
graphHopperProfile: string,
|
brouterProfile: string,
|
||||||
privateRoads: boolean
|
privateRoads: boolean
|
||||||
): Promise<TrackPoint[]> {
|
): Promise<TrackPoint[]> {
|
||||||
let response = await fetch('https://graphhopper-a.gpx.studio/route', {
|
let url = `https://brouter.gpx.studio?lonlats=${points.map((point) => `${point.lon.toFixed(8)},${point.lat.toFixed(8)}`).join('|')}&profile=${brouterProfile + (privateRoads ? '-private' : '')}&format=geojson&alternativeidx=0`;
|
||||||
method: 'POST',
|
|
||||||
headers: {
|
|
||||||
'Content-Type': 'application/json',
|
|
||||||
},
|
|
||||||
body: JSON.stringify({
|
|
||||||
points: points.map((point) => [point.lon, point.lat]),
|
|
||||||
profile: graphHopperProfile,
|
|
||||||
elevation: true,
|
|
||||||
points_encoded: false,
|
|
||||||
details: graphhopperDetails,
|
|
||||||
custom_model: privateRoads
|
|
||||||
? {}
|
|
||||||
: graphhopperBlockPrivateCustomModels[graphHopperProfile] || {},
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!response.ok) {
|
|
||||||
throw new Error(`${await response.text()}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
let json = await response.json();
|
|
||||||
|
|
||||||
let route: TrackPoint[] = [];
|
|
||||||
let coordinates = json.paths[0].points.coordinates;
|
|
||||||
let details = json.paths[0].details;
|
|
||||||
|
|
||||||
for (let i = 0; i < coordinates.length; i++) {
|
|
||||||
route.push(
|
|
||||||
new TrackPoint({
|
|
||||||
attributes: {
|
|
||||||
lat: coordinates[i][1],
|
|
||||||
lon: coordinates[i][0],
|
|
||||||
},
|
|
||||||
ele: coordinates[i][2] ?? (i > 0 ? route[i - 1].ele : 0),
|
|
||||||
extensions: {},
|
|
||||||
})
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (let key of graphhopperDetails) {
|
|
||||||
let detail = details[key];
|
|
||||||
for (let i = 0; i < detail.length; i++) {
|
|
||||||
for (let j = detail[i][0]; j < detail[i][1] + (i == detail.length - 1); j++) {
|
|
||||||
if (detail[i][2] !== undefined && detail[i][2] !== 'missing') {
|
|
||||||
if (key === 'road_class') {
|
|
||||||
route[j].setExtension('highway', detail[i][2]);
|
|
||||||
} else if (key === 'hike_rating') {
|
|
||||||
const sacScale = hikeRatingToSACScale[detail[i][2]];
|
|
||||||
if (sacScale) {
|
|
||||||
route[j].setExtension('sac_scale', sacScale);
|
|
||||||
}
|
|
||||||
} else if (key === 'mtb_rating') {
|
|
||||||
const mtbScale = mtbRatingToScale[detail[i][2]];
|
|
||||||
if (mtbScale) {
|
|
||||||
route[j].setExtension('mtb_scale', mtbScale);
|
|
||||||
}
|
|
||||||
} else if (key === 'surface' && detail[i][2] !== 'other') {
|
|
||||||
route[j].setExtension('surface', detail[i][2]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return route;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function getBRouterRoute(
|
|
||||||
points: Coordinates[],
|
|
||||||
brouterProfile: string
|
|
||||||
): Promise<TrackPoint[]> {
|
|
||||||
let url = `https://brouter.de/brouter?lonlats=${points.map((point) => `${point.lon.toFixed(8)},${point.lat.toFixed(8)}`).join('|')}&profile=${brouterProfile}&format=geojson&alternativeidx=0`;
|
|
||||||
|
|
||||||
let response = await fetch(url);
|
let response = await fetch(url);
|
||||||
|
|
||||||
|
// Check if the response is ok
|
||||||
if (!response.ok) {
|
if (!response.ok) {
|
||||||
throw new Error(`${await response.text()}`);
|
throw new Error(`${await response.text()}`);
|
||||||
}
|
}
|
||||||
@@ -202,13 +52,14 @@ async function getBRouterRoute(
|
|||||||
let tags = messageIdx < messages.length ? getTags(messages[messageIdx][tagIdx]) : {};
|
let tags = messageIdx < messages.length ? getTags(messages[messageIdx][tagIdx]) : {};
|
||||||
|
|
||||||
for (let i = 0; i < coordinates.length; i++) {
|
for (let i = 0; i < coordinates.length; i++) {
|
||||||
|
let coord = coordinates[i];
|
||||||
route.push(
|
route.push(
|
||||||
new TrackPoint({
|
new TrackPoint({
|
||||||
attributes: {
|
attributes: {
|
||||||
lat: coordinates[i][1],
|
lat: coord[1],
|
||||||
lon: coordinates[i][0],
|
lon: coord[0],
|
||||||
},
|
},
|
||||||
ele: coordinates[i][2] ?? (i > 0 ? route[i - 1].ele : 0),
|
ele: coord[2] ?? (i > 0 ? route[i - 1].ele : 0),
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ import {
|
|||||||
defaultOverlayTree,
|
defaultOverlayTree,
|
||||||
defaultOverpassQueries,
|
defaultOverpassQueries,
|
||||||
defaultOverpassTree,
|
defaultOverpassTree,
|
||||||
defaultTerrainSource,
|
|
||||||
type CustomLayer,
|
type CustomLayer,
|
||||||
} from '$lib/assets/layers';
|
} from '$lib/assets/layers';
|
||||||
import { browser } from '$app/environment';
|
import { browser } from '$app/environment';
|
||||||
@@ -155,7 +154,6 @@ export const settings = {
|
|||||||
customLayers: new Setting<Record<string, CustomLayer>>('customLayers', {}),
|
customLayers: new Setting<Record<string, CustomLayer>>('customLayers', {}),
|
||||||
customBasemapOrder: new Setting<string[]>('customBasemapOrder', []),
|
customBasemapOrder: new Setting<string[]>('customBasemapOrder', []),
|
||||||
customOverlayOrder: new Setting<string[]>('customOverlayOrder', []),
|
customOverlayOrder: new Setting<string[]>('customOverlayOrder', []),
|
||||||
terrainSource: new Setting('terrainSource', defaultTerrainSource),
|
|
||||||
directionMarkers: new Setting('directionMarkers', false),
|
directionMarkers: new Setting('directionMarkers', false),
|
||||||
distanceMarkers: new Setting('distanceMarkers', false),
|
distanceMarkers: new Setting('distanceMarkers', false),
|
||||||
streetViewSource: new Setting('streetViewSource', 'mapillary'),
|
streetViewSource: new Setting('streetViewSource', 'mapillary'),
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Actualitza la capa"
|
"update": "Actualitza la capa"
|
||||||
},
|
},
|
||||||
"opacity": "Opacitat de la superposició",
|
"opacity": "Opacitat de la superposició",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Mapes base",
|
"basemaps": "Mapes base",
|
||||||
"overlays": "Capes",
|
"overlays": "Capes",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Estació de tren",
|
"railway-station": "Estació de tren",
|
||||||
"tram-stop": "Parada de tramvia",
|
"tram-stop": "Parada de tramvia",
|
||||||
"bus-stop": "Parada d'autobús",
|
"bus-stop": "Parada d'autobús",
|
||||||
"ferry": "Ferri",
|
"ferry": "Ferri"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Aktualizovat vrstvu"
|
"update": "Aktualizovat vrstvu"
|
||||||
},
|
},
|
||||||
"opacity": "Průhlednost překryvu",
|
"opacity": "Průhlednost překryvu",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Základní mapy",
|
"basemaps": "Základní mapy",
|
||||||
"overlays": "Překrytí",
|
"overlays": "Překrytí",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Vrstevnice",
|
"swisstopoSlope": "swisstopo Vrstevnice",
|
||||||
"swisstopoHiking": "swisstopo Turistická",
|
"swisstopoHiking": "swisstopo Turistická",
|
||||||
"swisstopoHikingClosures": "swisstopo Turistické uzávěry",
|
"swisstopoHikingClosures": "swisstopo Turistické uzávěry",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Železniční stanice",
|
"railway-station": "Železniční stanice",
|
||||||
"tram-stop": "Zastávka tramvaje",
|
"tram-stop": "Zastávka tramvaje",
|
||||||
"bus-stop": "Autobusová zastávka",
|
"bus-stop": "Autobusová zastávka",
|
||||||
"ferry": "Trajekt",
|
"ferry": "Trajekt"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Layer aktualisieren"
|
"update": "Layer aktualisieren"
|
||||||
},
|
},
|
||||||
"opacity": "Deckkraft der Überlagerung",
|
"opacity": "Deckkraft der Überlagerung",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basiskarte",
|
"basemaps": "Basiskarte",
|
||||||
"overlays": "Ebenen",
|
"overlays": "Ebenen",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Neigung",
|
"swisstopoSlope": "swisstopo Neigung",
|
||||||
"swisstopoHiking": "swisstopo Wandern",
|
"swisstopoHiking": "swisstopo Wandern",
|
||||||
"swisstopoHikingClosures": "swisstopo Wanderungen Schließungen",
|
"swisstopoHikingClosures": "swisstopo Wanderungen Schließungen",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Bahnhof",
|
"railway-station": "Bahnhof",
|
||||||
"tram-stop": "Straßenbahnhaltestelle",
|
"tram-stop": "Straßenbahnhaltestelle",
|
||||||
"bus-stop": "Bushaltestelle",
|
"bus-stop": "Bushaltestelle",
|
||||||
"ferry": "Fähre",
|
"ferry": "Fähre"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Actualizar capa"
|
"update": "Actualizar capa"
|
||||||
},
|
},
|
||||||
"opacity": "Opacidad de la capa superpuesta",
|
"opacity": "Opacidad de la capa superpuesta",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Mapas base",
|
"basemaps": "Mapas base",
|
||||||
"overlays": "Capas",
|
"overlays": "Capas",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "Gravel bikerouter.de",
|
"bikerouterGravel": "Gravel bikerouter.de",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Senderismo",
|
"swisstopoHiking": "swisstopo Senderismo",
|
||||||
"swisstopoHikingClosures": "swisstopo Rutas Senderismo",
|
"swisstopoHikingClosures": "swisstopo Rutas Senderismo",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Estación de tren",
|
"railway-station": "Estación de tren",
|
||||||
"tram-stop": "Parada de tranvía",
|
"tram-stop": "Parada de tranvía",
|
||||||
"bus-stop": "Parada de autobús",
|
"bus-stop": "Parada de autobús",
|
||||||
"ferry": "Ferri",
|
"ferry": "Ferri"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Eguneratu geruza"
|
"update": "Eguneratu geruza"
|
||||||
},
|
},
|
||||||
"opacity": "Geruzaren opakutasuna",
|
"opacity": "Geruzaren opakutasuna",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Oinarrizko mapak",
|
"basemaps": "Oinarrizko mapak",
|
||||||
"overlays": "Geruzak",
|
"overlays": "Geruzak",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Malda",
|
"swisstopoSlope": "swisstopo Malda",
|
||||||
"swisstopoHiking": "swisstopo Mendi ibilaldiak",
|
"swisstopoHiking": "swisstopo Mendi ibilaldiak",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Tren geltokia",
|
"railway-station": "Tren geltokia",
|
||||||
"tram-stop": "Tranbia geltokia",
|
"tram-stop": "Tranbia geltokia",
|
||||||
"bus-stop": "Autobus geltokia",
|
"bus-stop": "Autobus geltokia",
|
||||||
"ferry": "Ferria",
|
"ferry": "Ferria"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Päivitä karttataso"
|
"update": "Päivitä karttataso"
|
||||||
},
|
},
|
||||||
"opacity": "Peitetason läpinäkyvyys",
|
"opacity": "Peitetason läpinäkyvyys",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Taustakartat",
|
"basemaps": "Taustakartat",
|
||||||
"overlays": "Peitetasot",
|
"overlays": "Peitetasot",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Rinnekaltevuus",
|
"swisstopoSlope": "swisstopo Rinnekaltevuus",
|
||||||
"swisstopoHiking": "swisstopo Retkeilyreitit",
|
"swisstopoHiking": "swisstopo Retkeilyreitit",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Rautatieasemat",
|
"railway-station": "Rautatieasemat",
|
||||||
"tram-stop": "Raitiovaunupysäkit",
|
"tram-stop": "Raitiovaunupysäkit",
|
||||||
"bus-stop": "Linja-autopysäkit",
|
"bus-stop": "Linja-autopysäkit",
|
||||||
"ferry": "Lautat",
|
"ferry": "Lautat"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Mettre à jour la couche"
|
"update": "Mettre à jour la couche"
|
||||||
},
|
},
|
||||||
"opacity": "Opacité de la surcouche",
|
"opacity": "Opacité de la surcouche",
|
||||||
"terrain": "Source du relief",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Fonds de carte",
|
"basemaps": "Fonds de carte",
|
||||||
"overlays": "Surcouches",
|
"overlays": "Surcouches",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Relief",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Pente",
|
"swisstopoSlope": "swisstopo Pente",
|
||||||
"swisstopoHiking": "swisstopo Randonnée",
|
"swisstopoHiking": "swisstopo Randonnée",
|
||||||
"swisstopoHikingClosures": "swisstopo Fermetures de randonnée",
|
"swisstopoHikingClosures": "swisstopo Fermetures de randonnée",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Gare",
|
"railway-station": "Gare",
|
||||||
"tram-stop": "Arrêt de tram",
|
"tram-stop": "Arrêt de tram",
|
||||||
"bus-stop": "Arrêt de bus",
|
"bus-stop": "Arrêt de bus",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Réteg feltöltése"
|
"update": "Réteg feltöltése"
|
||||||
},
|
},
|
||||||
"opacity": "Átfedés átlátszósága",
|
"opacity": "Átfedés átlátszósága",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Alaptérkép",
|
"basemaps": "Alaptérkép",
|
||||||
"overlays": "Térkép rétegek",
|
"overlays": "Térkép rétegek",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "kerékpár és terepkerékpár út",
|
"bikerouterGravel": "kerékpár és terepkerékpár út",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Lejtő",
|
"swisstopoSlope": "swisstopo Lejtő",
|
||||||
"swisstopoHiking": "swisstopo Túra",
|
"swisstopoHiking": "swisstopo Túra",
|
||||||
"swisstopoHikingClosures": "swisstopo túralezárások",
|
"swisstopoHikingClosures": "swisstopo túralezárások",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Vasútállomás",
|
"railway-station": "Vasútállomás",
|
||||||
"tram-stop": "Villamos megálló",
|
"tram-stop": "Villamos megálló",
|
||||||
"bus-stop": "Buszmegálló",
|
"bus-stop": "Buszmegálló",
|
||||||
"ferry": "Komp",
|
"ferry": "Komp"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Perbarui lapisan"
|
"update": "Perbarui lapisan"
|
||||||
},
|
},
|
||||||
"opacity": "Opasitas Overlay",
|
"opacity": "Opasitas Overlay",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Peta dasar",
|
"basemaps": "Peta dasar",
|
||||||
"overlays": "Overlay",
|
"overlays": "Overlay",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Kemiringan",
|
"swisstopoSlope": "swisstopo Kemiringan",
|
||||||
"swisstopoHiking": "swisstopo Pendakian",
|
"swisstopoHiking": "swisstopo Pendakian",
|
||||||
"swisstopoHikingClosures": "Penutupan Jalur Pendakian swisstopo",
|
"swisstopoHikingClosures": "Penutupan Jalur Pendakian swisstopo",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Stasiun kereta api",
|
"railway-station": "Stasiun kereta api",
|
||||||
"tram-stop": "Halt trem",
|
"tram-stop": "Halt trem",
|
||||||
"bus-stop": "Pemberhentian Bus",
|
"bus-stop": "Pemberhentian Bus",
|
||||||
"ferry": "Feri",
|
"ferry": "Feri"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Aggiorna livello"
|
"update": "Aggiorna livello"
|
||||||
},
|
},
|
||||||
"opacity": "Opacità di sovrapposizione",
|
"opacity": "Opacità di sovrapposizione",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Mappe di base",
|
"basemaps": "Mappe di base",
|
||||||
"overlays": "Sovrapposizioni",
|
"overlays": "Sovrapposizioni",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Pendenza",
|
"swisstopoSlope": "swisstopo Pendenza",
|
||||||
"swisstopoHiking": "swisstopo Escursione",
|
"swisstopoHiking": "swisstopo Escursione",
|
||||||
"swisstopoHikingClosures": "swisstopo Fine escursione",
|
"swisstopoHikingClosures": "swisstopo Fine escursione",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Stazione ferroviaria",
|
"railway-station": "Stazione ferroviaria",
|
||||||
"tram-stop": "Fermata del tram",
|
"tram-stop": "Fermata del tram",
|
||||||
"bus-stop": "Fermata dell'autobus",
|
"bus-stop": "Fermata dell'autobus",
|
||||||
"ferry": "Traghetto",
|
"ferry": "Traghetto"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "레이어 갱신"
|
"update": "레이어 갱신"
|
||||||
},
|
},
|
||||||
"opacity": "오버레이 투명도",
|
"opacity": "오버레이 투명도",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "배경 지도",
|
"basemaps": "배경 지도",
|
||||||
"overlays": "오버레이",
|
"overlays": "오버레이",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "철도역",
|
"railway-station": "철도역",
|
||||||
"tram-stop": "트램 정류장",
|
"tram-stop": "트램 정류장",
|
||||||
"bus-stop": "버스 정류장",
|
"bus-stop": "버스 정류장",
|
||||||
"ferry": "페리",
|
"ferry": "페리"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Naujinti sluoksnį"
|
"update": "Naujinti sluoksnį"
|
||||||
},
|
},
|
||||||
"opacity": "Sluoksnio skaidrumas",
|
"opacity": "Sluoksnio skaidrumas",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Pagrindo žemėlapiai",
|
"basemaps": "Pagrindo žemėlapiai",
|
||||||
"overlays": "Sluoksniai",
|
"overlays": "Sluoksniai",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Geležinkelio stotis",
|
"railway-station": "Geležinkelio stotis",
|
||||||
"tram-stop": "Tramvajaus stotelė",
|
"tram-stop": "Tramvajaus stotelė",
|
||||||
"bus-stop": "Autobusų stotelė",
|
"bus-stop": "Autobusų stotelė",
|
||||||
"ferry": "Keltas",
|
"ferry": "Keltas"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update laag"
|
"update": "Update laag"
|
||||||
},
|
},
|
||||||
"opacity": "Laag Transparantie",
|
"opacity": "Laag Transparantie",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basis kaarten",
|
"basemaps": "Basis kaarten",
|
||||||
"overlays": "Lagen",
|
"overlays": "Lagen",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Grind",
|
"bikerouterGravel": "bikerouter.de Grind",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Helling",
|
"swisstopoSlope": "swisstopo Helling",
|
||||||
"swisstopoHiking": "swisstopo Wandelen",
|
"swisstopoHiking": "swisstopo Wandelen",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Sluiting",
|
"swisstopoHikingClosures": "swisstopo Hiking Sluiting",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Treinstation",
|
"railway-station": "Treinstation",
|
||||||
"tram-stop": "Tramhalte",
|
"tram-stop": "Tramhalte",
|
||||||
"bus-stop": "Bushalte",
|
"bus-stop": "Bushalte",
|
||||||
"ferry": "Veerboot",
|
"ferry": "Veerboot"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Oppdater lag"
|
"update": "Oppdater lag"
|
||||||
},
|
},
|
||||||
"opacity": "Gjennomsiktighet for overlegg",
|
"opacity": "Gjennomsiktighet for overlegg",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basiskart",
|
"basemaps": "Basiskart",
|
||||||
"overlays": "Overlag",
|
"overlays": "Overlag",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "sykkelrute Grus",
|
"bikerouterGravel": "sykkelrute Grus",
|
||||||
"cyclOSMlite": "SyklOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "SyklOSM Lite",
|
||||||
"swisstopoSlope": "swisstopografisk helningskart",
|
"swisstopoSlope": "swisstopografisk helningskart",
|
||||||
"swisstopoHiking": "swisstopografisk Fottur",
|
"swisstopoHiking": "swisstopografisk Fottur",
|
||||||
"swisstopoHikingClosures": "swisstopografi Stengte turstier",
|
"swisstopoHikingClosures": "swisstopografi Stengte turstier",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Jernbanestasjon",
|
"railway-station": "Jernbanestasjon",
|
||||||
"tram-stop": "Trikkestopp",
|
"tram-stop": "Trikkestopp",
|
||||||
"bus-stop": "Bussholdeplass",
|
"bus-stop": "Bussholdeplass",
|
||||||
"ferry": "Ferge",
|
"ferry": "Ferge"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Zaktualizuj warstwę"
|
"update": "Zaktualizuj warstwę"
|
||||||
},
|
},
|
||||||
"opacity": "Przezroczystość nakładki",
|
"opacity": "Przezroczystość nakładki",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Mapy bazowe",
|
"basemaps": "Mapy bazowe",
|
||||||
"overlays": "Nakładki",
|
"overlays": "Nakładki",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Stoki",
|
"swisstopoSlope": "swisstopo Stoki",
|
||||||
"swisstopoHiking": "swisstopo Szlaki Turystyczne",
|
"swisstopoHiking": "swisstopo Szlaki Turystyczne",
|
||||||
"swisstopoHikingClosures": "swisstopo Zamknięcia Szlaków",
|
"swisstopoHikingClosures": "swisstopo Zamknięcia Szlaków",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Stacja kolejowa",
|
"railway-station": "Stacja kolejowa",
|
||||||
"tram-stop": "Przystanek tramwajowy",
|
"tram-stop": "Przystanek tramwajowy",
|
||||||
"bus-stop": "Przystanek autobusowy",
|
"bus-stop": "Przystanek autobusowy",
|
||||||
"ferry": "Prom",
|
"ferry": "Prom"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Atualizar camada"
|
"update": "Atualizar camada"
|
||||||
},
|
},
|
||||||
"opacity": "Opacidade de sobreposição",
|
"opacity": "Opacidade de sobreposição",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Mapa base",
|
"basemaps": "Mapa base",
|
||||||
"overlays": "Sobreposições",
|
"overlays": "Sobreposições",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Estações ferroviárias",
|
"railway-station": "Estações ferroviárias",
|
||||||
"tram-stop": "Parada de bonde",
|
"tram-stop": "Parada de bonde",
|
||||||
"bus-stop": "Parada de Ônibus",
|
"bus-stop": "Parada de Ônibus",
|
||||||
"ferry": "Balsa",
|
"ferry": "Balsa"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Atualizar camada"
|
"update": "Atualizar camada"
|
||||||
},
|
},
|
||||||
"opacity": "Opacidade da sobreposição",
|
"opacity": "Opacidade da sobreposição",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Mapas base",
|
"basemaps": "Mapas base",
|
||||||
"overlays": "Sobreposições",
|
"overlays": "Sobreposições",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Estações ferroviárias",
|
"railway-station": "Estações ferroviárias",
|
||||||
"tram-stop": "Parada de bonde",
|
"tram-stop": "Parada de bonde",
|
||||||
"bus-stop": "Parada de Ônibus",
|
"bus-stop": "Parada de Ônibus",
|
||||||
"ferry": "Balsa",
|
"ferry": "Balsa"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Actualizează stratul"
|
"update": "Actualizează stratul"
|
||||||
},
|
},
|
||||||
"opacity": "Opacitatea overlay-ului",
|
"opacity": "Opacitatea overlay-ului",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Hărți de bază",
|
"basemaps": "Hărți de bază",
|
||||||
"overlays": "Suprapuneri",
|
"overlays": "Suprapuneri",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Gară",
|
"railway-station": "Gară",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Stație de autobuz",
|
"bus-stop": "Stație de autobuz",
|
||||||
"ferry": "Feribot",
|
"ferry": "Feribot"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Обновить слой"
|
"update": "Обновить слой"
|
||||||
},
|
},
|
||||||
"opacity": "Прозрачность наложения",
|
"opacity": "Прозрачность наложения",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Основные карты",
|
"basemaps": "Основные карты",
|
||||||
"overlays": "Наложения",
|
"overlays": "Наложения",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Железнодорожная станция",
|
"railway-station": "Железнодорожная станция",
|
||||||
"tram-stop": "Трамвайная остановка",
|
"tram-stop": "Трамвайная остановка",
|
||||||
"bus-stop": "Автобусная остановка",
|
"bus-stop": "Автобусная остановка",
|
||||||
"ferry": "Паром",
|
"ferry": "Паром"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Ažurirajte sloj"
|
"update": "Ažurirajte sloj"
|
||||||
},
|
},
|
||||||
"opacity": "Providnost preklapanja",
|
"opacity": "Providnost preklapanja",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Osnovne mape",
|
"basemaps": "Osnovne mape",
|
||||||
"overlays": "Preklapanja",
|
"overlays": "Preklapanja",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Železnička stanica",
|
"railway-station": "Železnička stanica",
|
||||||
"tram-stop": "Tramvajsko stajalište",
|
"tram-stop": "Tramvajsko stajalište",
|
||||||
"bus-stop": "Autobusko stajalište",
|
"bus-stop": "Autobusko stajalište",
|
||||||
"ferry": "Trajekt",
|
"ferry": "Trajekt"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Baskartor",
|
"basemaps": "Baskartor",
|
||||||
"overlays": "Lager",
|
"overlays": "Lager",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Järnvägsstation",
|
"railway-station": "Järnvägsstation",
|
||||||
"tram-stop": "Spårvagnshållplats",
|
"tram-stop": "Spårvagnshållplats",
|
||||||
"bus-stop": "Busshållplats",
|
"bus-stop": "Busshållplats",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Katman güncelle"
|
"update": "Katman güncelle"
|
||||||
},
|
},
|
||||||
"opacity": "Katman şeffaflığı",
|
"opacity": "Katman şeffaflığı",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Temel haritalar",
|
"basemaps": "Temel haritalar",
|
||||||
"overlays": "Katmanlar",
|
"overlays": "Katmanlar",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Eğim",
|
"swisstopoSlope": "swisstopo Eğim",
|
||||||
"swisstopoHiking": "swisstopo Yürüyüş",
|
"swisstopoHiking": "swisstopo Yürüyüş",
|
||||||
"swisstopoHikingClosures": "swisstopo Yürüyüş Sonu",
|
"swisstopoHikingClosures": "swisstopo Yürüyüş Sonu",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Tren istasyonu",
|
"railway-station": "Tren istasyonu",
|
||||||
"tram-stop": "Tramvay Durağı",
|
"tram-stop": "Tramvay Durağı",
|
||||||
"bus-stop": "Otobüs Durağı",
|
"bus-stop": "Otobüs Durağı",
|
||||||
"ferry": "Feribot",
|
"ferry": "Feribot"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Оновити шар"
|
"update": "Оновити шар"
|
||||||
},
|
},
|
||||||
"opacity": "Непрозорість накладання",
|
"opacity": "Непрозорість накладання",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Базові карти",
|
"basemaps": "Базові карти",
|
||||||
"overlays": "Накладання",
|
"overlays": "Накладання",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Залізнична Станція",
|
"railway-station": "Залізнична Станція",
|
||||||
"tram-stop": "Трамвайна Зупинка",
|
"tram-stop": "Трамвайна Зупинка",
|
||||||
"bus-stop": "Автобусна Зупинка",
|
"bus-stop": "Автобусна Зупинка",
|
||||||
"ferry": "Пором",
|
"ferry": "Пором"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "Update layer"
|
"update": "Update layer"
|
||||||
},
|
},
|
||||||
"opacity": "Overlay opacity",
|
"opacity": "Overlay opacity",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "Basemaps",
|
"basemaps": "Basemaps",
|
||||||
"overlays": "Overlays",
|
"overlays": "Overlays",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "swisstopo Slope",
|
"swisstopoSlope": "swisstopo Slope",
|
||||||
"swisstopoHiking": "swisstopo Hiking",
|
"swisstopoHiking": "swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "Railway Station",
|
"railway-station": "Railway Station",
|
||||||
"tram-stop": "Tram Stop",
|
"tram-stop": "Tram Stop",
|
||||||
"bus-stop": "Bus Stop",
|
"bus-stop": "Bus Stop",
|
||||||
"ferry": "Ferry",
|
"ferry": "Ferry"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
@@ -282,7 +282,6 @@
|
|||||||
"update": "更新图层"
|
"update": "更新图层"
|
||||||
},
|
},
|
||||||
"opacity": "图层透明度",
|
"opacity": "图层透明度",
|
||||||
"terrain": "Terrain source",
|
|
||||||
"label": {
|
"label": {
|
||||||
"basemaps": "底图",
|
"basemaps": "底图",
|
||||||
"overlays": "叠加层",
|
"overlays": "叠加层",
|
||||||
@@ -325,9 +324,8 @@
|
|||||||
"bgMountains": "BGMountains",
|
"bgMountains": "BGMountains",
|
||||||
"usgs": "USGS",
|
"usgs": "USGS",
|
||||||
"bikerouterGravel": "bikerouter.de Gravel",
|
"bikerouterGravel": "bikerouter.de Gravel",
|
||||||
"cyclOSMlite": "CyclOSM Lite",
|
|
||||||
"mapterhornHillshade": "Mapterhorn Hillshade",
|
|
||||||
"openRailwayMap": "OpenRailwayMap",
|
"openRailwayMap": "OpenRailwayMap",
|
||||||
|
"cyclOSMlite": "CyclOSM Lite",
|
||||||
"swisstopoSlope": "Swisstopo Slope",
|
"swisstopoSlope": "Swisstopo Slope",
|
||||||
"swisstopoHiking": "Swisstopo Hiking",
|
"swisstopoHiking": "Swisstopo Hiking",
|
||||||
"swisstopoHikingClosures": "Swisstopo Hiking Closures",
|
"swisstopoHikingClosures": "Swisstopo Hiking Closures",
|
||||||
@@ -380,9 +378,7 @@
|
|||||||
"railway-station": "火车站",
|
"railway-station": "火车站",
|
||||||
"tram-stop": "有轨电车站",
|
"tram-stop": "有轨电车站",
|
||||||
"bus-stop": "小型公交站台",
|
"bus-stop": "小型公交站台",
|
||||||
"ferry": "渡口",
|
"ferry": "渡口"
|
||||||
"mapbox-dem": "Mapbox DEM",
|
|
||||||
"mapterhorn": "Mapterhorn"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"chart": {
|
"chart": {
|
||||||
|
|||||||
Reference in New Issue
Block a user