From 64ba2227a5d9a4d09aa00e5adbbddee9b08c9729 Mon Sep 17 00:00:00 2001 From: Heikki Vuorinen Date: Thu, 8 Jan 2026 12:31:14 +0200 Subject: [PATCH 1/2] enable park and ride map layers for turku and oulu --- app/configurations/config.oulu.js | 5 +++++ app/configurations/config.turku.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/app/configurations/config.oulu.js b/app/configurations/config.oulu.js index b0d2e85649..4e8c72767b 100644 --- a/app/configurations/config.oulu.js +++ b/app/configurations/config.oulu.js @@ -180,4 +180,9 @@ export default configMerger(walttiConfig, { showTicketPrice: true, ticketLinkOperatorCode: 50229, appName: 'oslapp', + + parkAndRide: { + showParkAndRide: true, + showParkAndRideForBikes: true, + }, }); diff --git a/app/configurations/config.turku.js b/app/configurations/config.turku.js index 948c54950a..5823837680 100644 --- a/app/configurations/config.turku.js +++ b/app/configurations/config.turku.js @@ -225,4 +225,9 @@ export default configMerger(walttiConfig, { FERRY: 0.6, FUNICULAR: 0.1, }, + + parkAndRide: { + showParkAndRide: true, + showParkAndRideForBikes: true, + }, }); From 5471a7ebfaaa3f3b52007474160ca483df9cc600 Mon Sep 17 00:00:00 2001 From: Heikki Vuorinen Date: Thu, 8 Jan 2026 15:43:18 +0200 Subject: [PATCH 2/2] fix park and ride map icon scaling --- app/component/map/tile-layer/ParkAndRide.js | 35 +++++++++++++++++++-- app/configurations/config.oulu.js | 1 + app/configurations/config.tampere.js | 1 + app/configurations/config.turku.js | 1 + 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/app/component/map/tile-layer/ParkAndRide.js b/app/component/map/tile-layer/ParkAndRide.js index 3c04a60bef..b88c9d1ea9 100644 --- a/app/component/map/tile-layer/ParkAndRide.js +++ b/app/component/map/tile-layer/ParkAndRide.js @@ -7,7 +7,33 @@ import { fetchWithLanguageAndSubscription } from '../../../util/fetchUtils'; import { ParkTypes } from '../../../constants'; import { getLayerBaseUrl } from '../../../util/mapLayerUtils'; -const showParking = 17; +const showParking = 15; +const iconSizeMap = { + 12: { + width: 12, + height: 12, + }, + 13: { + width: 12, + height: 12, + }, + 14: { + width: 18, + height: 18, + }, + 15: { + width: 24, + height: 24, + }, + 16: { + width: 28, + height: 28, + }, + 17: { + width: 30, + height: 30, + }, +}; export default class ParkAndRide { constructor(tile, config, relayEnvironment) { @@ -15,8 +41,11 @@ export default class ParkAndRide { this.config = config; this.relayEnvironment = relayEnvironment; const scaleratio = window.devicePixelRatio || 1; - this.width = 24 * scaleratio; - this.height = 24 * scaleratio; + const zoom = tile.coords.z; + // limit index between min and max values of lookup map + const zoomIndex = Math.min(Math.max(zoom, 12), 17); + this.width = iconSizeMap[zoomIndex].width * scaleratio; + this.height = iconSizeMap[zoomIndex].height * scaleratio; } fetchAndDrawParks(parkType, lang) { diff --git a/app/configurations/config.oulu.js b/app/configurations/config.oulu.js index 4e8c72767b..a9b80ab073 100644 --- a/app/configurations/config.oulu.js +++ b/app/configurations/config.oulu.js @@ -184,5 +184,6 @@ export default configMerger(walttiConfig, { parkAndRide: { showParkAndRide: true, showParkAndRideForBikes: true, + parkAndRideMinZoom: 14, }, }); diff --git a/app/configurations/config.tampere.js b/app/configurations/config.tampere.js index 96a0ac90f7..c414e6be33 100644 --- a/app/configurations/config.tampere.js +++ b/app/configurations/config.tampere.js @@ -349,5 +349,6 @@ export default configMerger(walttiConfig, { parkAndRide: { showParkAndRide: true, showParkAndRideForBikes: true, + parkAndRideMinZoom: 14, }, }); diff --git a/app/configurations/config.turku.js b/app/configurations/config.turku.js index 5823837680..4bf5562301 100644 --- a/app/configurations/config.turku.js +++ b/app/configurations/config.turku.js @@ -229,5 +229,6 @@ export default configMerger(walttiConfig, { parkAndRide: { showParkAndRide: true, showParkAndRideForBikes: true, + parkAndRideMinZoom: 14, }, });