DE:Shortlink
Ein Shortlink ("Kurz-Url") ist ein Verweis auf eine OSM-Karte, der kürzer als ein gewöhnlicher Permalink ist. Er wird generiert indem man die Option Kurz-URL im Teilen Tab wählt.
Beispiel
- https://www.openstreetmap.org/#map=9/51.5110/0.0550 - eine Ansicht der Gebiets um London.
- http://osm.org/go/0EEQjE== - gleiche Ansicht, kürzerer Link.
- http://osm.org/go/0EEQjEEb - Ausschnitt eines Teils der obigen Ansicht. Beachte den gemeinsamen Teil der URL.
Wie funktioniert das Encoden
Die URL besteht aus http://osm.org/go/ gefolgt von einer binären quadtile Adresse, codiert in ASCII, mit Zeichen am Ende die den relativen Zoomlevel angeben.
Die binäre Adresse - zum Beispiel 0101 - wird wie folgt benutzt. Stelle Dir die niedrigste Zoom Kachel vor - sie enthält die gesamte Welt.
Das erste Bit ist 0, das besagt dass die linke Hälfte der Kachel benutzt wird. Das zweite Bit ist 1 und deutet (in Kombination mit dem ersten Bit) auf die untere linke Hälfte. Die nächsten zwei Bit funktionieren in gleicher weise und verfeinern die Stelle auf die Kachel die ein Sechzehntel der Welt-Kachel ist, ganz unten links. (Antarktis, von 45 Grad Süd bis zum Pol und von 90 bis 180 Grad West)
Diese binäre Adresse wird dann als ASCII codiert und einige Zeichen für den relativen Zoom am Ende hinzugefügt. Die Länge des Codes ergibt das Zoomlevel gerundet bis auf die nächsten 3 und der hinzugefügte Code gibt den Rest an.
Markierung =
Eine Marker-Pin für die Mitte der Karte kann dem Shortlink hinzugefügt werden, indem Sie "?m" anhängen oder indem Sie das Kontrollkästchen "Kartenmarker setzen" auf dem Tab "Teilen" aktivieren, oder wenn bereits eine andere Kartenebene oder eine andere Suchanfrage vorhanden ist können sie "&m" nutzen. Mit einem der obigen Beispiele wird http://osm.org/go/0EEQjE==?m die obige Ansicht mit einem Marker in der Mitte versehen, http://osm.org/go/0EEQjE==?layers=T&m gibt die obige Ansicht aber mit dem ausgewählten Transport-Layer und einem Marker in der Kartenmitte an.
Code zum Codieren und Decodieren
Sie können Ihre eigene codierung und -decodierung des Kurzlinks durchführen. Es ist wichtig zu wissen, dass dies der grundlegende Vorteil der Verwendung dieses URL-Formats gegenüber anderen URL-Verkürzungsdiensten ist, bei denen Sie von der Kontinuität dieses Dienstes abhängig sind. Mit diesen kurzen Verknüpfungen sind die Standortinformationen in der URL wirklich verschlüsselt, und Sie können sie algorithmisch ohne Datenbankabfrage und unabhängig von den Servern von OpenStreetMap decodieren. Im Gegensatz zu URL-Verkürzungsdiensten "verbrauchen" wir keine Buchstabenkombinationen. Wir müssen die URLs nie länger machen.
Quellcode zum codieren und decodieren der Kurzlinks findet sich hier:
- short_link.rb auf github - Dies ist der Ruby-Code der auf der Webseite genutzt wird.
- application.js beinhaltet eine makeShortCode() Funktion. Für das Javascript coding in einen Kurzlink auf der Webseite.
- salesianer.de - enthält den JavaScript code zusätzlich zum decodieren + eine Implementierung in Perl
- osm_shortlink.py - Ist eine Python Implementierung
- MapUtils.java - Hat eine Java Implementierung von Osmand
- osm_shortlink.erl - Erlang Implementierung der Codierung
Falls sie eine Implementierung in einer anderen Sprache haben dürfen Sie den Link hinzufügen.
Siehe auch
- Browsing#Sharing a link to the maps - allgemeine Hilfe zu allen verschiedenen Link Optionen.
- Layer URL parameter - Details des Parameters
- DE:Permalink - ähnliches Feature das längere URLs erzeugt