mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2026-06-13 02:26:32 +00:00
Compare commits
25 Commits
0b4aa6e90d
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 4537ea4730 | |||
| 7f8751fa38 | |||
| 1954bbd764 | |||
| befcba00b4 | |||
| 9d2da80893 | |||
| 043d368c74 | |||
| bb11d3375b | |||
| bfe5961e27 | |||
| 17559913fd | |||
| 55590d68a6 | |||
| 8e9f16c460 | |||
| c60b64f24f | |||
| fdb6fe4e52 | |||
| 0bf168e67e | |||
| d762a45eb9 | |||
| 548ab9a459 | |||
| 315c1f6a61 | |||
| 98257bee12 | |||
| 5561b7d9fe | |||
| 320887206c | |||
| 04a1bf6a55 | |||
| 0989371874 | |||
| 3dcd6e52d3 | |||
| 0f06d0d461 | |||
| db33310a10 |
@@ -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'}
|
||||
|
||||
@@ -59,7 +59,7 @@ title: 地图控件
|
||||
<DocsLayers />
|
||||
<span class="text-sm text-center mt-2">
|
||||
|
||||
鼠标悬停在地图上,可在地形图底图上方显示 <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails 徒步路线</a> 叠加层。
|
||||
Hover over the map to show the <a href="https://hiking.waymarkedtrails.org" target="_blank">Waymarked Trails hiking</a> overlay on top of the topographic basemap.
|
||||
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@ title: 请求海拔数据
|
||||
|
||||
<DocsNote>
|
||||
|
||||
海拔数据来自 <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a> ,
|
||||
查阅 <a href="https://mapterhorn.com/attribution/" target="_blank">官方文档</a> 以了解海拔数据来源及其准确度。
|
||||
Elevation data is provided by <a href="https://mapterhorn.com" target="_blank">Mapterhorn</a>.
|
||||
You can learn more about its origin and accuracy in the <a href="https://mapterhorn.com/attribution/" target="_blank">documentation</a>.
|
||||
|
||||
</DocsNote>
|
||||
|
||||
@@ -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": "请求海拔数据",
|
||||
"help": "请求成功后将移除原有的海拔数据,并使用 Mapterhorn 的海拔数据替换原有数据。",
|
||||
"help": "Requesting elevation data will erase the existing elevation data, if any, and replace it with data from Mapterhorn.",
|
||||
"help_no_selection": "选择要请求海拔数据的文件。"
|
||||
},
|
||||
"waypoint": {
|
||||
|
||||
Reference in New Issue
Block a user