• Gelöst Rob

    (@robotter)


    Hallo, ich bin völlig frisch und neu in Bezug auf WordPress (habe meine Webseiten bisher immer selbst programmiert). Vor meiner Frage habe ich viel gesucht und ausprobiert, komme aber nun nicht weiter und hoffe, Ihr könnt mir einen Tipp geben:

    Ich suche einen einfach zu bedienenden Google Maps Block, mit dem ich einfach einen Marker setzen kann mit meiner aktuellen Position. Ich möchte keine Adresse eingeben müssen (die ich vermutlich nicht kenne), sondern einfach einen Button haben, der meinen aktuellen Standort einträgt. Hintergrund ist eine Reise durch verschiedene Gegenden Thailands im nächsten Jahr, und ich möchte für die daheim Gebliebenen ein kleines privates Reise-Blog machen. Während ich unterwegs bin, möchte ich auf dem Handy schnell mal einen Beitrag mit ein paar Fotos posten und einer Karte „Das ist genau hier“.

    Ich habe mir schon ein knappes Dutzend Maps-Plugins angeschaut (in den kostenlosen Varianten) und bin derzeit bei aBlocks hängengeblieben. Das ist zwar einigermaßen simpel genug, aber auch hier muss ich eine Adresse eingeben oder die Koordinaten kennen. Außerdem ist der Editor nicht responsive und kommt mit dem kleinen Display des Handy nicht klar.

    Ich habe noch kein einziges Plugin gefunden, welches die aktuelle Position abfragt und damit das richtige Gebiet in der Karte vorauswählen könnte (dann bräuchte es auch eigentlich gar keinen Button „Aktuelle Position“ mehr, weil diese dann im Zentrum der Karte läge). Meine Frage daher: Habe ich nur einfach noch nicht das richtige Plugin gefunden oder gibt es diese Funktion aus bestimmten Gründen einfach nicht?

    Vielen Dank für Eure Hilfe!

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)
  • Mein Plugin Extensions for Leaflet Map kann das von Haus aus nicht, aber ich habe ein Beispiel, wie du das Leaflet Plugin Leaflet.Locate einbinden kannst. Es bedarf allerdings weiterer Programmierung die Position zu speichern und zu teilen. Ob das überhaupt möglich ist, kann ich dir leider nicht sagen, da müsste ich mich mehr Zeit investieren.

    Thread-Starter Rob

    (@robotter)

    Vielen Dank, das ist sehr interessant. Ad hoc verwendet, hilft es natürlich nicht, weil die Position des Lesers gelesen und die Karte dahin positioniert wird. Vermutlich wird es aber möglich sein, die Locate-Funktion bereits beim Erstellen des Beitrags zu verwenden und dann die ermittelten Koordinaten fest zu setzen – perfekt wäre also ein Shortcode der Art [leaflet-marker mylocation]. Ich habe nur nicht die Zeit, mich soweit einzuarbeiten um das umzusetzen. Daher suche ich erstmal weiter, aber Leaflet werde ich definitiv (auch für andere Projekte) im Auge behalten!

    Nachdem ich den Ansatz im Netz gefunden hatte, war es nur ein wenig Fleißarbeit: https://leafext.de/extra/locateme/

    Ich müsste nur noch den Code dokumentieren, damit Du ihn übernehmen kannst, aber vielleicht hilft das ja schon.

    Thread-Starter Rob

    (@robotter)

    Ich danke Dir, aber so ganz verstanden habe ich noch nicht: Ich habe „Extensions for Leaflet Map 4.3.5“ installiert (vom Alter her scheint es aber Deine Anpassung noch nicht zu enthalten) und den Code „[leaflet-marker lat=… lng=…]My position[/leaflet-marker]“ exakt so im Beitrag eingegeben – mit den drei Punkten. Veröffentliche ich dann den Beitrag, wird der Code aber ignoriert, vermutlich weil ich Dein Update noch nicht habe.

    Aber zum Verständnis der Verwendung: Ist es so, dass Dein Beispiel auf dem veröffentlichten Beitrag funktioniert und noch nicht während des Erstellens des Beitrags?

    Damit das Plugin nicht zu groß wird und manches auch nicht viele interessiert, habe ich für einige Anwendungen nur Anleitungen geschrieben, wie man sie realisieren könnte. Die Einbindung von Leaflet.Locate ist ein Beispiel dafür. Die oben genannte Seite ist nun eine spezielle Anwendung. Öffne sie auf einem GPS-fähigen Gerät, klicke erst den scharzen Pfeil auf der Karte. Warte bis Dein Standort gefunden wurde. Erst dann werden Längen- und Breitengrad für den Shortcode generiert. Dann klicke den orangen Pfeil. Kopiere den Shortcode für den Marker und trage diesen in den Beitrag mit der Karte ein, die Du gerade erstellst.

    Leider muss man den Weg über das Frontend gehen, im Backend (Editor) funktioniert das nicht. Und vielleicht sollte ich auch den Shortcode für leaflet-map mit generieren.

    Der endgültige Shortcode sollte so ähnlich aussehen, zoom solltest Du anpassen, lat und lng werden generiert:

    [leaflet-map zoom=8]
    [leaflet-marker lat=12.34 lng=180.76]My position[/leaflet-marker]

    „My position“ kannst Du natürlich auch Deinen Wünschen anpassen. Der Text erscheint dann als Popup beim Klick auf den Marker.

    Thread-Starter Rob

    (@robotter)

    Ok, jetzt ist es klar geworden, danke! Bei meiner konkreten Herausforderung hilft mir das zwar nicht (da brauche ich es ja direkt im Editor), kann es aber sicher an anderer Stelle mal gut verwenden.

    Thread-Starter Rob

    (@robotter)

    Inzwischen habe ich weitere Map-Plugins ausprobiert und bin fündig geworden: Das Plugin „GEO my WP“ bringt in der Free Version unter anderem das Modul „Posts Locator“ mit, welches sich am unteren Rand des Beitrags-Editors einträgt (ich weiß nicht, wie man den Bereich nennt). Neben den üblichen Geo-Funktionen für direkte Koordinateneingabe und Adresssuche gibt es eben auch einen Button, mit dem die aktuelle Position ermittelt und gespeichert werden kann. Nicht nur werden damit die Koordinaten bekannt, sondern man kann mit einem Short Code eine Karte anzeigen, die auf diese Koordinaten zentriert. Somit lässt sich pro Beitrag eine Location speichern, die sich nicht nur als Karte anzeigen lässt; es wird in der Beitragsliste eine Geo-Suchfunktion hinzugefügt, so dass man Beiträge mit bestimmten Ortsangaben filtern und suchen kann. Letzteres brauch ich zwar nicht, ist aber schon irgendwie cool.

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)