x

Längen- und Breitengrade der aktuellen Position anzeigen


  1. Längen- und Breitengrade der aktuellen Position anzeigen · Ragna=the=Bloodedge (Gast) · 11.05.2010 22:03 · [flux]

    Hallo,

    ich würde bei Nutzung der Karte auf openstreetmap.org mir gerne meine aktuelle Position als Koordinate in Longitude/Latitude anzeigen lassen, wenn ich z.B. die Maus über einem bestimmten Punkt platziere. Habe trotz intensiver Suche im UI leider keine Möglichkeit gefunden, mir die Koordinaten anzeigen zu lassen. Auf openstreetmap.de wird die aktuelle Position des Mauszeigers stets angezeigt (siehe Bild), allerdings fehlt dort leider die Suchfunktion...




    Gibt es eine Karte, wo ich beide "Vorzüge" miteinander kombiniert vorfinden kann, also sowohl mit Suchmaske als auch mit Anzeige der aktuellen Koordinaten?

    Viele Grüße,
    Ragna

    edit: Bild war rechts leider abgeschnitten, habs angepasst


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · !i! (Gast) · 12.05.2010 07:05 · [flux]

      Ja gibt es: http://nominatim.openstreetmap.org das ist die direkte Anbindung zur Suchfunktion die Nominatim heißt.

      Ist aber nichts schlimmes, die Oberflächenbibliothek OpenLayers erlaubt eine einfache Konfiguration was angezeigt werden soll.


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · Ragna=the=Bloodedge (Gast) · 12.05.2010 07:51 · [flux]

      Vielen Dank.

      Leider funktioniert, im Gegensatz zu openstreetmap.org, die Suche nach Koordinaten nicht. Wenn ich sowas haben wollte, müsste ich mir mit der OpenLayers Bibliothek sowas also selber zusammenbauen?

      Viele Grüße,
      Ragna


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · E-Malte (Gast) · 12.05.2010 09:19 · [flux]

      Du könntest mit z.B. Greasemonkey die Startseite von openstreetmap.org (oder ähnliches) modifizieren.
      Der JavaScript-Befehel

      map.addControl(new OpenLayers. Control. MousePosition());

      sollte die Mausposition anzeigen lassen. Ich weiß nur nich, ob die Openstreetmap-Hauptseite tatsächlich die Variable "map" hat, das müsstest du dann nachsehen...


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · Ragna=the=Bloodedge (Gast) · 13.05.2010 11:18 · [flux]

      Ok, danke. 🙂


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · Zartbitter (Gast) · 14.05.2010 08:12 · [flux]

      map.addControl(new OpenLayers. Control. MousePosition());

      Hmm... habe das als GM-Script angelegt. Beim Seitenaufruf kommt in der Fehlerconsole "map is not defined". Aber soweit ich das im Quellcode der Seite sehe, heißt die Variable map. Hat jemand einen Tipp, warum der Zugriff auf die Varible nicht klappt?


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · rurseekatze (Gast) · 14.05.2010 09:34 · [flux]

      Kannst du mir mal deinen Quellcode geben?

      Ich hatte auch schonmal so ein Problem, weiß aber gerade nicht mehr so genau, woran das lag. Wenn ich den Quellcode sehe, fällt es mir bestimmt wieder ein... 😉


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · E-Malte (Gast) · 14.05.2010 12:02 · [flux]

      Ich vermute GM macht das direkt nach dem onload der Hauptseite.
      Da das map-script extern und in einer Funktion ist, probier mal die Zeile auszuführen, nachdem die Funktion createMap() in der Datei /javascripts/map.js (oder die Funktion mapInit() in der Hauptseite) ausgeführt wurde.


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · aighes (Gast) · 14.05.2010 12:07 · [flux]

      HAllo, ich kenn mich leider mit GM nicht sonderlich aus...würde mich aber über ein fertiges script freuen...also wenn alles funktioniert bitte hier veröffentlichen!


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · Zartbitter (Gast) · 14.05.2010 15:43 · [flux]

      Soweit ich das sehe, kann man nicht steuern, wann genau das GM-Script laufen soll. Kann also sein, dass es läuft, bevor die andern js-Sachen durch sind. Somit ist die Variable map noch undefiniert.

      Mein Script habe ich aus GM heraus angelegt. Einfach den Menüpunkt "Extras/GreaseMonkey/Neues Benutzerskript" wählen, die paar Felder ausfüllen und den obigen Code reinkopieren (Leerzeichen noch rauswerfen!).

      Ganz einfach, geht aber leider nicht :-(


    • Re: Längen- und Breitengrade der aktuellen Position anzeigen · E-Malte (Gast) · 14.05.2010 22:14 · [flux]

      Ich hab mich mal ein bisschen mit GM beschäftigt. Er moduliert ausschließlich das DOM. Das heißt man muss ein <script>-Tag einfügen, mit entsprechender Zeile:

      var html_doc = document.getElementsByTagName('head').item(0);
      var js = document.createElement('script');
      js.setAttribute('type', 'text/javascript');
      js.appendChild(document.createTextNode('map.addControl(new OpenLayers.Control.MousePosition());'));
      html_doc.appendChild(js);

      Fehler zeigt er keine mehr an, aber es funktioniert bei mir trotzdem nur in einer lokalen (vereinfachten) Kopie der Karte, ohne Suchfeld.

      Wahrscheinlich ist es am einfachsten von der kompletten Seite einen Dump zu ziehen, und die eine Zeile in die betreffende Datei einzufügen... 😉