From fe74481858142eb8da2d155e5b8ad379bb38fe74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn?= Date: Mon, 8 Apr 2024 05:56:44 +0000 Subject: [PATCH] Improved parsing of lat/lon parameters --- src/index.js | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 72acdc1..4e726f3 100644 --- a/src/index.js +++ b/src/index.js @@ -53,10 +53,28 @@ if ('URLSearchParams' in window) { "op4": config.map_4.overlay_opacity || 0.5 } } - const lonParam = parseFloat(searchParams.get("lon")); - const latParam = parseFloat(searchParams.get("lat")); + function parseQueryParam(param) { + if (param === null || param === undefined) { + return undefined; + } + + let normalizedParam = param; + if (param.includes(',')) { + normalizedParam = param.replace(',', '.'); + } + + const parsed = parseFloat(normalizedParam); + if (isNaN(parsed)) { + return undefined; + } + + return parsed; + } + + const lonParam = parseQueryParam(searchParams.get("lon")); + const latParam = parseQueryParam(searchParams.get("lat")); - if (!isNaN(lonParam) && !isNaN(latParam)) { + if (lonParam !== undefined && latParam !== undefined) { config.center = [lonParam, latParam]; } }