mirror of
https://github.com/gpxstudio/gpx.studio.git
synced 2025-09-03 17:12:31 +00:00
try to detect 512px custom tiles
This commit is contained in:
@@ -108,6 +108,7 @@
|
|||||||
if (typeof maxZoom === 'string') {
|
if (typeof maxZoom === 'string') {
|
||||||
maxZoom = parseInt(maxZoom);
|
maxZoom = parseInt(maxZoom);
|
||||||
}
|
}
|
||||||
|
let is512 = tileUrls.some((url) => url.includes('512'));
|
||||||
|
|
||||||
let layerId = selectedLayerId ?? getLayerId();
|
let layerId = selectedLayerId ?? getLayerId();
|
||||||
let layer: CustomLayer = {
|
let layer: CustomLayer = {
|
||||||
@@ -129,7 +130,7 @@
|
|||||||
[layerId]: {
|
[layerId]: {
|
||||||
type: 'raster',
|
type: 'raster',
|
||||||
tiles: layer.tileUrls,
|
tiles: layer.tileUrls,
|
||||||
tileSize: 256,
|
tileSize: is512 ? 512 : 256,
|
||||||
maxzoom: maxZoom
|
maxzoom: maxZoom
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -229,10 +230,7 @@
|
|||||||
layerId
|
layerId
|
||||||
);
|
);
|
||||||
if (Object.keys($selectedBasemapTree.basemaps['custom']).length === 0) {
|
if (Object.keys($selectedBasemapTree.basemaps['custom']).length === 0) {
|
||||||
$selectedBasemapTree.basemaps = tryDeleteLayer(
|
$selectedBasemapTree.basemaps = tryDeleteLayer($selectedBasemapTree.basemaps, 'custom');
|
||||||
$selectedBasemapTree.basemaps,
|
|
||||||
'custom'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
$customBasemapOrder = $customBasemapOrder.filter((id) => id !== layerId);
|
$customBasemapOrder = $customBasemapOrder.filter((id) => id !== layerId);
|
||||||
} else {
|
} else {
|
||||||
@@ -249,10 +247,7 @@
|
|||||||
layerId
|
layerId
|
||||||
);
|
);
|
||||||
if (Object.keys($selectedOverlayTree.overlays['custom']).length === 0) {
|
if (Object.keys($selectedOverlayTree.overlays['custom']).length === 0) {
|
||||||
$selectedOverlayTree.overlays = tryDeleteLayer(
|
$selectedOverlayTree.overlays = tryDeleteLayer($selectedOverlayTree.overlays, 'custom');
|
||||||
$selectedOverlayTree.overlays,
|
|
||||||
'custom'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
$customOverlayOrder = $customOverlayOrder.filter((id) => id !== layerId);
|
$customOverlayOrder = $customOverlayOrder.filter((id) => id !== layerId);
|
||||||
|
|
||||||
@@ -372,8 +367,7 @@
|
|||||||
/>
|
/>
|
||||||
{#if tileUrls.length > 1}
|
{#if tileUrls.length > 1}
|
||||||
<Button
|
<Button
|
||||||
on:click={() =>
|
on:click={() => (tileUrls = tileUrls.filter((_, index) => index !== i))}
|
||||||
(tileUrls = tileUrls.filter((_, index) => index !== i))}
|
|
||||||
variant="outline"
|
variant="outline"
|
||||||
class="p-1 h-8"
|
class="p-1 h-8"
|
||||||
>
|
>
|
||||||
@@ -393,14 +387,7 @@
|
|||||||
{/each}
|
{/each}
|
||||||
{#if resourceType === 'raster'}
|
{#if resourceType === 'raster'}
|
||||||
<Label for="maxZoom">{$_('layers.custom_layers.max_zoom')}</Label>
|
<Label for="maxZoom">{$_('layers.custom_layers.max_zoom')}</Label>
|
||||||
<Input
|
<Input type="number" bind:value={maxZoom} id="maxZoom" min={0} max={22} class="h-8" />
|
||||||
type="number"
|
|
||||||
bind:value={maxZoom}
|
|
||||||
id="maxZoom"
|
|
||||||
min={0}
|
|
||||||
max={22}
|
|
||||||
class="h-8"
|
|
||||||
/>
|
|
||||||
{/if}
|
{/if}
|
||||||
<Label>{$_('layers.custom_layers.layer_type')}</Label>
|
<Label>{$_('layers.custom_layers.layer_type')}</Label>
|
||||||
<RadioGroup.Root bind:value={layerType} class="flex flex-row">
|
<RadioGroup.Root bind:value={layerType} class="flex flex-row">
|
||||||
|
Reference in New Issue
Block a user