Skip to content

Commit

Permalink
Merge pull request #66 from kreis-viersen/params
Browse files Browse the repository at this point in the history
Implement lat/lon URL parameters
  • Loading branch information
pathmapper committed Apr 4, 2024
2 parents 11946b6 + c27424a commit 00ee2ea
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 17 deletions.
20 changes: 7 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,6 @@ Wenn Sie eine Verwaltung aus NRW sind, binden wir auch Ihre WMS Dienste ggf. ger
https://kreis-viersen.github.io/quattromap/<br>
Kontaktieren Sie uns dazu gerne per E-Mail unter [open@kreis-viersen.de]( mailto:open@kreis-viersen.de?subject=QuattroMap ).

# Inhaltsverzeichnis

- [QuattroMap](#quattromap)
- [Messwerkzeuge](#messwerkzeuge)
- [Aktuell verfügbare Dienste](#aktuell-verfügbare-dienste)
- [Layer](#layer)
- [Overlays](#overlays)
- [Permalink](#permalink)
- [Konfiguration](#konfiguration)
- [Testen von Pull Requests](#testen-von-pull-requests)
- [Develop](#develop)
- [Search](#search)

# QuattroMap

[![GitHub CI status](https://github.com/kreis-viersen/quattromap/workflows/ci/badge.svg)][github-action-ci]
Expand Down Expand Up @@ -142,6 +129,13 @@ Zusätzlich zu den unter [Layer](https://github.com/kreis-viersen/quattromap#lay

Die URL enthält die derzeitige Einstellung der QuattroMap (Permalink). Dazu gehört die Anzahl und Einstellung der Kartenfenster inkl. Layerdefinitionen, das Kartenzentrum, die Zoomstufe und die Farbe des Gitterkreuzes (Zentrumsmarkierung). Über den Permalink können so vordefinierte Einstellungen für bestimmte Anwendungszwecke als Lesezeichen gespeichert oder weitergegeben werden. Über die Schaltfläche *Permalink in die Zwischenablage kopieren* am linken Bildschirmrand wird die derzeitige URL in die Zwischenablage kopiert und kann dann bspw. per Mail geteilt werden.

## URL-Parameter lat / lon

Es können mit den URL-Parametern `lat` / `lon` geographische Koordinaten (EPSG:4326) übergeben werden, welche dann beim Aufruf der Karte für den Kartenmittelpunkt verwendet werden.

Beispiel:
https://kreis-viersen.github.io/quattromap?lat=51.34119&lon=6.35583

## Konfiguration

Über die [config.json](./src/config.json) können einige Standardeinstellungen der QuattroMap vorgenommen werden.
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "quattromap",
"description": "Compare up to 4 maps at once",
"version": "1.13.0",
"version": "1.14.0",
"license": "MIT",
"scripts": {
"start": "webpack serve",
Expand Down
10 changes: 9 additions & 1 deletion src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ if (document.fullscreenEnabled) {
console.log('Fullscreen: NOT supported!');
}

// settings for layer and overlays
// settings for layer and overlays and position from URL params
var settings = {};
if ('URLSearchParams' in window) {
var searchParams = new URLSearchParams(window.location.search);
Expand All @@ -53,6 +53,12 @@ if ('URLSearchParams' in window) {
"op4": config.map_4.overlay_opacity || 0.5
}
}
const lonParam = parseFloat(searchParams.get("lon"));
const latParam = parseFloat(searchParams.get("lat"));

if (!isNaN(lonParam) && !isNaN(latParam)) {
config.center = [lonParam, latParam];
}
}

// status of compact attributions
Expand All @@ -73,6 +79,8 @@ function updateURLSearchParams() {
var searchParams = new URLSearchParams(window.location.search);
searchParams.set("settings", settingString);
var locationHash = window.location.hash
searchParams.delete("lon")
searchParams.delete("lat")
window.history.pushState('', '', "?" + searchParams.toString() + locationHash);
currentURL = window.location.href;
}
Expand Down

0 comments on commit 00ee2ea

Please sign in to comment.