• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

google maps und die koordinaten der Mausposition

Mitglied seit
08.03.2004
Beiträge
1.574
Reaktionen
0
Als Endergebnis möchte ich auf meiner map durch clicken einen Marker an der Stelle der Maus erzeugen und die Koordinaten dieser Position für weitere Verwendung speichern.
Wie weit ich mich der Lösung an diesem Nachmittag genähert habe, ist nicht sehr glamorös...
Im Prinzip ist es mir überhaupt nicht klar, wie man sowas allgemein mit JavaScript machen kann.
Von Java her wöllte ich eigentlich so vorgehen, dass ich das Event nach einem Mausobjekt fragen würde und dieses dann hoffentlich nach seiner Position auf der Map. Tollerweise geht schon der allererste Teil davon überhaupt nicht.

so hier sieht das Grundgerüst aus, wenn ich click-events in der gmap-API auffangen möchte:
Code:
GEvent.addListener(map, "click", function() {
   //var mouse_latitude = ??; 
   //var mouse_longitude = ??;
});

Wie komme ich denn nun an die Koordinaten ran? Hat das einer von euch shconmal gemacht?
Ich weiß nichtmal wo ich jetzt noch suchen kann. Hab nach Beispielen gesucht, aber einfach gibt es da nicht. Immer nur ewig lange .js-Dateien, mit unformatierten oder komplett unleserlich gemachtem Code.
Wenn ich mir jetzt anlese wie man allgemein in JavaScript Informationen über die aktuelle Mausposition ermittelt, fürchte ich, dass mich das auch nicht doll weiterbringt, da ich diese dann ja immernoch irgendwie zu Koordinaten umwandeln muss. Deshalb denke ich schon, dass man da die Map selbst fragen muss.



EDITH:

ok, inzwischen habe ich nen codeschnipsel gefunden der funktioniert.
Code:
function loadMap(){
var map = new GMap2(document.getElementById("map1"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(10.545845031738281,52.16687776394415), 1);
GEvent.addListener(map, "click", function(overlay, point){
map.clearOverlays();
if (point) {
  map.addOverlay(new GMarker(point));
  map.panTo(point);
  msg = "Latitude: "+point.lat()+"<br />"+"Longitude: "+point.lng();
  document.getElementById("mypoint").innerHTML = msg;
}
});

warum funktioniert das? woher kriegt diese callback funktion die parameter? Man muss doch wissen, welche Parameter man da angibt, wenn diese Funktion vom Event oder irgendeines Event-behandelnden Objektes aufgerufen wird, oder nicht. Wo kann ich sowas in der Doku sehen?
Für meine unfähigen Augen ist das nirgendwo erklärt. (z.B. hätte ich es hier erwartet...)
 
Oben