mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2025-08-31 23:53:25 +00:00
fix custom basemap tile URL update
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
import { map } from '$lib/stores';
|
import { map } from '$lib/stores';
|
||||||
import { onDestroy, onMount } from 'svelte';
|
import { onDestroy, onMount } from 'svelte';
|
||||||
import Sortable from 'sortablejs/Sortable';
|
import Sortable from 'sortablejs/Sortable';
|
||||||
|
import { customBasemapUpdate } from './utils';
|
||||||
|
|
||||||
const {
|
const {
|
||||||
customLayers,
|
customLayers,
|
||||||
@@ -130,6 +131,7 @@
|
|||||||
[layerId]: {
|
[layerId]: {
|
||||||
type: 'raster',
|
type: 'raster',
|
||||||
tiles: tileUrls,
|
tiles: tileUrls,
|
||||||
|
tileSize: 256,
|
||||||
maxzoom: maxZoom
|
maxzoom: maxZoom
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -145,6 +147,7 @@
|
|||||||
layer.value = {
|
layer.value = {
|
||||||
type: 'raster',
|
type: 'raster',
|
||||||
tiles: tileUrls,
|
tiles: tileUrls,
|
||||||
|
tileSize: 256,
|
||||||
maxzoom: maxZoom
|
maxzoom: maxZoom
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -173,7 +176,11 @@
|
|||||||
return $tree;
|
return $tree;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if ($currentBasemap === layerId) {
|
||||||
|
$customBasemapUpdate++;
|
||||||
|
} else {
|
||||||
$currentBasemap = layerId;
|
$currentBasemap = layerId;
|
||||||
|
}
|
||||||
|
|
||||||
if (!$customBasemapOrder.includes(layerId)) {
|
if (!$customBasemapOrder.includes(layerId)) {
|
||||||
$customBasemapOrder = [...$customBasemapOrder, layerId];
|
$customBasemapOrder = [...$customBasemapOrder, layerId];
|
||||||
|
@@ -11,7 +11,7 @@
|
|||||||
import { settings } from '$lib/db';
|
import { settings } from '$lib/db';
|
||||||
import { map } from '$lib/stores';
|
import { map } from '$lib/stores';
|
||||||
import { get, writable } from 'svelte/store';
|
import { get, writable } from 'svelte/store';
|
||||||
import { getLayers } from './utils';
|
import { customBasemapUpdate, getLayers } from './utils';
|
||||||
import { OverpassLayer } from './OverpassLayer';
|
import { OverpassLayer } from './OverpassLayer';
|
||||||
import OverpassPopup from './OverpassPopup.svelte';
|
import OverpassPopup from './OverpassPopup.svelte';
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$: if ($map && $currentBasemap) {
|
$: if ($map && ($currentBasemap || $customBasemapUpdate)) {
|
||||||
setStyle();
|
setStyle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
import type { LayerTreeType } from "$lib/assets/layers";
|
import type { LayerTreeType } from "$lib/assets/layers";
|
||||||
|
import { writable } from "svelte/store";
|
||||||
|
|
||||||
export function anySelectedLayer(node: LayerTreeType) {
|
export function anySelectedLayer(node: LayerTreeType) {
|
||||||
return Object.keys(node).find((id) => {
|
return Object.keys(node).find((id) => {
|
||||||
@@ -37,3 +38,5 @@ export function isSelected(node: LayerTreeType, id: string) {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const customBasemapUpdate = writable(0);
|
Reference in New Issue
Block a user