Compare commits
8 Commits
l10n
..
98257bee12
| Author | SHA1 | Date | |
|---|---|---|---|
| 98257bee12 | |||
| 5561b7d9fe | |||
| 320887206c | |||
| 04a1bf6a55 | |||
| 0989371874 | |||
| 3dcd6e52d3 | |||
| 0f06d0d461 | |||
| db33310a10 |
@@ -1,20 +1,17 @@
|
||||
{
|
||||
"$schema": "https://shadcn-svelte.com/schema.json",
|
||||
"tailwind": {
|
||||
"css": "src/app.css",
|
||||
"baseColor": "neutral"
|
||||
},
|
||||
"aliases": {
|
||||
"components": "$lib/components",
|
||||
"utils": "$lib/utils",
|
||||
"ui": "$lib/components/ui",
|
||||
"hooks": "$lib/hooks",
|
||||
"lib": "$lib"
|
||||
},
|
||||
"typescript": true,
|
||||
"registry": "https://shadcn-svelte.com/registry",
|
||||
"style": "nova",
|
||||
"iconLibrary": "lucide",
|
||||
"menuColor": "default",
|
||||
"menuAccent": "subtle"
|
||||
"$schema": "https://shadcn-svelte.com/schema.json",
|
||||
"style": "default",
|
||||
"tailwind": {
|
||||
"css": "src/app.css",
|
||||
"baseColor": "slate"
|
||||
},
|
||||
"aliases": {
|
||||
"components": "$lib/components",
|
||||
"utils": "$lib/utils",
|
||||
"ui": "$lib/components/ui",
|
||||
"hooks": "$lib/hooks",
|
||||
"lib": "$lib"
|
||||
},
|
||||
"typescript": true,
|
||||
"registry": "https://shadcn-svelte.com/registry"
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"@maplibre/maplibre-gl-geocoder": "^1.9.4",
|
||||
"chart.js": "^4.5.1",
|
||||
"chartjs-plugin-zoom": "^2.2.0",
|
||||
"clsx": "^2.1.1",
|
||||
"dexie": "^4.0.11",
|
||||
"file-saver": "^2.0.5",
|
||||
"gpx": "file:../gpx",
|
||||
@@ -22,12 +23,12 @@
|
||||
"mapillary-js": "^4.1.2",
|
||||
"maplibre-gl": "^5.21.1",
|
||||
"sanitize-html": "^2.17.0",
|
||||
"sortablejs": "^1.15.6"
|
||||
"sortablejs": "^1.15.6",
|
||||
"tailwind-merge": "^3.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fontsource-variable/inter": "^5.2.8",
|
||||
"@internationalized/date": "^3.12.0",
|
||||
"@lucide/svelte": "^1.7.0",
|
||||
"@lucide/svelte": "^0.544.0",
|
||||
"@sveltejs/adapter-static": "^3.0.8",
|
||||
"@sveltejs/enhanced-img": "^0.6.0",
|
||||
"@sveltejs/kit": "^2.21.2",
|
||||
@@ -44,7 +45,6 @@
|
||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"bits-ui": "^2.17.2",
|
||||
"clsx": "^2.1.1",
|
||||
"eslint": "^9.28.0",
|
||||
"eslint-config-prettier": "^10.1.5",
|
||||
"eslint-plugin-svelte": "^3.9.1",
|
||||
@@ -57,17 +57,15 @@
|
||||
"postcss": "^8.4.47",
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-svelte": "^3.4.0",
|
||||
"shadcn-svelte": "^1.2.7",
|
||||
"svelte": "^5.33.18",
|
||||
"svelte-check": "^4.0.0",
|
||||
"svelte-dnd-action": "^0.9.65",
|
||||
"svelte-sonner": "^1.1.0",
|
||||
"tailwind-merge": "^3.5.0",
|
||||
"tailwind-variants": "^3.2.2",
|
||||
"svelte-sonner": "^1.0.5",
|
||||
"tailwind-variants": "^3.1.1",
|
||||
"tailwindcss": "^4.1.8",
|
||||
"tslib": "^2.8.1",
|
||||
"tsx": "^4.19.1",
|
||||
"tw-animate-css": "^1.4.0",
|
||||
"tw-animate-css": "^1.3.4",
|
||||
"typescript": "^5.8.3",
|
||||
"vaul-svelte": "^1.0.0-next.7",
|
||||
"vite": "^6.3.5"
|
||||
@@ -2569,16 +2567,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@fontsource-variable/inter": {
|
||||
"version": "5.2.8",
|
||||
"resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.2.8.tgz",
|
||||
"integrity": "sha512-kOfP2D+ykbcX/P3IFnokOhVRNoTozo5/JxhAIVYLpea/UBmCQ/YWPBfWIDuBImXX/15KH+eKh4xpEUyS2sQQGQ==",
|
||||
"dev": true,
|
||||
"license": "OFL-1.1",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ayuhito"
|
||||
}
|
||||
},
|
||||
"node_modules/@humanfs/core": {
|
||||
"version": "0.19.1",
|
||||
"dev": true,
|
||||
@@ -3226,9 +3214,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@lucide/svelte": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-1.7.0.tgz",
|
||||
"integrity": "sha512-YytBKOUBGox7yWcykZnYxOkn5WpR5G1qYXLYXV/j1B79SOTTEKzB+s5yF5Rq9l9OkweDStNH2b4yTqfvhEhV8g==",
|
||||
"version": "0.544.0",
|
||||
"resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.544.0.tgz",
|
||||
"integrity": "sha512-9f9O6uxng2pLB01sxNySHduJN3HTl5p0HDu4H26VR51vhZfiMzyOMe9Mhof3XAk4l813eTtl+/DYRvGyoRR+yw==",
|
||||
"dev": true,
|
||||
"license": "ISC",
|
||||
"peerDependencies": {
|
||||
@@ -4738,9 +4726,6 @@
|
||||
},
|
||||
"node_modules/clsx": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz",
|
||||
"integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
@@ -4766,16 +4751,6 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/commander": {
|
||||
"version": "14.0.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz",
|
||||
"integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
}
|
||||
},
|
||||
"node_modules/concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
@@ -6373,13 +6348,6 @@
|
||||
"version": "0.2.2",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/node-fetch-native": {
|
||||
"version": "1.6.7",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz",
|
||||
"integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/optionator": {
|
||||
"version": "0.9.4",
|
||||
"dev": true,
|
||||
@@ -6990,25 +6958,6 @@
|
||||
"version": "1.0.5",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/shadcn-svelte": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/shadcn-svelte/-/shadcn-svelte-1.2.7.tgz",
|
||||
"integrity": "sha512-mWuQk4H4gtV+J2wJQ7nEPKNnB/v86AALFryZU0SSM7ChHmJJMZ1kH+qIuxYKrXm9vOOOcSWHRsWzPDB71DnjYA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"commander": "^14.0.0",
|
||||
"node-fetch-native": "^1.6.4",
|
||||
"postcss": "^8.5.5",
|
||||
"tailwind-merge": "^3.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"shadcn-svelte": "dist/index.mjs"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"svelte": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/sharp": {
|
||||
"version": "0.34.5",
|
||||
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
|
||||
@@ -7286,8 +7235,6 @@
|
||||
},
|
||||
"node_modules/svelte-sonner": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-1.1.0.tgz",
|
||||
"integrity": "sha512-3lYM6ZIqWe+p9vwwWHGWP/ZdvHiUtzURsud2quIxivrX4rvpXh6i+geBGn0m3JS6KwW6W8VgbOl3xQMcDuh6gg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -7338,9 +7285,6 @@
|
||||
},
|
||||
"node_modules/tailwind-merge": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz",
|
||||
"integrity": "sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
"type": "github",
|
||||
@@ -7349,8 +7293,6 @@
|
||||
},
|
||||
"node_modules/tailwind-variants": {
|
||||
"version": "3.2.2",
|
||||
"resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-3.2.2.tgz",
|
||||
"integrity": "sha512-Mi4kHeMTLvKlM98XPnK+7HoBPmf4gygdFmqQPaDivc3DpYS6aIY6KiG/PgThrGvii5YZJqRsPz0aPyhoFzmZgg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -7450,8 +7392,6 @@
|
||||
},
|
||||
"node_modules/tw-animate-css": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.4.0.tgz",
|
||||
"integrity": "sha512-7bziOlRqH0hJx80h/3mbicLW7o8qLsH5+RaLR2t+OHM3D0JlWGODQKQ4cxbK7WlvmUxpcj6Kgu6EKqjrGFe3QQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"funding": {
|
||||
|
||||
@@ -14,9 +14,8 @@
|
||||
"format": "prettier --write . --config ../.prettierrc --ignore-path ../.prettierignore --ignore-path ./.gitignore"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fontsource-variable/inter": "^5.2.8",
|
||||
"@internationalized/date": "^3.12.0",
|
||||
"@lucide/svelte": "^1.7.0",
|
||||
"@lucide/svelte": "^0.544.0",
|
||||
"@sveltejs/adapter-static": "^3.0.8",
|
||||
"@sveltejs/enhanced-img": "^0.6.0",
|
||||
"@sveltejs/kit": "^2.21.2",
|
||||
@@ -33,7 +32,6 @@
|
||||
"@typescript-eslint/eslint-plugin": "^8.33.1",
|
||||
"@typescript-eslint/parser": "^8.33.1",
|
||||
"bits-ui": "^2.17.2",
|
||||
"clsx": "^2.1.1",
|
||||
"eslint": "^9.28.0",
|
||||
"eslint-config-prettier": "^10.1.5",
|
||||
"eslint-plugin-svelte": "^3.9.1",
|
||||
@@ -46,17 +44,15 @@
|
||||
"postcss": "^8.4.47",
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-svelte": "^3.4.0",
|
||||
"shadcn-svelte": "^1.2.7",
|
||||
"svelte": "^5.33.18",
|
||||
"svelte-check": "^4.0.0",
|
||||
"svelte-dnd-action": "^0.9.65",
|
||||
"svelte-sonner": "^1.1.0",
|
||||
"tailwind-merge": "^3.5.0",
|
||||
"tailwind-variants": "^3.2.2",
|
||||
"svelte-sonner": "^1.0.5",
|
||||
"tailwind-variants": "^3.1.1",
|
||||
"tailwindcss": "^4.1.8",
|
||||
"tslib": "^2.8.1",
|
||||
"tsx": "^4.19.1",
|
||||
"tw-animate-css": "^1.4.0",
|
||||
"tw-animate-css": "^1.3.4",
|
||||
"typescript": "^5.8.3",
|
||||
"vaul-svelte": "^1.0.0-next.7",
|
||||
"vite": "^6.3.5"
|
||||
@@ -69,6 +65,7 @@
|
||||
"@maplibre/maplibre-gl-geocoder": "^1.9.4",
|
||||
"chart.js": "^4.5.1",
|
||||
"chartjs-plugin-zoom": "^2.2.0",
|
||||
"clsx": "^2.1.1",
|
||||
"dexie": "^4.0.11",
|
||||
"file-saver": "^2.0.5",
|
||||
"gpx": "file:../gpx",
|
||||
@@ -77,6 +74,7 @@
|
||||
"mapillary-js": "^4.1.2",
|
||||
"maplibre-gl": "^5.21.1",
|
||||
"sanitize-html": "^2.17.0",
|
||||
"sortablejs": "^1.15.6"
|
||||
"sortablejs": "^1.15.6",
|
||||
"tailwind-merge": "^3.3.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,93 +1,76 @@
|
||||
@import 'tailwindcss';
|
||||
@import 'tw-animate-css';
|
||||
@import "shadcn-svelte/tailwind.css";
|
||||
@import "@fontsource-variable/inter";
|
||||
|
||||
@custom-variant dark (&:is(.dark *));
|
||||
|
||||
:root {
|
||||
--background: oklch(1 0 0);
|
||||
--foreground: oklch(0.145 0 0);
|
||||
--muted: oklch(0.97 0 0);
|
||||
--muted-foreground: oklch(0.556 0 0);
|
||||
--popover: oklch(1 0 0);
|
||||
--popover-foreground: oklch(0.145 0 0);
|
||||
--card: oklch(1 0 0);
|
||||
--card-foreground: oklch(0.145 0 0);
|
||||
--border: oklch(0.922 0 0);
|
||||
--input: oklch(0.922 0 0);
|
||||
--primary: oklch(0.205 0 0);
|
||||
--primary-foreground: oklch(0.985 0 0);
|
||||
--secondary: oklch(0.97 0 0);
|
||||
--secondary-foreground: oklch(0.205 0 0);
|
||||
--accent: oklch(0.97 0 0);
|
||||
--accent-foreground: oklch(0.205 0 0);
|
||||
--destructive: oklch(0.577 0.245 27.325);
|
||||
--background: hsl(0 0% 100%) /* <- Wrap in HSL */;
|
||||
--foreground: hsl(240 10% 3.9%);
|
||||
--muted: hsl(240 4.8% 95.9%);
|
||||
--muted-foreground: hsl(240 3.8% 46.1%);
|
||||
--popover: hsl(0 0% 100%);
|
||||
--popover-foreground: hsl(240 10% 3.9%);
|
||||
--card: hsl(0 0% 100%);
|
||||
--card-foreground: hsl(240 10% 3.9%);
|
||||
--border: hsl(240 5.9% 90%);
|
||||
--input: hsl(240 5.9% 90%);
|
||||
--primary: hsl(240 5.9% 10%);
|
||||
--primary-foreground: hsl(0 0% 98%);
|
||||
--secondary: hsl(240 4.8% 95.9%);
|
||||
--secondary-foreground: hsl(240 5.9% 10%);
|
||||
--accent: hsl(240 4.8% 95.9%);
|
||||
--accent-foreground: hsl(240 5.9% 10%);
|
||||
--destructive: hsl(0 72.2% 50.6%);
|
||||
--destructive-foreground: hsl(0 0% 98%);
|
||||
--ring: oklch(0.708 0 0);
|
||||
--sidebar: oklch(0.985 0 0);
|
||||
--sidebar-foreground: oklch(0.145 0 0);
|
||||
--sidebar-primary: oklch(0.205 0 0);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.97 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.205 0 0);
|
||||
--sidebar-border: oklch(0.922 0 0);
|
||||
--sidebar-ring: oklch(0.708 0 0);
|
||||
--ring: hsl(240 10% 3.9%);
|
||||
--sidebar: hsl(0 0% 98%);
|
||||
--sidebar-foreground: hsl(240 5.3% 26.1%);
|
||||
--sidebar-primary: hsl(240 5.9% 10%);
|
||||
--sidebar-primary-foreground: hsl(0 0% 98%);
|
||||
--sidebar-accent: hsl(240 4.8% 95.9%);
|
||||
--sidebar-accent-foreground: hsl(240 5.9% 10%);
|
||||
--sidebar-border: hsl(220 13% 91%);
|
||||
--sidebar-ring: hsl(217.2 91.2% 59.8%);
|
||||
|
||||
--support: rgb(220 15 130);
|
||||
--link: rgb(0 110 180);
|
||||
--selection: hsl(240 4.8% 93%);
|
||||
|
||||
--radius: 0.5rem;
|
||||
|
||||
--chart-1: oklch(0.87 0 0);
|
||||
|
||||
--chart-2: oklch(0.556 0 0);
|
||||
|
||||
--chart-3: oklch(0.439 0 0);
|
||||
|
||||
--chart-4: oklch(0.371 0 0);
|
||||
|
||||
--chart-5: oklch(0.269 0 0);
|
||||
}
|
||||
|
||||
.dark {
|
||||
--background: oklch(0.145 0 0);
|
||||
--foreground: oklch(0.985 0 0);
|
||||
--muted: oklch(0.269 0 0);
|
||||
--muted-foreground: oklch(0.708 0 0);
|
||||
--popover: oklch(0.205 0 0);
|
||||
--popover-foreground: oklch(0.985 0 0);
|
||||
--card: oklch(0.205 0 0);
|
||||
--card-foreground: oklch(0.985 0 0);
|
||||
--border: oklch(1 0 0 / 10%);
|
||||
--input: oklch(1 0 0 / 15%);
|
||||
--primary: oklch(0.922 0 0);
|
||||
--primary-foreground: oklch(0.205 0 0);
|
||||
--secondary: oklch(0.269 0 0);
|
||||
--secondary-foreground: oklch(0.985 0 0);
|
||||
--accent: oklch(0.269 0 0);
|
||||
--accent-foreground: oklch(0.985 0 0);
|
||||
--destructive: oklch(0.704 0.191 22.216);
|
||||
--background: hsl(240 10% 3.9%);
|
||||
--foreground: hsl(0 0% 98%);
|
||||
--muted: hsl(240 3.7% 15.9%);
|
||||
--muted-foreground: hsl(240 5% 64.9%);
|
||||
--popover: hsl(240 10% 3.9%);
|
||||
--popover-foreground: hsl(0 0% 98%);
|
||||
--card: hsl(240 10% 3.9%);
|
||||
--card-foreground: hsl(0 0% 98%);
|
||||
--border: hsl(240 3.7% 15.9%);
|
||||
--input: hsl(240 3.7% 15.9%);
|
||||
--primary: hsl(0 0% 98%);
|
||||
--primary-foreground: hsl(240 5.9% 10%);
|
||||
--secondary: hsl(240 3.7% 15.9%);
|
||||
--secondary-foreground: hsl(0 0% 98%);
|
||||
--accent: hsl(240 3.7% 15.9%);
|
||||
--accent-foreground: hsl(0 0% 98%);
|
||||
--destructive: hsl(0 62.8% 30.6%);
|
||||
--destructive-foreground: hsl(0 0% 98%);
|
||||
--ring: oklch(0.556 0 0);
|
||||
--sidebar: oklch(0.205 0 0);
|
||||
--sidebar-foreground: oklch(0.985 0 0);
|
||||
--sidebar-primary: oklch(0.488 0.243 264.376);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.269 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.985 0 0);
|
||||
--sidebar-border: oklch(1 0 0 / 10%);
|
||||
--sidebar-ring: oklch(0.556 0 0);
|
||||
--ring: hsl(240 4.9% 83.9%);
|
||||
--sidebar: hsl(240 5.9% 10%);
|
||||
--sidebar-foreground: hsl(240 4.8% 95.9%);
|
||||
--sidebar-primary: hsl(224.3 76.3% 48%);
|
||||
--sidebar-primary-foreground: hsl(0 0% 100%);
|
||||
--sidebar-accent: hsl(240 3.7% 15.9%);
|
||||
--sidebar-accent-foreground: hsl(240 4.8% 95.9%);
|
||||
--sidebar-border: hsl(240 3.7% 15.9%);
|
||||
--sidebar-ring: hsl(217.2 91.2% 59.8%);
|
||||
|
||||
--support: rgb(255 110 190);
|
||||
--link: rgb(80 190 255);
|
||||
--selection: hsl(240 3.7% 22%);
|
||||
--chart-1: oklch(0.87 0 0);
|
||||
--chart-2: oklch(0.556 0 0);
|
||||
--chart-3: oklch(0.439 0 0);
|
||||
--chart-4: oklch(0.371 0 0);
|
||||
--chart-5: oklch(0.269 0 0);
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
@@ -130,35 +113,14 @@
|
||||
--color-link: var(--link);
|
||||
|
||||
--breakpoint-xs: 540px;
|
||||
|
||||
--font-sans: 'Inter Variable', sans-serif;
|
||||
|
||||
--color-chart-5: var(--chart-5);
|
||||
|
||||
--color-chart-4: var(--chart-4);
|
||||
|
||||
--color-chart-3: var(--chart-3);
|
||||
|
||||
--color-chart-2: var(--chart-2);
|
||||
|
||||
--color-chart-1: var(--chart-1);
|
||||
|
||||
--radius-2xl: calc(var(--radius) * 1.8);
|
||||
|
||||
--radius-3xl: calc(var(--radius) * 2.2);
|
||||
|
||||
--radius-4xl: calc(var(--radius) * 2.6);
|
||||
}
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border outline-ring/50;
|
||||
@apply border-border;
|
||||
}
|
||||
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
html {
|
||||
@apply font-sans;
|
||||
}
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 339 KiB |
|
Before Width: | Height: | Size: 729 KiB |
|
Before Width: | Height: | Size: 308 KiB |
|
Before Width: | Height: | Size: 525 KiB After Width: | Height: | Size: 1.7 MiB |
|
Before Width: | Height: | Size: 710 KiB After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.8 MiB |
|
After Width: | Height: | Size: 348 KiB |
@@ -31,32 +31,10 @@ import bikerouterGravel from './custom/bikerouter-gravel.json';
|
||||
export const maptilerKeyPlaceHolder = 'MAPTILER_KEY';
|
||||
|
||||
export const basemaps: { [key: string]: string | StyleSpecification } = {
|
||||
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: {
|
||||
esriSatellite: {
|
||||
type: 'raster',
|
||||
tiles: [
|
||||
'https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/tile/1.0.0/World_Imagery/default/default028mm/{z}/{y}/{x}.jpg',
|
||||
],
|
||||
tileSize: 256,
|
||||
maxzoom: 19,
|
||||
attribution:
|
||||
'© <a href="https://www.esri.com/" target="_blank">Esri</a>, Vantor, Earthstar Geographics, and the GIS User Community',
|
||||
},
|
||||
},
|
||||
layers: [
|
||||
{
|
||||
id: 'esriSatellite',
|
||||
type: 'raster',
|
||||
source: 'esriSatellite',
|
||||
},
|
||||
],
|
||||
},
|
||||
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}`,
|
||||
openStreetMap: {
|
||||
version: 8,
|
||||
sources: {
|
||||
@@ -799,11 +777,10 @@ export type LayerTreeType = { [key: string]: LayerTreeType | boolean };
|
||||
export const basemapTree: LayerTreeType = {
|
||||
basemaps: {
|
||||
world: {
|
||||
libertyTopo: true,
|
||||
libertySatellite: true,
|
||||
osm: true,
|
||||
osmTopo: true,
|
||||
esriSatellite: true,
|
||||
maptilerStreets: true,
|
||||
maptilerTopo: true,
|
||||
maptilerOutdoors: true,
|
||||
maptilerSatellite: true,
|
||||
openStreetMap: true,
|
||||
openTopoMap: true,
|
||||
openHikingMap: true,
|
||||
@@ -936,7 +913,7 @@ export const overpassTree: LayerTreeType = {
|
||||
};
|
||||
|
||||
// Default basemap used
|
||||
export const defaultBasemap = 'libertyTopo';
|
||||
export const defaultBasemap = 'maptilerStreets';
|
||||
|
||||
// Default overlays used (none)
|
||||
export const defaultOverlays: LayerTreeType = {
|
||||
@@ -1025,11 +1002,10 @@ export const defaultOverpassQueries: LayerTreeType = {
|
||||
export const defaultBasemapTree: LayerTreeType = {
|
||||
basemaps: {
|
||||
world: {
|
||||
libertyTopo: true,
|
||||
libertySatellite: true,
|
||||
osm: true,
|
||||
osmTopo: true,
|
||||
esriSatellite: false,
|
||||
maptilerStreets: true,
|
||||
maptilerTopo: true,
|
||||
maptilerOutdoors: true,
|
||||
maptilerSatellite: true,
|
||||
openStreetMap: true,
|
||||
openTopoMap: true,
|
||||
openHikingMap: true,
|
||||
@@ -1487,11 +1463,14 @@ 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.gpx.studio/mapterhorn.json',
|
||||
encoding: 'terrarium',
|
||||
url: 'https://tiles.mapterhorn.com/tilejson.json',
|
||||
},
|
||||
};
|
||||
|
||||
export const defaultTerrainSource = 'mapterhorn';
|
||||
export const defaultTerrainSource = 'maptiler-dem';
|
||||
|
||||
@@ -14,12 +14,12 @@
|
||||
} = $props();
|
||||
</script>
|
||||
|
||||
<div class="text-[13px] bg-secondary rounded border flex flex-row items-center p-2 {className}">
|
||||
<div class="text-sm bg-secondary rounded border flex flex-row items-center p-2 {className}">
|
||||
<CircleQuestionMark size="16" class="w-4 mr-2 shrink-0 grow-0" />
|
||||
<div>
|
||||
{@render children()}
|
||||
{#if link}
|
||||
<a href={link} target="_blank" class="text-[13px] text-link hover:underline">
|
||||
<a href={link} target="_blank" class="text-sm text-link hover:underline">
|
||||
{i18n._('menu.more')}
|
||||
</a>
|
||||
{/if}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
...others
|
||||
}: {
|
||||
iconOnly?: boolean;
|
||||
company?: 'gpx.studio' | 'github' | 'crowdin' | 'facebook' | 'reddit';
|
||||
company?: 'gpx.studio' | 'maptiler' | 'github' | 'crowdin' | 'facebook' | 'reddit';
|
||||
[key: string]: any;
|
||||
} = $props();
|
||||
</script>
|
||||
@@ -19,6 +19,12 @@
|
||||
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"
|
||||
|
||||
@@ -43,8 +43,6 @@
|
||||
BookOpenText,
|
||||
ChartArea,
|
||||
Maximize,
|
||||
Maximize2,
|
||||
Minimize2,
|
||||
} from '@lucide/svelte';
|
||||
import { map } from '$lib/components/map/map';
|
||||
import { editMetadata } from '$lib/components/file-list/metadata/utils.svelte';
|
||||
@@ -72,7 +70,7 @@
|
||||
import { copied, selection } from '$lib/logic/selection';
|
||||
import { allHidden } from '$lib/logic/hidden';
|
||||
import { boundsManager } from '$lib/logic/bounds';
|
||||
import { tick, onMount } from 'svelte';
|
||||
import { tick } from 'svelte';
|
||||
import { allowedPastes } from '$lib/components/file-list/sortable-file-list';
|
||||
|
||||
const {
|
||||
@@ -107,23 +105,6 @@
|
||||
}
|
||||
|
||||
let layerSettingsOpen = $state(false);
|
||||
let fullscreen = $state(false);
|
||||
|
||||
function toggleFullscreen() {
|
||||
if (!document.fullscreenElement) {
|
||||
document.documentElement.requestFullscreen?.();
|
||||
} else {
|
||||
document.exitFullscreen?.();
|
||||
}
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
const handler = () => {
|
||||
fullscreen = document.fullscreenElement !== null;
|
||||
};
|
||||
document.addEventListener('fullscreenchange', handler);
|
||||
return () => document.removeEventListener('fullscreenchange', handler);
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="absolute md:top-2 left-0 right-0 z-20 flex flex-row justify-center pointer-events-none">
|
||||
@@ -396,16 +377,6 @@
|
||||
{i18n._('menu.toggle_3d')}
|
||||
<Shortcut key={i18n._('menu.right_click_drag')} />
|
||||
</Menubar.Item>
|
||||
<Menubar.Separator />
|
||||
<Menubar.CheckboxItem checked={fullscreen} onCheckedChange={toggleFullscreen}>
|
||||
{#if fullscreen}
|
||||
<Minimize2 size="16" />
|
||||
{:else}
|
||||
<Maximize2 size="16" />
|
||||
{/if}
|
||||
{i18n._('menu.fullscreen')}
|
||||
<Shortcut key="F11" />
|
||||
</Menubar.CheckboxItem>
|
||||
</Menubar.Content>
|
||||
</Menubar.Menu>
|
||||
<Menubar.Menu>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<script lang="ts">
|
||||
import topoMap from '$lib/assets/img/docs/maps/topo.png?enhanced';
|
||||
import waymarkedMap from '$lib/assets/img/docs/maps/waymarked.png?enhanced';
|
||||
import maptilerTopoMap from '$lib/assets/img/home/maptiler-topo.png?enhanced';
|
||||
import waymarkedMap from '$lib/assets/img/home/waymarked.png?enhanced';
|
||||
</script>
|
||||
|
||||
<div class="relative h-80 aspect-square rounded-2xl shadow-xl overflow-clip">
|
||||
<enhanced:img src={topoMap} alt="Topo map screenshot." class="absolute" />
|
||||
<enhanced:img src={maptilerTopoMap} alt="MapTiler 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: 'libertyTopo',
|
||||
basemap: 'maptilerStreets',
|
||||
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 = 'libertySatellite';
|
||||
newOptions.basemap = 'maptilerSatellite';
|
||||
} 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': ['Noto Sans Bold'],
|
||||
'text-font': ['Open Sans Bold'],
|
||||
},
|
||||
paint: {
|
||||
'text-color': 'black',
|
||||
|
||||
@@ -251,11 +251,11 @@ export class GPXLayer {
|
||||
source: this.fileId,
|
||||
layout: {
|
||||
'text-field': '»',
|
||||
'text-offset': [0, -0.1],
|
||||
'text-offset': [0, -0.06],
|
||||
'text-keep-upright': false,
|
||||
'text-max-angle': 361,
|
||||
'text-allow-overlap': true,
|
||||
'text-font': ['Noto Sans Bold'],
|
||||
'text-font': ['Open Sans Bold'],
|
||||
'symbol-placement': 'line',
|
||||
'symbol-spacing': 20,
|
||||
},
|
||||
|
||||
@@ -24,7 +24,7 @@ liveQuery(() => db.overpassdata.toArray()).subscribe((pois) => {
|
||||
});
|
||||
|
||||
export class OverpassLayer {
|
||||
overpassUrl = 'https://overpass.gpx.studio/api/interpreter';
|
||||
overpassUrl = 'https://overpass.private.coffee/api/interpreter';
|
||||
minZoom = 12;
|
||||
queryZoom = 12;
|
||||
expirationTime = 7 * 24 * 3600 * 1000;
|
||||
|
||||
@@ -142,7 +142,6 @@ export class MapLayerEventManager {
|
||||
}
|
||||
|
||||
private _handleMouseMove(e: maplibregl.MapMouseEvent) {
|
||||
if (e.originalEvent.buttons > 0) return;
|
||||
const featuresByLayer = this._getRenderedFeaturesByLayer(e);
|
||||
Object.keys(this._listeners).forEach((layerId) => {
|
||||
const features = featuresByLayer[layerId] || [];
|
||||
|
||||
@@ -10,8 +10,7 @@ import {
|
||||
import { getLayers } from '$lib/components/map/layer-control/utils';
|
||||
import { i18n } from '$lib/i18n.svelte';
|
||||
|
||||
const { currentBasemap, currentOverlays, customLayers, opacities, terrainSource, distanceUnits } =
|
||||
settings;
|
||||
const { currentBasemap, currentOverlays, customLayers, opacities, terrainSource } = settings;
|
||||
|
||||
const emptySource: maplibregl.GeoJSONSourceSpecification = {
|
||||
type: 'geojson',
|
||||
@@ -58,24 +57,15 @@ 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;
|
||||
let basemap = get(currentBasemap);
|
||||
this.buildStyle(basemap).then((style) => {
|
||||
if (get(currentBasemap) === basemap) map_.setStyle(style);
|
||||
});
|
||||
this.buildStyle().then((style) => map_.setStyle(style));
|
||||
}
|
||||
|
||||
async buildStyle(basemap: string): Promise<maplibregl.StyleSpecification> {
|
||||
async buildStyle(): Promise<maplibregl.StyleSpecification> {
|
||||
const custom = get(customLayers);
|
||||
|
||||
const style: maplibregl.StyleSpecification = {
|
||||
@@ -89,31 +79,17 @@ export class StyleManager {
|
||||
layers: [],
|
||||
};
|
||||
|
||||
let basemap = get(currentBasemap);
|
||||
const basemapInfo = basemaps[basemap] ?? custom[basemap]?.value ?? basemaps[defaultBasemap];
|
||||
const basemapStyle = await this.get(basemapInfo);
|
||||
|
||||
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);
|
||||
|
||||
const terrain = this.getCurrentTerrain();
|
||||
style.sources[terrain.source] = terrainSources[terrain.source];
|
||||
style.terrain = terrain.exaggeration > 0 ? terrain : undefined;
|
||||
if (this._maptilerKey !== '') {
|
||||
const terrain = this.getCurrentTerrain();
|
||||
style.sources[terrain.source] = terrainSources[terrain.source];
|
||||
style.terrain = terrain.exaggeration > 0 ? terrain : undefined;
|
||||
}
|
||||
|
||||
style.layers.push(...anchorLayers);
|
||||
|
||||
@@ -133,58 +109,52 @@ export class StyleManager {
|
||||
if (!layers[overlay]) {
|
||||
if (this._pastOverlays.has(overlay)) {
|
||||
const overlayInfo = custom[overlay]?.value ?? overlays[overlay];
|
||||
try {
|
||||
const overlayStyle = await this.get(overlayInfo);
|
||||
for (let layer of overlayStyle.layers ?? []) {
|
||||
if (map_.getLayer(layer.id)) {
|
||||
map_.removeLayer(layer.id);
|
||||
}
|
||||
const overlayStyle = await this.get(overlayInfo);
|
||||
for (let layer of overlayStyle.layers ?? []) {
|
||||
if (map_.getLayer(layer.id)) {
|
||||
map_.removeLayer(layer.id);
|
||||
}
|
||||
} catch (e) {
|
||||
// Should not happen
|
||||
}
|
||||
this._pastOverlays.delete(overlay);
|
||||
}
|
||||
} else {
|
||||
const overlayInfo = custom[overlay]?.value ?? overlays[overlay];
|
||||
try {
|
||||
const overlayStyle = await this.get(overlayInfo);
|
||||
const opacity = overlayOpacities[overlay];
|
||||
const overlayStyle = await this.get(overlayInfo);
|
||||
const opacity = overlayOpacities[overlay];
|
||||
|
||||
for (let sourceId in overlayStyle.sources) {
|
||||
if (!map_.getSource(sourceId)) {
|
||||
map_.addSource(sourceId, overlayStyle.sources[sourceId]);
|
||||
}
|
||||
for (let sourceId in overlayStyle.sources) {
|
||||
if (!map_.getSource(sourceId)) {
|
||||
map_.addSource(sourceId, overlayStyle.sources[sourceId]);
|
||||
}
|
||||
|
||||
for (let layer of overlayStyle.layers ?? []) {
|
||||
if (!map_.getLayer(layer.id)) {
|
||||
if (opacity !== undefined) {
|
||||
if (layer.type === 'raster') {
|
||||
if (!layer.paint) {
|
||||
layer.paint = {};
|
||||
}
|
||||
layer.paint['raster-opacity'] = opacity;
|
||||
} else if (layer.type === 'hillshade') {
|
||||
if (!layer.paint) {
|
||||
layer.paint = {};
|
||||
}
|
||||
layer.paint['hillshade-exaggeration'] = opacity / 2;
|
||||
}
|
||||
}
|
||||
map_.addLayer(layer, ANCHOR_LAYER_KEY.overlays);
|
||||
}
|
||||
}
|
||||
this._pastOverlays.add(overlay);
|
||||
} catch (e) {
|
||||
console.error(e.message);
|
||||
}
|
||||
|
||||
for (let layer of overlayStyle.layers ?? []) {
|
||||
if (!map_.getLayer(layer.id)) {
|
||||
if (opacity !== undefined) {
|
||||
if (layer.type === 'raster') {
|
||||
if (!layer.paint) {
|
||||
layer.paint = {};
|
||||
}
|
||||
layer.paint['raster-opacity'] = opacity;
|
||||
} else if (layer.type === 'hillshade') {
|
||||
if (!layer.paint) {
|
||||
layer.paint = {};
|
||||
}
|
||||
layer.paint['hillshade-exaggeration'] = opacity / 2;
|
||||
}
|
||||
}
|
||||
map_.addLayer(layer, ANCHOR_LAYER_KEY.overlays);
|
||||
}
|
||||
}
|
||||
|
||||
this._pastOverlays.add(overlay);
|
||||
}
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
updateTerrain() {
|
||||
if (this._maptilerKey === '') return;
|
||||
const map_ = get(this._map);
|
||||
if (!map_) return;
|
||||
|
||||
@@ -207,10 +177,10 @@ export class StyleManager {
|
||||
): Promise<maplibregl.StyleSpecification> {
|
||||
if (typeof styleInfo === 'string') {
|
||||
let styleUrl = styleInfo as string;
|
||||
const response = await fetch(styleUrl, { cache: 'force-cache' });
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP error fetching style "${styleInfo}": ${response.status}`);
|
||||
if (styleUrl.includes(maptilerKeyPlaceHolder)) {
|
||||
styleUrl = styleUrl.replace(maptilerKeyPlaceHolder, this._maptilerKey);
|
||||
}
|
||||
const response = await fetch(styleUrl, { cache: 'force-cache' });
|
||||
const style = await response.json();
|
||||
return style;
|
||||
} else {
|
||||
@@ -220,46 +190,23 @@ 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)) {
|
||||
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'],
|
||||
];
|
||||
}
|
||||
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'],
|
||||
];
|
||||
}
|
||||
}
|
||||
style.layers.push(layer);
|
||||
@@ -274,6 +221,10 @@ 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,
|
||||
|
||||
@@ -163,9 +163,6 @@ export class ReducedGPXLayerCollection {
|
||||
reduce() {
|
||||
let itemsAndPoints = new Map<ListItem, TrackPoint[]>();
|
||||
this._simplified.forEach(([item, maxPts, points], itemFullId) => {
|
||||
if (!get(selection).hasAnyParent(item)) {
|
||||
return;
|
||||
}
|
||||
itemsAndPoints.set(
|
||||
item,
|
||||
points
|
||||
|
||||
@@ -57,10 +57,8 @@ export class RoutingControls {
|
||||
|
||||
updateControlsBinded: () => void = this.updateControls.bind(this);
|
||||
appendAnchorBinded: (e: MapMouseEvent) => void = this.appendAnchor.bind(this);
|
||||
addIntermediateAnchorBinded: (e: MapMouseEvent) => void = this.addIntermediateAnchor.bind(this);
|
||||
|
||||
draggedAnchorIndex: number | null = null;
|
||||
lastDraggedAnchorEventTime: number = 0;
|
||||
draggingStartingPosition: maplibregl.Point = new maplibregl.Point(0, 0);
|
||||
onMouseEnterBinded: () => void = this.onMouseEnter.bind(this);
|
||||
onMouseLeaveBinded: () => void = this.onMouseLeave.bind(this);
|
||||
@@ -87,7 +85,7 @@ export class RoutingControls {
|
||||
this.file = file;
|
||||
for (let zoom = MIN_ANCHOR_ZOOM; zoom <= MAX_ANCHOR_ZOOM; zoom++) {
|
||||
this.layers.set(zoom, {
|
||||
id: `routing-controls-${this.fileId}-${zoom}`,
|
||||
id: `routing-controls-${zoom}`,
|
||||
anchors: [],
|
||||
});
|
||||
}
|
||||
@@ -135,7 +133,6 @@ export class RoutingControls {
|
||||
map_.on('style.load', this.updateControlsBinded);
|
||||
map_.on('click', this.appendAnchorBinded);
|
||||
layerEventManager.on('mousemove', this.fileId, this.showTemporaryAnchorBinded);
|
||||
layerEventManager.on('click', this.fileId, this.addIntermediateAnchorBinded);
|
||||
|
||||
this.fileUnsubscribe = this.file.subscribe(this.updateControlsBinded);
|
||||
}
|
||||
@@ -240,7 +237,6 @@ export class RoutingControls {
|
||||
map_?.off('style.load', this.updateControlsBinded);
|
||||
map_?.off('click', this.appendAnchorBinded);
|
||||
layerEventManager?.off('mousemove', this.fileId, this.showTemporaryAnchorBinded);
|
||||
layerEventManager?.off('click', this.fileId, this.addIntermediateAnchorBinded);
|
||||
map_?.off('mousemove', this.updateTemporaryAnchorBinded);
|
||||
|
||||
this.layers.forEach((layer) => {
|
||||
@@ -525,19 +521,12 @@ export class RoutingControls {
|
||||
if (get(streetViewEnabled) && get(streetViewSource) === 'google') {
|
||||
return;
|
||||
}
|
||||
if (
|
||||
this.draggedAnchorIndex !== null ||
|
||||
Date.now() - this.lastDraggedAnchorEventTime < 100
|
||||
) {
|
||||
// Exit if anchor is being dragged
|
||||
return;
|
||||
}
|
||||
if (
|
||||
e.target.queryRenderedFeatures(e.point, {
|
||||
layers: [this.fileId, ...[...this.layers.values()].map((layer) => layer.id)],
|
||||
layers: [...this.layers.values()].map((layer) => layer.id),
|
||||
}).length
|
||||
) {
|
||||
// Clicked on routing control or layer, ignoring
|
||||
// Clicked on routing control, ignoring
|
||||
return;
|
||||
}
|
||||
this.appendAnchorWithCoordinates({
|
||||
@@ -609,15 +598,6 @@ export class RoutingControls {
|
||||
await this.routeBetweenAnchors([lastAnchor, newAnchor], [lastAnchorPoint, newAnchorPoint]);
|
||||
}
|
||||
|
||||
addIntermediateAnchor(e: maplibregl.MapMouseEvent) {
|
||||
e.preventDefault();
|
||||
|
||||
if (this.temporaryAnchor !== null) {
|
||||
this.turnIntoPermanentAnchor();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
getNeighbouringAnchors(anchor: Anchor): [Anchor | null, Anchor | null] {
|
||||
let previousAnchor: Anchor | null = null;
|
||||
let nextAnchor: Anchor | null = null;
|
||||
@@ -820,7 +800,7 @@ export class RoutingControls {
|
||||
`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
|
||||
<circle cx="10" cy="10" r="8" fill="white" stroke="black" stroke-width="2" />
|
||||
</svg>`,
|
||||
_map.getCanvasContainer().offsetWidth > 1000 ? 56 : 80
|
||||
_map.getCanvasContainer().offsetWidth > 1000 ? 50 : 80
|
||||
);
|
||||
}
|
||||
|
||||
@@ -838,11 +818,8 @@ export class RoutingControls {
|
||||
onClick(e: MapLayerMouseEvent) {
|
||||
e.preventDefault();
|
||||
|
||||
if (
|
||||
this.draggedAnchorIndex !== null ||
|
||||
Date.now() - this.lastDraggedAnchorEventTime < 100
|
||||
) {
|
||||
// Exit if anchor is being dragged
|
||||
if (this.temporaryAnchor !== null) {
|
||||
this.turnIntoPermanentAnchor();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -931,8 +908,6 @@ export class RoutingControls {
|
||||
lat: e.lngLat.lat,
|
||||
lon: e.lngLat.lng,
|
||||
});
|
||||
|
||||
this.lastDraggedAnchorEventTime = Date.now();
|
||||
}
|
||||
|
||||
onMouseUp(e: MapLayerMouseEvent | MapLayerTouchEvent) {
|
||||
@@ -971,7 +946,6 @@ export class RoutingControls {
|
||||
}
|
||||
|
||||
this.draggedAnchorIndex = null;
|
||||
this.lastDraggedAnchorEventTime = Date.now();
|
||||
}
|
||||
|
||||
showTemporaryAnchor(e: MapLayerMouseEvent) {
|
||||
@@ -1099,9 +1073,7 @@ export class RoutingControls {
|
||||
if (!this.temporaryAnchor) {
|
||||
return;
|
||||
}
|
||||
let source = get(map)?.getSource(`routing-controls-${this.fileId}-0`) as
|
||||
| GeoJSONSource
|
||||
| undefined;
|
||||
let source = get(map)?.getSource('routing-controls-0') as GeoJSONSource | undefined;
|
||||
if (source) {
|
||||
if (this.temporaryAnchor) {
|
||||
source.updateData({
|
||||
@@ -1116,9 +1088,7 @@ export class RoutingControls {
|
||||
return;
|
||||
}
|
||||
const map_ = get(map);
|
||||
let source = map_?.getSource(`routing-controls-${this.fileId}-0`) as
|
||||
| GeoJSONSource
|
||||
| undefined;
|
||||
let source = map_?.getSource('routing-controls-0') as GeoJSONSource | undefined;
|
||||
if (source) {
|
||||
if (this.temporaryAnchor) {
|
||||
source.updateData({
|
||||
|
||||
@@ -31,13 +31,13 @@ get along, so we shut typescript up by casting `value` to `never`.
|
||||
data-slot="slider-track"
|
||||
data-orientation={orientation}
|
||||
class={cn(
|
||||
"bg-muted rounded-full data-horizontal:h-1.5 data-horizontal:w-full data-vertical:h-full data-vertical:w-1 bg-muted relative grow overflow-hidden data-horizontal:w-full data-vertical:h-full"
|
||||
"h-1.5 bg-muted rounded-full data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1 bg-muted relative grow overflow-hidden data-horizontal:w-full data-vertical:h-full"
|
||||
)}
|
||||
>
|
||||
<SliderPrimitive.Range
|
||||
data-slot="slider-range"
|
||||
class={cn(
|
||||
"bg-primary absolute select-none data-horizontal:h-full data-vertical:w-full"
|
||||
"h-full bg-black absolute select-none data-horizontal:h-full data-vertical:w-full"
|
||||
)}
|
||||
/>
|
||||
</span>
|
||||
|
||||
@@ -59,7 +59,7 @@ These controls allow you to navigate the map, zoom in and out, and switch betwee
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
Каб кіраваць арыентацыяй і нахілам карты, вы таксама можаце перацягнуць карту, утрымліваючы <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ El botó de capa de mapa permet canviar entre diferents mapes base i alternar ca
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Opcions de vista
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Entra o surt de la vista de mapa en 3D.
|
||||
Per controlar l'orientació i inclinació del mapa, pots arrossegar el mapa mentre prems <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Aquesta eina permet afegir dades d'elevació a traces i [punts d'interès](../gp
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ Tlačítko mapové vrstvy umožňuje přepínat mezi různými podkladovými map
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Možnosti zobrazení
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Zapnout nebo vypnout 3D zobrazení mapy.
|
||||
Chcete-li ovládat orientaci a náklon mapy, můžete ji také potáhnout s přidržením klávesy <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Tento nástroj umožňuje přidat údaje o nadmořské výšce ke stopám a [bod
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ Mit der Schaltfläche Karten-Ebenen können Sie zwischen verschiedenen Basemaps
|
||||
<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.
|
||||
Fahre mit der Maus über die Karte, um die <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails-Wanderkarte</a> über der <a href="https://www.maptiler.com/maps/outdoor-topo/" target="_blank">MapTiler Topo</a>-Basiskarte anzuzeigen.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Anzeigeoptionen
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Aufrufen oder Beenden der 3D-Kartenansicht.
|
||||
Um die Ausrichtung und Neigung der Karte zu steuern, können Sie die Karte auch ziehen, während Sie <kbd>die Strg-Taste</kbd> gedrückt halten.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Mit diesem Tool kannst du Höhendaten zu Routen und [Points of Interest] (../gpx
|
||||
|
||||
<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>.
|
||||
Die Höhendaten werden von <a href="https://maptiler.com" target="_blank">MapTiler</a> bereitgestellt.
|
||||
Mehr über die Herkunft und Genauigkeit erfährst du in der <a href="https://docs.maptiler.com/guides/map-tiling-hosting/data-hosting/rgb-terrain-by-maptiler/" target="_blank">Dokumentation</a>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -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 topographic 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 <a href="https://www.maptiler.com/maps/outdoor-topo/" target="_blank">MapTiler Topo</a> basemap.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -46,9 +46,4 @@ Enter or exit the 3D map view.
|
||||
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
</DocsNote>
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
@@ -13,8 +13,8 @@ Puede usar **gpx.studio** para crear mapas que muestren sus archivos GPX e integ
|
||||
|
||||
Todo lo que necesita es:
|
||||
|
||||
1. Archivos GPX alojados en su servidor o en Google Drive, o accesibles a través de una URL pública;
|
||||
2. _Opcional:_ una <a href="https://cloud.maptiler.com/auth/widget?next=https://cloud.maptiler.com/maps/" target="_blank">Tecla MapTiler</a> para cargar mapas MapTiler.
|
||||
1. GPX files hosted on your server or on Google Drive, or accessible via a public URL;
|
||||
2. _Optional:_ a <a href="https://cloud.maptiler.com/auth/widget?next=https://cloud.maptiler.com/maps/" target="_blank">MapTiler key</a> to load MapTiler maps.
|
||||
|
||||
Luego puede jugar con el configurador de abajo para personalizar su mapa y generar el código HTML correspondiente.
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ El botón de capas de mapa le permite cambiar entre diferentes mapas bases y alt
|
||||
<DocsLayers />
|
||||
<span class="text-sm text-center mt-2">
|
||||
|
||||
Pasa el ratón sobre el mapa para que la capa de <a href="https://hiking.waymarkedtrails.org" target="_blank">Caminatas por Sendas Marcadas</a> aparezca superpuesta al mapa base topográfico.
|
||||
Pasa el ratón sobre el mapa para que la capa de <a href="https://hiking.waymarkedtrails.org" target="_blank">Caminatas por Sendas Marcadas</a> aparezca superpuesta al mapa base <a href="https://www.maptiler.com/maps/outdoor-topo/" target="_blank">MapTiler</a>.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
@@ -69,4 +69,4 @@ Pueden activarse en la [configuración de capas del mapa](./menu/settings).
|
||||
|
||||
En estos ajustes, también puede administrar la opacidad de las capas superpuestas.
|
||||
|
||||
Para los usuarios avanzados, es posible añadir mapas base y superposiciones personalizadas proporcionando <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a> o URLs <a href="https://docs.mapbox.com/help/glossary/style/" target="_blank">JSON estilo Mapbox</a>.
|
||||
For advanced users, it is possible to add custom basemaps and overlays by providing <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, or <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre style JSON</a> URLs.
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Opciones de vista
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Entra o sale de la vista 3D del mapa.
|
||||
Para controlar la orientación e inclinación del mapa, puede arrastrarlo mientras mantiene pulsada la tecla <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Pantalla completa
|
||||
|
||||
Entrar o salir del modo de pantalla completa.
|
||||
También puede presionar <kbd>F11</kbd> para alternar, o <kbd>Escape</kbd> para salir.
|
||||
|
||||
@@ -10,7 +10,7 @@ title: Desnivel
|
||||
|
||||
# <MountainSnow size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||
|
||||
Esta herramienta permite añadir datos de elevación a los rastros y [puntos de interés](../gpx), o reemplazar los datos existentes.
|
||||
Le permite añadir datos de desnivel a trazas y [puntos de interés](../gpx), o reemplazar los datos existentes.
|
||||
|
||||
<div class="flex flex-row justify-center">
|
||||
<Elevation class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||
@@ -18,7 +18,7 @@ Esta herramienta permite añadir datos de elevación a los rastros y [puntos de
|
||||
|
||||
<DocsNote>
|
||||
|
||||
Los datos de elevación son proporcionados por <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
||||
Puede aprender más sobre su origen y precisión en la <a href="https://mapterhorn.com/attribution/" target="_blank">documentación</a>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -18,8 +18,8 @@ Para usar esta herramienta, necesita [seleccionar](../files-and-stats) múltiple
|
||||
|
||||
<DocsNote>
|
||||
|
||||
Los elementos seleccionados se combinan en el orden en que aparecen en la lista de archivos.
|
||||
Si es necesario, puede reordenar los elementos arrastrando y soltando.
|
||||
Selected items are merged in the order they appear in the files list.
|
||||
Reorder items by drag-and-drop if needed.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ Maparen geruzen botoiak mapa-oinarri desberdinen artean aldatzeko aukera ematen
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Ikusteko aukerak
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Aktibatu edo desaktibatu maparen 3D ikuspegia.
|
||||
Maparen orientazioa eta okertzea kontrolatzeko, mapa ere arrasta dezakezu <kbd> Ctrl</kbd> sakatzen duzun bitartean.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Tresna honen bidez elebazio datuak gehitzen ahal dira ibilbidetan eta [interesgu
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ Le bouton des couches de la carte vous permet de basculer entre différents fond
|
||||
<DocsLayers />
|
||||
<span class="text-sm text-center mt-2">
|
||||
|
||||
Survolez la carte pour afficher la superposition des chemins de randonnée <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails</a> au fond de carte topographique.
|
||||
Survolez la carte pour afficher la superposition des chemins de randonnée <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails</a> au fond de carte <a href="https://www.maptiler.com/maps/outdoor-topo/" target="_blank">MapTiler Topo</a>.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Options d'affichage
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Entrer ou sortir de la vue 3D de la carte.
|
||||
Pour contrôler l'orientation et l'inclinaison de la carte, vous pouvez également faire glisser la carte tout en maintenant <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Plein écran
|
||||
|
||||
Passer en mode plein écran, ou le quitter.
|
||||
Vous pouvez également appuyer sur <kbd>F11</kbd> pour activer/désactiver le mode plein écran, ou sur <kbd>Échap</kbd> pour quitter.
|
||||
|
||||
@@ -18,7 +18,7 @@ Cet outil vous permet d'ajouter des données d'altitude aux traces et aux [point
|
||||
|
||||
<DocsNote>
|
||||
|
||||
Les données d'altitude sont fournies par <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
||||
Vous pouvez en apprendre plus sur leur origine et précision dans la <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
|
||||
Les données d'altitude sont fournies par <a href="https://maptiler.com" target="_blank">MapTiler</a>.
|
||||
Vous pouvez en apprendre plus sur leur origine et précision dans la <a href="https://docs.maptiler.com/guides/map-tiling-hosting/data-hosting/rgb-terrain-by-maptiler/" target="_blank">documentation</a>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Nézet beállításai
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Lépjen be vagy lépjen ki a 3D térképnézetből.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Ez az eszköz lehetővé teszi magassági adatok hozzáadását a nyomvonalakhoz
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ Il pulsante dei livelli di mappa consente di passare da una basemap all'altra, e
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Opzioni di visualizzazione
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Entrare o uscire dalla vista mappa 3D.
|
||||
Per controllare l'orientamento e l'inclinazione della mappa, puoi anche trascinare la mappa tenendo premuto <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Questo strumento ti permette di aggiungere dati di altimetria a tracce e [punti
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -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">
|
||||
|
||||
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.
|
||||
Beweeg over de kaart om de <a href="https://hiking.waymarkedtrails.org" target="_blank">Gemarkeerde sporen wandelen</a> overlay te tonen bovenop de <a href="https://www.maptiler.com/maps/outdoor-topo/" target="_blank">MapTiler Topo</a> basemap.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
@@ -69,4 +69,4 @@ Ze kunnen worden ingeschakeld in het [map layer settings dialoog](./menu/setting
|
||||
|
||||
In deze instellingen kun je ook de transparantie van de lagen beheren.
|
||||
|
||||
Voor gevorderde gebruikers is het mogelijk om aangepaste basiskaarten en lagen toe te voegen met <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, of <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre-stijl JSON</a> URLs.
|
||||
For advanced users, it is possible to add custom basemaps and overlays by providing <a href="https://en.wikipedia.org/wiki/Web_Map_Tile_Service" target="_blank">WMTS</a>, <a href="https://en.wikipedia.org/wiki/Web_Map_Service" target="_blank">WMS</a>, or <a href="https://maplibre.org/maplibre-style-spec/" target="_blank">MapLibre style JSON</a> URLs.
|
||||
|
||||
@@ -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" /> Snelheidseenheden
|
||||
### <Zap size="16" class="inline-block" style="margin-bottom: 2px" /> Snelheids eenheden
|
||||
|
||||
Verander de eenheden die worden gebruikt om snelheden in de interface weer te geven.
|
||||
Verander de eenheden die worden gebruikt om velocities 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
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Bekijk opties
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Voer in of verlaat de 3D-mapweergave.
|
||||
Om de oriëntatie en kanteling van de kaart te bepalen, kun je ook de kaart slepen terwijl je <kbd>Ctrl</kbd> ingedrukt houdt.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Volledig scherm
|
||||
|
||||
Start of stop volledig scherm modus.
|
||||
Je kunt ook op <kbd>F11</kbd> drukken om te wisselen, of <kbd>Escape</kbd> om af te sluiten.
|
||||
|
||||
@@ -18,7 +18,7 @@ Met dit gereedschap kun je hoogtegegevens toevoegen aan sporen en [interessante
|
||||
|
||||
<DocsNote>
|
||||
|
||||
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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Rens
|
||||
title: Clean
|
||||
---
|
||||
|
||||
<script>
|
||||
@@ -9,9 +9,9 @@ title: Rens
|
||||
|
||||
# <SquareDashedMousePointer size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||
|
||||
Når rensverktøyet er valgt, markeres et område ved å tegne et rektangel på kartet.
|
||||
When the clean tool is selected, dragging the map will create a rectangular selection.
|
||||
|
||||
Avhengig av alternativene som er valgt i dialogboksen nedenfor, fjerner slett-knappen GPS-punkter og/eller [interessepunkter – POI](../gpx) enten innenfor eller utenfor det merkede området.
|
||||
Depending on the options selected in the dialog shown below, clicking the delete button will remove GPS points and/or [points of interest](../gpx) located either inside or outside the selection.
|
||||
|
||||
<div class="flex flex-row justify-center">
|
||||
<Clean class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
title: Interessepunkt
|
||||
title: Points of interest
|
||||
---
|
||||
|
||||
<script>
|
||||
@@ -9,19 +9,19 @@ title: Interessepunkt
|
||||
|
||||
# <MapPin size="24" class="inline-block" style="margin-bottom: 5px" /> { title }
|
||||
|
||||
[Interessepunkt](../gpx) kan legges til GPX filer for å markere punkter av interesse for å vises på en GPS-enhet.
|
||||
[Points of interest](../gpx) can be added to GPX files to mark locations of interest on the map and display them on your GPS device.
|
||||
|
||||
### Opprettelse av interessepunkt
|
||||
### Creating a point of interest
|
||||
|
||||
Fyll ut skjemaet nedenfor for å opprette et interessepunkt.
|
||||
Ved å klikke på kartet eller skrive inn koordinatene, kan du angi plassering til interessepunktet.
|
||||
Bekreft skjemaet når du er ferdig.
|
||||
To create a point of interest, fill in the form shown below.
|
||||
You can choose the location of the point of interest either by clicking on the map or by entering the coordinates manually.
|
||||
Validate the form when you are done.
|
||||
|
||||
<div class="flex flex-row justify-center">
|
||||
<Waypoint class="text-foreground p-3 border rounded-md shadow-lg" />
|
||||
</div>
|
||||
|
||||
### Redigering av interessepunkt
|
||||
### Editing a point of interest
|
||||
|
||||
Et eksisterende interessepunkt kan også redigeres ved å velge det på kartet og deretter bruke skjemaet over.
|
||||
Interessepunktet kan flyttes ved å dra det til ønsket plassering.
|
||||
The form above can also be used to edit an existing point of interest after selecting it on the map.
|
||||
If you only need to move the point of interest, you can drag it to the desired location.
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Akcje menu Widok
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Włącza lub wychodzi z widoku mapy 3D.
|
||||
Aby kontrolować orientację i pochylenie mapy, możesz również przeciągnąć mapę przytrzymując <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ To narzędzie pozwala dodawać dane dotyczące wysokości do tras i [punktów za
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ O botão de camadas de mapa permite que você alterne entre diferentes mapas e a
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: Ver opções
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Entrar ou sair da visualização do mapa 3D.
|
||||
Para controlar a orientação e a inclinação do mapa, você também pode arrastar o mapa enquanto segura <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -18,7 +18,7 @@ Esta ferramenta permite que você adicione dados de elevação a rastros e [pont
|
||||
|
||||
<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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -3,7 +3,7 @@ title: View options
|
||||
---
|
||||
|
||||
<script lang="ts">
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box, Maximize2 } from '@lucide/svelte';
|
||||
import { ChartArea, ListTree, Map, Layers2, Coins, Milestone, Box } from '@lucide/svelte';
|
||||
import DocsNote from '$lib/components/docs/DocsNote.svelte';
|
||||
</script>
|
||||
|
||||
@@ -47,8 +47,3 @@ Enter or exit the 3D map view.
|
||||
To control the orientation and tilt of the map, you can also drag the map while holding <kbd>Ctrl</kbd>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
### <Maximize2 size="16" class="inline-block" style="margin-bottom: 2px" /> Full screen
|
||||
|
||||
Enter or exit full screen mode.
|
||||
You can also press <kbd>F11</kbd> to toggle, or <kbd>Escape</kbd> to exit.
|
||||
|
||||
@@ -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://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>.
|
||||
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>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -59,7 +59,7 @@ The map layers button allows you to switch between different basemaps, and toggl
|
||||
<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.
|
||||
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.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||