From 448f5ac0db5d24d3022ab75487c11b3e350442c1 Mon Sep 17 00:00:00 2001 From: Les Moffat Date: Fri, 4 Jul 2025 14:18:42 +0100 Subject: [PATCH 1/5] RD-1086 Tie max bounds in leaflet instacne to max bounds in MapTiler map. --- CHANGELOG.md | 3 +++ src/leaflet-maptilersdk.ts | 23 ++++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c85f4f8..742c3ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # MapTiler Client Changelog +## 4.1.1 +- Constrain maxbounds on Leaflet to those of MapLibre / Maptiler ensure layers are reconclied in terms of position properly. + ## 4.1.0 - Update @maptiler/sdk to the latest version diff --git a/src/leaflet-maptilersdk.ts b/src/leaflet-maptilersdk.ts index ca69cab..bb9fdb2 100644 --- a/src/leaflet-maptilersdk.ts +++ b/src/leaflet-maptilersdk.ts @@ -268,7 +268,28 @@ export const MaptilerLayer = L.Layer.extend({ _initMaptilerSDK: function () { const center = this._map.getCenter(); + const maxBounds = (() => { + if (this.options.maxBounds) { + return this.options.maxBounds; + } + + // Mpalibre is LngLat + return [ + [Number.NEGATIVE_INFINITY, -90], + [Number.POSITIVE_INFINITY, 90], + ]; + })(); + + // Leaflet expects LatLng + this._map.setMaxBounds( + L.latLngBounds(L.latLng(maxBounds[0][1], maxBounds[0][0]), L.latLng(maxBounds[1][1], maxBounds[1][0])), + ); + const options = { + maxBounds: [ + [Number.NEGATIVE_INFINITY, -90], + [Number.POSITIVE_INFINITY, 90], + ], ...this.options, projection: "mercator", container: this._container, @@ -284,7 +305,7 @@ export const MaptilerLayer = L.Layer.extend({ } this._maptilerMap = new MapSDK(options); - + console.log("maptilerMap", this._maptilerMap.maxBounds); this._maptilerMap.telemetry.registerModule(name, version); this._maptilerMap.once("load", () => { From 403e0146c3ceb39a8a2f5ebbbec2f80978b4497d Mon Sep 17 00:00:00 2001 From: Les Moffat Date: Fri, 4 Jul 2025 14:20:07 +0100 Subject: [PATCH 2/5] RD-1086 Remove console.log and pass correct param to constructor --- src/leaflet-maptilersdk.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/leaflet-maptilersdk.ts b/src/leaflet-maptilersdk.ts index bb9fdb2..9122271 100644 --- a/src/leaflet-maptilersdk.ts +++ b/src/leaflet-maptilersdk.ts @@ -286,10 +286,7 @@ export const MaptilerLayer = L.Layer.extend({ ); const options = { - maxBounds: [ - [Number.NEGATIVE_INFINITY, -90], - [Number.POSITIVE_INFINITY, 90], - ], + maxBounds, ...this.options, projection: "mercator", container: this._container, @@ -305,7 +302,7 @@ export const MaptilerLayer = L.Layer.extend({ } this._maptilerMap = new MapSDK(options); - console.log("maptilerMap", this._maptilerMap.maxBounds); + this._maptilerMap.telemetry.registerModule(name, version); this._maptilerMap.once("load", () => { From f2012a78173a36d62607eea892cf14f323179c94 Mon Sep 17 00:00:00 2001 From: Les Moffat Date: Fri, 4 Jul 2025 14:20:49 +0100 Subject: [PATCH 3/5] 4.1.1 --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f248fcf..11fe437 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@maptiler/leaflet-maptilersdk", - "version": "4.1.0", + "version": "4.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@maptiler/leaflet-maptilersdk", - "version": "4.1.0", + "version": "4.1.1", "dependencies": { "@maptiler/sdk": "^3.2.3", "@types/leaflet": "^1.9.16", diff --git a/package.json b/package.json index 57c1aeb..63222df 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@maptiler/leaflet-maptilersdk", - "version": "4.1.0", + "version": "4.1.1", "description": "Vector tiles basemap plugin for Leaflet - multi-lingual basemaps using MapTiler SDK", "module": "dist/leaflet-maptilersdk.js", "type": "module", From ecdf4bd52afa7201370ddbf4e1171f5c35f6c51a Mon Sep 17 00:00:00 2001 From: Les Moffat Date: Fri, 4 Jul 2025 14:22:03 +0100 Subject: [PATCH 4/5] RD-1086 Add GH issue to changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 742c3ec..7381e70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # MapTiler Client Changelog ## 4.1.1 -- Constrain maxbounds on Leaflet to those of MapLibre / Maptiler ensure layers are reconclied in terms of position properly. +- Constrain maxbounds on Leaflet to those of MapLibre / Maptiler ensure layers are reconclied in terms of position properly. Fixes [30](https://github.com/maptiler/leaflet-maptilersdk/issues/30) ## 4.1.0 - Update @maptiler/sdk to the latest version From ad843ecf58166da8034b43ef773b849e29be131a Mon Sep 17 00:00:00 2001 From: Les Moffat Date: Fri, 4 Jul 2025 15:34:46 +0100 Subject: [PATCH 5/5] RD-1086 Fix typo --- src/leaflet-maptilersdk.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/leaflet-maptilersdk.ts b/src/leaflet-maptilersdk.ts index 9122271..8e15e4f 100644 --- a/src/leaflet-maptilersdk.ts +++ b/src/leaflet-maptilersdk.ts @@ -273,7 +273,7 @@ export const MaptilerLayer = L.Layer.extend({ return this.options.maxBounds; } - // Mpalibre is LngLat + // Maplibre is LngLat return [ [Number.NEGATIVE_INFINITY, -90], [Number.POSITIVE_INFINITY, 90],