mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-06-13 02:26:32 +00:00
Compare commits
9 Commits
bb11d3375b
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4537ea4730 | |||
| 7f8751fa38 | |||
| 1954bbd764 | |||
| befcba00b4 | |||
| 9d2da80893 | |||
| 26e4b637a2 | |||
| 75e3bc6f93 | |||
| 043d368c74 | |||
| 70bb125076 |
@@ -45,26 +45,6 @@
|
||||
settings.initialize();
|
||||
|
||||
function applyOptions() {
|
||||
let downloads: Promise<GPXFile | null>[] = getFilesFromEmbeddingOptions(options).map(
|
||||
(url) => {
|
||||
return fetch(url)
|
||||
.then((response) => response.blob())
|
||||
.then((blob) => new File([blob], url.split('/').pop() ?? url))
|
||||
.then(loadFile);
|
||||
}
|
||||
);
|
||||
Promise.all(downloads).then((answers) => {
|
||||
const files = answers.filter((file) => file !== null) as GPXFile[];
|
||||
let ids: string[] = [];
|
||||
files.forEach((file, index) => {
|
||||
let id = `gpx-${index}-embed`;
|
||||
file._data.id = id;
|
||||
ids.push(id);
|
||||
});
|
||||
fileStateCollection.setEmbeddedFiles(files);
|
||||
$fileOrder = ids;
|
||||
selection.selectAll();
|
||||
});
|
||||
if (allowedEmbeddingBasemaps.includes(options.basemap)) {
|
||||
$currentBasemap = options.basemap;
|
||||
}
|
||||
@@ -90,6 +70,27 @@
|
||||
].filter((dataset) => dataset !== null)
|
||||
);
|
||||
elevationFill.set(options.elevation.fill == 'none' ? undefined : options.elevation.fill);
|
||||
|
||||
let downloads: Promise<GPXFile | null>[] = getFilesFromEmbeddingOptions(options).map(
|
||||
(url) => {
|
||||
return fetch(url)
|
||||
.then((response) => response.blob())
|
||||
.then((blob) => new File([blob], url.split('/').pop() ?? url))
|
||||
.then(loadFile);
|
||||
}
|
||||
);
|
||||
Promise.all(downloads).then((answers) => {
|
||||
const files = answers.filter((file) => file !== null) as GPXFile[];
|
||||
let ids: string[] = [];
|
||||
files.forEach((file, index) => {
|
||||
let id = `gpx-${index}-embed`;
|
||||
file._data.id = id;
|
||||
ids.push(id);
|
||||
});
|
||||
fileStateCollection.setEmbeddedFiles(files);
|
||||
$fileOrder = ids;
|
||||
selection.selectAll();
|
||||
});
|
||||
}
|
||||
|
||||
$effect(() => {
|
||||
|
||||
@@ -88,6 +88,14 @@
|
||||
<span class="font-mono">{key}</span>
|
||||
{#if key === 'website' || key.startsWith('website:') || key.endsWith(':website') || key === 'contact:facebook' || key === 'contact:instagram' || key === 'contact:twitter'}
|
||||
<a href={value} target="_blank" class="text-link underline">{value}</a>
|
||||
{:else if key === 'wikipedia' || key.startsWith('wikipedia:') || key.endsWith(':wikipedia')}
|
||||
<a
|
||||
href="https://wikipedia.org/wiki/{value}"
|
||||
target="_blank"
|
||||
class="text-link underline"
|
||||
>
|
||||
{value}
|
||||
</a>
|
||||
{:else if key === 'phone' || key === 'contact:phone'}
|
||||
<a href={'tel:' + value} class="text-link underline">{value}</a>
|
||||
{:else if key === 'email' || key === 'contact:email'}
|
||||
|
||||
@@ -24,7 +24,7 @@ liveQuery(() => db.overpassdata.toArray()).subscribe((pois) => {
|
||||
});
|
||||
|
||||
export class OverpassLayer {
|
||||
overpassUrl = 'https://overpass.private.coffee/api/interpreter';
|
||||
overpassUrl = 'https://overpass.gpx.studio/api/interpreter';
|
||||
minZoom = 12;
|
||||
queryZoom = 12;
|
||||
expirationTime = 7 * 24 * 3600 * 1000;
|
||||
|
||||
@@ -59,7 +59,10 @@ export class StyleManager {
|
||||
terrainSource.subscribe(() => this.updateTerrain());
|
||||
customLayers.subscribe(() => this.updateBasemap());
|
||||
distanceUnits.subscribe(() => {
|
||||
if (get(currentBasemap) === 'libertyTopo') this.updateBasemap();
|
||||
const map = get(this._map);
|
||||
if (map && (map.getLayer('contours_m') || map.getLayer('contours_ft'))) {
|
||||
this.updateBasemap();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ Met de kaartlagen knop kun je wisselen tussen verschillende basiskaarten, en kaa
|
||||
<DocsLayers />
|
||||
<span class="text-sm text-center mt-2">
|
||||
|
||||
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
|
||||
Beweeg over de kaart om de <a href="https://hiking.waymarkedtrails.org" target="_blank">Gemarkeerde sporen wandelen</a> overlay te tonen bovenop de topografische basiskaart.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@ Met dit gereedschap kun je hoogtegegevens toevoegen aan sporen en [interessante
|
||||
|
||||
<DocsNote>
|
||||
|
||||
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
||||
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
|
||||
Hoogtegegevens worden verstrekt door <a href="https://maptiler.com" target="_blank">Mapterhorn</a>.
|
||||
Je kunt meer leren over de oorsprong en nauwkeurigheid in de <a href="https://mapterhorn.com/attribution/" target="_blank">documentatie</a>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -75,7 +75,7 @@ export class BoundsManager {
|
||||
this._unsubscribes.push(
|
||||
map.subscribe((map_) => {
|
||||
if (!map_) return;
|
||||
map_.fitBounds(this._bounds, { padding: 80, linear: true, easing: () => 1 });
|
||||
map_.fitBounds(this._bounds, { padding: 80, linear: true, animate: false });
|
||||
this.reset();
|
||||
})
|
||||
);
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
},
|
||||
"elevation": {
|
||||
"button": "Hoogtegegevens opvragen",
|
||||
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from Mapterhorn.",
|
||||
"help": "Het opvragen van hoogtegegevens verwijdert de bestaande hoogtegegevens, indien aanwezig, en vervangt deze door gegevens van Mapterhorn.",
|
||||
"help_no_selection": "Selecteer een bestand om hoogte gegevens op te vragen."
|
||||
},
|
||||
"waypoint": {
|
||||
@@ -305,7 +305,7 @@
|
||||
"united_kingdom": "Verenigd Koninkrijk",
|
||||
"united_states": "Verenigde Staten",
|
||||
"libertyTopo": "Liberty Topo",
|
||||
"libertySatellite": "Liberty Satellite",
|
||||
"libertySatellite": "Liberty Satelliet",
|
||||
"osm": "OpenMapTiles OSM",
|
||||
"osmTopo": "OpenMapTiles OSM Topo",
|
||||
"esriSatellite": "Esri Satellite",
|
||||
|
||||
Reference in New Issue
Block a user