OpenStreetMap mit Marker als URL-Parameter
Linuchs
- sonstiges
Moin,
ich möchte zu einer OSM-Karte verlinken und den verlinkten Ort per Marker zeigen. Den Link habe ich herausgefunden:
https://www.openstreetmap.org/#map=16/53.1691/8.6293
aber es wird kein Marker gesetzt beim Kulturbahnhof HB-Vegesack.
Wie geht das?
Gruß, Linuchs
Vielleicht so ?
Vielleicht so ?
Du Schelm, verlinkst zur Konkurrenz
Vielleicht so ?
Du Schelm, verlinkst zur Konkurrenz
Kann ich doch nicht wissen. Aber Konkurrenz belebt ja das Geschäft angeblich. Und überhaupt stecken die sowieso alle unter einer Decke.
Grüß Wauzi.
Aloha ;)
Du Schelm, verlinkst zur Konkurrenz
Kann ich doch nicht wissen.
Du könntest, wenn du vor dem Schreiben Lesen, Nachdenken und Verstehen würdest. Dass die Frage sich auf OpenStreetMap bezog, war an etwa vier Stellen ganz klar ersichtlich.
Aber Konkurrenz belebt ja das Geschäft angeblich. Und überhaupt stecken die sowieso alle unter einer Decke.
Du faselst.
Grüße,
RIDER
Du Schelm, verlinkst zur Konkurrenz
Kann ich doch nicht wissen.
Du könntest, wenn du vor dem Schreiben Lesen, Nachdenken und Verstehen würdest. Dass die Frage sich auf OpenStreetMap bezog, war an etwa vier Stellen ganz klar ersichtlich.
Na und!? Ich hab gedacht die gehören zusammen.
Du faselst.
Kann schon sein. Aber eure Reaktion ist Arrogant und Überheblich!
Ist Armseelig!
Hallo pl,
Da du offenbar immer noch nicht weißt, was arrogant bedeutet, mach ich dir mal ein Beispiel:
Kann schon sein. Aber eure Reaktion ist Arrogant und Überheblich!
„Eure“ muss in dem Fall groß geschrieben werden, wie in „Eure Majestät“.
Bis demnächst
Matthias
@@Matthias Apsel
Kann schon sein. Aber eure Reaktion ist Arrogant und Überheblich!
„Eure“ muss in dem Fall groß geschrieben werden, wie in „Eure Majestät“.
Mich mit „Eure Majestät“ anzusprechen ist ja prinzipiell richtig.
Der Fehler war, mich überhaupt anzusprechen, wo ich gar nicht der Absender des Postings war, auf das Hotti geantwortet hat.
LLAP 🖖
Moin,
Und überhaupt stecken die sowieso alle unter einer Decke.
Soso:
OpenStreetMap (OSM) ist ein freies Projekt, das frei nutzbare Geodaten sammelt, strukturiert und für die Nutzung durch jedermann in einer Datenbank vorhält (Open Data). Diese Daten stehen unter einer freien Lizenz, der Open Database License.
Aus https://de.wikipedia.org/wiki/OpenStreetMap
Dagegen https://de.wikipedia.org/wiki/Google_Maps:
Google Maps ist ein Online-Kartendienst des US-amerikanischen Unternehmens Google LLC.
[…]
Das Karten- und Bildmaterial von Google Maps unterliegt entsprechend den Lizenzbestimmungen von Google dem Copyright und darf weder von Privatpersonen noch von Firmen verwendet werden, wenn die Lizenzbestimmungen von Google nicht exakt eingehalten werden.
Doch, das klingt doch sehr ähnlich 😉
Vielleicht das nächste Mal erst informieren und dann trollen.
Schönen Sonntag
Robert
Für mich ist der Unterschied nicht nur unbedeutend sondern gleich null!
Moin,
dass es sich dabei ausschließlich um deine Sicht handelt, ist hier natürlich direkt zu erkennen.
Viele Grüße
Robert
@@pl
Jemandem, der sich ganz bewusst gegen die Ausschnüffelung der Nutzer – also gegen Google – entscheidet, zu sagen „nimm Google Maps“, ist einfach nur dumm.
LLAP 🖖
Für mich ist der Unterschied unbedeutent!
Hallo Linuchs,
ich möchte zu einer OSM-Karte verlinken und den verlinkten Ort per Marker zeigen. Den Link habe ich herausgefunden:
https://www.openstreetmap.org/#map=16/53.1691/8.6293
aber es wird kein Marker gesetzt beim Kulturbahnhof HB-Vegesack.
Wie geht das?
Habe damit für ein in Kürze im Rahmen eines Vortrages verwendetes Projekt experimentiert. Man benötigt die so genannte Bounding-Box und den marker-Parameter, zumindest für IFrame-Einbindung mit Vorgabe von Breite, Höhe und Zoomfaktor.
Für die Berechnung gibt es Code in diversen Sprachen.
Habe das zum Einbinden als IFrame mit JavaScript so lösen können:
function getBBox(lat, lon, zoom, width, height)
{
var tile_size = 256;
var xtile, ytile, xtile_s, ytile_s, xtile_e, ytile_e, lon_s, lat_s, lon_e, lat_e, bbox;
xtile = Math.floor((lon + 180) / 360 * Math.pow(2, zoom));
ytile = Math.floor((1 - Math.log(Math.tan(lat * Math.PI / 180) + 1 / Math.cos(lat * Math.PI / 180)) / Math.PI) / 2 * Math.pow(2, zoom));
xtile_s = (xtile * tile_size - width / 2) / tile_size;
ytile_s = (ytile * tile_size - height / 2) / tile_size;
xtile_e = (xtile * tile_size + width / 2) / tile_size;
ytile_e = (ytile * tile_size + height / 2) / tile_size;
lon_s = xtile_s / Math.pow(2, zoom) * 360 - 180;
lat_s = (Math.atan(Math.sinh(Math.PI * (1 - 2 * ytile_s / Math.pow(2, zoom))))) * 180 / Math.PI;
lon_e = xtile_e / Math.pow(2, zoom) * 360 - 180;
lat_e = (Math.atan(Math.sinh(Math.PI * (1 - 2 * ytile_e / Math.pow(2, zoom))))) * 180 / Math.PI;
bbox = "" + lon_s + "," + lat_s + "," + lon_e + "," + lat_e;
return bbox;
}
Deine Koordinaten liefern mit document.write(getBBox(53.1691, 8.6293, 16, 1024, 768));
8.61328125,53.174765470134616,8.63525390625,53.16488691759471
und dem marker am Ziel:
https://www.openstreetmap.org/export/embed.html?bbox=8.61328125,53.174765470134616,8.63525390625,53.16488691759471&marker=53.1691,8.6293&layer=mapnik
Grüße, Thomas
Hallo Thomas,
das ist harte Kost für einen vermeintlich einfachen Link, der doch ohne Javascript auskommen sollte. Nur weil ich den Marker setzen möchte, muss ich die Eckpunkte der gesamten Karte in Bezug auf die Fenstergröße berechnen?
Habe testweise einfach mal den Parameter &marker=53.16909110,8.62925830
angehängt, damit wird er leider nicht gesetzt:
https://www.openstreetmap.org/?lat=53.16909110&lon=8.62925830&zoom=16&marker=53.16909110,8.62925830
Hallo Linuchs,
das ist harte Kost für einen vermeintlich einfachen Link, der doch ohne Javascript auskommen sollte. Nur weil ich den Marker setzen möchte, muss ich die Eckpunkte der gesamten Karte in Bezug auf die Fenstergröße berechnen?
Naja, der ermittelte Link kommt ohne JavaScript aus. Hier nur als Rechengrundlage verwendet. Das kann natürlich auch serverseitig mit PHP o. ä. umgesetzt werden.
Einen anderen Weg für den Marker habe ich nicht gefunden. Bin aber mit der (im August bei 36 °C ;) für mein Problem gefundenen Lösung zufrieden. Dabei geht es um dynamisch nachgeladene Koordinaten aus einem öffentlichen Datensatz.
Das gezeigte Beispielergebnis funktioniert offenbar auch bei unterschiedlichen Fenstergrößen. Ist dann nur die Frage, wie detailliert die Ausgabe ausfällt.
Grüße,
Thomas
Hallo Linuchs,
das ist harte Kost für einen vermeintlich einfachen Link, der doch ohne Javascript auskommen sollte. Nur weil ich den Marker setzen möchte, muss ich die Eckpunkte der gesamten Karte in Bezug auf die Fenstergröße berechnen?
Das könnte eine Variante für Dein Vorhaben als Direktlink sein:
https://www.openstreetmap.org/?mlat=53.1691&mlon=8.6293&zoom=16#map=16/53.1691/8.6293
Funktioniert aber wiederum nicht via IFrame, dort werden wie gezeigt die Parameter bbox und marker benötigt.
Grüße,
Thomas
Hallo Thomas,
ich habe mich mit Hilfe der Self-Kollegen sehr intensiv mit Kartendarstellung, Markern und Texten zu Markern beschäftigt unter Zuhilfenahme von PHP, Leaflet und Javascript, aber ohne iframe.
Da setze ich die Karten selbst und ergänze mit mehreren Markern.
Vielleicht interessiert dich diese Doku dazu.
Hier geht es noch einen Schritt weiter, abhängig vom Zoom werden mehrere Marker zusammengefasst: http://remso.eu/?zp=p509
Doch heute wollte ich nur einen stinknormalen kleinen Link.
Gruß, Linuchs
Aloha ;)
Doch heute wollte ich nur einen stinknormalen kleinen Link.
Du kannst ja bei Gelegenheit noch der endgültigen Problemlösung, die Thomas dir gegeben hat, den grünen Haken verpassen.
@Edit: und vielleicht auch der Lösung von JürgenB, die dir den entscheidenden Hinweis zu den Beschreibungstexten gibt 😉
Grüße,
RIDER
Irgendwo im Web bin ich auf eine Diskussion von 2010 gestoßen und auf dieses Beispiel, das setzt einen Marker an der richtigen Stelle:
http://www.openstreetmap.org/?mlat=46.947&mlon=7.444&zoom=18&layers=M
Zusatzwunsch:
Per URL-Parameter diesem Marker einen Text (die Adresse) anhängen.
Meine Anwendung holt Adressen mit Geo-Koordinaten aus einer Datenbank, deshalb müssen die Parameter variabel sein.
Hallo Linuchs,
Meine Anwendung holt Adressen mit Geo-Koordinaten aus einer Datenbank, deshalb müssen die Parameter variabel sein.
Mache ich ganz ähnlich mit Koordinaten aus einer Online-Ressource mit Zuweisung der mit den Parametern angereicherten URL bei iframe/@src
. Das entspricht der Ausgabe als HTML-Snippet bei OSM unter "Teilen", nur eben mit der genannten Funktion (bzw. einer XSLT-3.0-Variante davon) selbst berechnet.
Grüße,
Thomas
Hallo,
suchst du so etwas?
<https://www.j-berkemeier.de/osm_marker.html?lat=53.1691,lon=8.6293,info=Kulturbahnhof HB-Vegesack>
Gruß
Jürgen
Hallo Jürgen,
deine Links auf OpenStreetMap sind Spitze.
Ist das als Beispiel gemeint, wie es aussehen könnte oder darf ich deine Links einsetzen, also Traffic auf deinem Server verursachen?
Gruß, Linuchs
Hallo,
das ist nur ein Beispiel, kopier es einfach auf deinen Server.
Gruß
Jürgen