Skip to content

Commit a4c3e1b

Browse files
Merge branch 'main-check-merge' of https://github.com/communitiesuk/oflog_svelte_component_library into main-check-merge
2 parents 5fdd2d6 + e848cf9 commit a4c3e1b

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

src/lib/components/data-vis/map/Map.svelte

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
import { page } from "$app/state";
2929
import { joinData } from "./dataJoin.js";
3030
31+
import type { LngLatBoundsLike } from "maplibre-gl";
32+
import { LngLatBounds } from "maplibre-gl";
33+
3134
let {
3235
data,
3336
cooperativeGestures = true,
@@ -59,6 +62,7 @@
5962
zoom = 5,
6063
minZoom,
6164
maxZoom,
65+
maxBounds,
6266
hash = false,
6367
updateHash = (u) => {
6468
replaceState(u, page.state);
@@ -96,12 +100,13 @@
96100
zoom?: number;
97101
minZoom?: number;
98102
maxZoom?: number;
103+
maxBounds: [number, number][];
99104
hash?: boolean;
100105
updateHash?: (URL) => void;
101106
useInitialHash?: boolean;
102107
mapHeight?: number;
103108
} = $props();
104-
$inspect(data);
109+
$inspect(maxBounds);
105110
let styleLookup = {
106111
"Carto-light":
107112
"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",
@@ -208,6 +213,17 @@
208213
let hoveredAreaData = $state();
209214
let currentMousePosition = $state();
210215
216+
function convertToLngLatBounds(coords: [number, number][]): LngLatBoundsLike {
217+
const bounds = new LngLatBounds(coords[0], coords[0]);
218+
219+
for (let i = 1; i < coords.length; i++) {
220+
bounds.extend(coords[i]);
221+
}
222+
223+
return bounds;
224+
}
225+
226+
let boundary = convertToLngLatBounds(maxBounds);
211227
function zoomToArea(e) {
212228
if (clickToZoom) {
213229
let coordArray =
@@ -259,6 +275,7 @@
259275
{zoom}
260276
{maxZoom}
261277
{minZoom}
278+
maxBounds={boundary}
262279
{hash}
263280
{updateHash}
264281
class="map"

src/wrappers/components/data-vis/map/MapWrapper.svelte

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -501,6 +501,16 @@
501501
value: [-2.5, 53],
502502
description: "The initial centre of the map, in [lng, lat] form",
503503
},
504+
{
505+
name: "maxBounds",
506+
isProp: true,
507+
category: "View",
508+
value: [
509+
[-23.899, 47.5943],
510+
[13.421, 59.8988],
511+
],
512+
description: "The initial centre of the map, in [lng, lat] form",
513+
},
504514
{
505515
name: "zoom",
506516
isProp: true,

0 commit comments

Comments
 (0)