Update: Https, SVG-Icons & Koordinaten

Update: Https, SVG-Icons & Koordinaten
4.6 (91.43%) 7 Stimme(n)

Nach langer Zeit habe ich mich mal wieder an die Weiterentwicklung der Karte gemacht.

Hier die Haupt-Neuerungen:

Https

Die Karte wird nun ausschließlich per https ausgeliefert (mit einem kostenlosen Zertifikat von Let’s Encrypt) – sämtlicher Datenverkehr zwischen der Karten-Anwendung und dem Browser des Nutzers ist nun verschlüsselt. Als angenehmer Nebeneffekt wird dadurch in modernen Browsern die Nutzung der geolocation API möglich, mit der der eigene Standort abgefragt werden kann (Funktion „Wo bin ich?“ im Suchfeld).

Als unangenehmer Nebeneffekt der https-Umstellung haben sich die Karten-Daten einiger Nutzer verabschiedet. Sämtliche Daten (Marker, Linien, usw.) werden nämlich lokal in den Cookies des Nutzer-Browsers gehalten. Dort sind sie der Domain der Webseite zugeordnet (z.B. www.flopp.net), wobei hier zwischen http- und https-Webseiten unterschieden wird. Und genau dort liegt der Knackpunkt: durch die Umstellung auf https wurden die früheren http-Cookies ungültig und die entsprechenden Karten-Daten waren nicht mehr zugreifbar. Für entstandene Unannehmlichkeiten möchte ich mich entschuldigen.

Dynamische Marker-Icons

Statt wie bisher feste, statische Bilder zu nutzen, verwenden die Marker auf der Karte nun dynamisch erzeugte SVG-Icons, die den Namen des Markers anzeigen. Editiert man den Namen des Markers (Stift-Icon in der Seitenleiste), so ändert sich auch das Icon auf der Karte. Zukünftig wird hier auch eine manuelle Änderung der Marker-Farbe möglich sein.

Koordinaten-Parsing

Verbessertes Koordinaten-Parsing im Suchfeld. Ich habe die (anonymen) Such-Eingaben des letzten Jahres (~200.000 Suchen) ausführlich analysiert und die unterstützten Koordinatenformate entsprechend angepasst – die Erkennungsrate beträgt nun über 97%. D.h. wenn man so etwas Ähnliches wie Koordinaten in die Suche eingibt, wird dies mit ziemlicher Sicherheit auf die korrekten geographischen Koordinaten umgerechnet.

Insgesamt verhält sich die Suche wie folgt: als erstes wird versucht, die Eingabe auf die verschiedenen Koordinatenformate (Grad/Minuten/Sekunden, Grad/Minuten, Dezimal-Grad; jeweils mit und ohne Hemisphären-Auszeichnung N/S/E/W) zu matchen; passt ein Koordinatenformat und liegen die ermittelten Werte in den erlaubten Bereichen (Längengrad in [-180, 180], Breitengrad in [-90, 90]), wird die Karte auf diese Koordinaten zentriert. Wird keine Übereinstimmung gefunden, wird die Such-Eingabe an die Geocoding-Engine von OpenStreetMap weitergereicht. Hier wird versucht, die Eingabe als Ortsname zu interpretieren. Ist dies erfolgreich, wird die Karte auf den entsprechenden Ort zentriert. Schlägt dies auch fehl, wird eine Fehlermeldung angezeigt.

Das war’s auch schon.

Beste Grüße
Florian / Flopp