GoogleMaps GLatLng Werte oder Koordinaten eines Markers auslesen

Status
Nicht offen für weitere Antworten.

hugo1981

Erfahrenes Mitglied
hallo @ll,

ich hänge schon wieder an GoogleMaps fest.
Ich füge über einen geocoder ein Marker auf der Map ein. Z.B München,
nun will ich es schaffen, dass wenn dieser Marker verschoben/gedragged wird die neuen Lat/Lon werte ein ein Formularfeld übergeben werden.

Nachdem die Map geladen ist, wird die Funktion showLocation() aufgerufen, um den Marker an entsprechender Stelle einzuzeichnen.

DasEvent wird zwar gefeuert, aber ich weiss jetzt nicht, wie ich die neuen LatLng Werte auslesen (bzw. wenn nötig davor neusetzen) kann.'*grübel* Wichtiger part hervorgehoben.
Code:
<script type="text/javascript">
//<![CDATA[
  

    var map;
    var geocoder;
	// red marker icon
	var icon = new GIcon();
	icon.image = "http://labs.google.com/ridefinder/images/mm_20_blue.png";
	icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
	icon.iconSize = new GSize(12, 20);
	icon.shadowSize = new GSize(22, 20);
	icon.iconAnchor = new GPoint(6, 20);
	//icon.infoWindowAnchor = new GPoint(5, 1);
	var marker=[];
	var point=[];	
	var line=null;
	var n=0;


function load() {
 if (GBrowserIsCompatible()) {
	 map = new GMap2(document.getElementById("map"));
	
	map.setCenter(new GLatLng(48.143411,11.580276), 13);
	//map.setZoom(13);
	map.mapControl = new GMapTypeControl();
	
	//map.addControl(new GMapTypeControl(1));
	map.addControl(new GLargeMapControl());
	map.addControl(new GScaleControl());
	map.setMapType(G_HYBRID_MAP);
    geocoder = new GClientGeocoder();
	
}
    }
 // addAddressToMap() is called when the geocoder returns an
    // answer.  It adds a marker to the map with an open info window
    // showing the nicely formatted version of the address and the country code.
    function addAddressToMap(response) {
      map.clearOverlays();
	
      if (!response || response.Status.code != 200) {
        alert("Sorry, we were unable to geocode that address");
	load();
      } else {

        place = response.Placemark[0];
        point[n] = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
	GUnload();
 	map = new GMap2(document.getElementById("map"));
	start =new GLatLng(place.Point.coordinates[1],	
                            place.Point.coordinates[0]);
	map.setCenter(start, 13);
	map.addControl(new GMapTypeControl(1));
	map.addControl(new GLargeMapControl());
	map.addControl(new GScaleControl());
        marker[n] = new GMarker(point[n], {icon:icon, draggable: true});
	//marker[n].disableDragging();
	
        map.addOverlay(marker[n]);
		
		GEvent.addListener(marker[0],"dragend",function(){
	//alert("dragend 0 bei addadress gefeuert");
	//alert(marker[0].coordinates[1];);
	
            point[0] = new GLatLng(marker[0].getPoint);
	document.forms[1].lon.value=point[0].coordinates[1];
            document.forms[1].lat.value=point[0].coordinates[0];
 
	//draw()
	});
		//alert(n);
	n++;

 document.forms[1].lon.value=place.Point.coordinates[1];
 document.forms[1].lat.value=place.Point.coordinates[0];

      }
    }
  // showLocation() is called when you click on the Search button
    // in the form.  It geocodes the address entered into the form
    // and adds a marker to the map at that location.
    function showLocation() {
	marker=[];
	point=[];
	line=null;
	n=0;
      var address = document.forms[0].q.value;
      geocoder.getLocations(address, addAddressToMap);
    }

   // findLocation() is used to enter the sample addresses into the form.
    function findLocation(address) {
      document.forms[0].q.value = address;
      showLocation();
    }

    //]]>
    </script>

Vielen Dank für Hilfe im Voraus.. :)

lg,
hugo
 
Hi,

das Problem hast du doch erst vor einer Viertelstunde mit demselben Wortlaut in dem Thread GoogleMaps GLatLng Werte oder Koordinaten eines Markers auslesen vorgestellt :suspekt:

Bitte erstelle keine Doppel-/Mehrfach-/Pushpostings. Dazu zählen insbesondere das Erstellen identischer Themen in mehreren unterschiedlichen Unterforen, das mehrfache oder erneute Einstellen eines bereits vorhandenen Themas.

[closed]
 
Status
Nicht offen für weitere Antworten.
Zurück