diff --git a/src/components/OpenLayersMap.tsx b/src/components/OpenLayersMap.tsx index 91b7741..75e97da 100644 --- a/src/components/OpenLayersMap.tsx +++ b/src/components/OpenLayersMap.tsx @@ -211,7 +211,7 @@ export function OpenLayersMap({ resolutions: getBaselayerResolutions( b.extent[2] - b.extent[0], 256, - 9 + b.maxZoom ), origin: [b.extent[0], b.extent[3]], }), diff --git a/src/configs/mapSettings.ts b/src/configs/mapSettings.ts index d78190a..2e857b7 100644 --- a/src/configs/mapSettings.ts +++ b/src/configs/mapSettings.ts @@ -31,6 +31,20 @@ export const EXTERNAL_BASELAYERS: ExternalBaselayer[] = [ 'EPSG:4326', 'EPSG:3857' ), + maxZoom: 8, + disabledState: (isFlipped: boolean) => !isFlipped, + }, + { + id: 'external-unwise-neo6', + name: 'Legacy Survey | unWISE neo6', + projection: 'EPSG:3857', + url: 'https://s3.us-west-2.amazonaws.com/unwise-neo6.legacysurvey.org/{z}/{x}/{y}.jpg', + extent: transformExtent( + [-180, -MERCATOR_MAX_LAT, 180, MERCATOR_MAX_LAT], + 'EPSG:4326', + 'EPSG:3857' + ), + maxZoom: 10, disabledState: (isFlipped: boolean) => !isFlipped, }, ]; diff --git a/src/types/maps.ts b/src/types/maps.ts index fce17a4..f9e5e3c 100644 --- a/src/types/maps.ts +++ b/src/types/maps.ts @@ -113,6 +113,7 @@ export type ExternalBaselayer = { projection: string; url: string | TileUrlFunction; extent: number[]; + maxZoom: number; disabledState: (state: boolean) => boolean; }; diff --git a/src/utils/layerUtils.ts b/src/utils/layerUtils.ts index 9fdd745..d5e0b0c 100644 --- a/src/utils/layerUtils.ts +++ b/src/utils/layerUtils.ts @@ -37,7 +37,7 @@ export function getBaselayerResolutions( ) { const resolutionZ0 = worldWidth / tileSize; const resolutions = []; - for (let i = 0; i < maxZoom; i++) { + for (let i = 0; i <= maxZoom; i++) { resolutions.push(resolutionZ0 / 2 ** i); } return resolutions;