Google Maps Koordinaten auslesen

truckncountry

Grünschnabel
Ich muss mich an Euch mit der Bitte um Hilfe wenden.
Ich hab mich neu in diese ganze Materie reingefummelt, stehe nun aber vor einem Problem, welches ich nicht gelöst bekomme.. bzw nicht weiss, wie.
Mit dem bisherigen Ergebnis bin ich recht zufrieden, ein Marker wird mit mit dezimalen Koordinaten angezeigt. Wie erreiche ich aber, daß auch die Grad/Minute und Sekunde angezeigt werden? Das müsste doch auch gehen..
Und ob man die Zoombox mit dem Slider (und nicht nur das + und - )angezeigt bekommt, ist mir auch ein Rätsel..
Wer weiss Rat?

Hier der bisherige Code:
Code:
<script type="text/javascript">
function load() {
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        var center = new GLatLng(52.30564,  	8.91815);
        map.setCenter(center, 17, G_HYBRID_MAP);
        geocoder = new GClientGeocoder();
        var marker = new GMarker(center, {draggable: true});  
        map.addOverlay(marker);
        document.getElementById("lat").innerHTML = center.lat().toFixed(5);
        document.getElementById("lng").innerHTML = center.lng().toFixed(5);

	  GEvent.addListener(marker, "dragend", function() {
       var point = marker.getPoint();
	      map.panTo(point);
       document.getElementById("lat").innerHTML = point.lat().toFixed(5);
       document.getElementById("lng").innerHTML = point.lng().toFixed(5);

        });


	 GEvent.addListener(map, "moveend", function() {
		  map.clearOverlays();
    var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
	   document.getElementById("lng").innerHTML = center.lng().toFixed(5);


	 GEvent.addListener(marker, "dragend", function() {
      var point =marker.getPoint();
	     map.panTo(point);
      document.getElementById("lat").innerHTML = point.lat().toFixed(5);
	     document.getElementById("lng").innerHTML = point.lng().toFixed(5);

        });
 
        });

      }
    }

	   function showAddress(address) {
	   var map = new GMap2(document.getElementById("map"));
       map.addControl(new GSmallMapControl());
       map.addControl(new GMapTypeControl());
       if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
		  document.getElementById("lat").innerHTML = point.lat().toFixed(5);
	   document.getElementById("lng").innerHTML = point.lng().toFixed(5);
		 map.clearOverlays()
			map.setCenter(point, 17, G_HYBRID_MAP);
   var marker = new GMarker(point, {draggable: true});  
		 map.addOverlay(marker);

		GEvent.addListener(marker, "dragend", function() {
      var pt = marker.getPoint();
	     map.panTo(pt);
      document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
	     document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
        });


	 GEvent.addListener(map, "moveend", function() {
		  map.clearOverlays();
    var center = map.getCenter();
		  var marker = new GMarker(center, {draggable: true});
		  map.addOverlay(marker);
		  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
	   document.getElementById("lng").innerHTML = center.lng().toFixed(5);

	 GEvent.addListener(marker, "dragend", function() {
     var pt = marker.getPoint();
	    map.panTo(pt);
    document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
	   document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
        });
 
        });

            }
          }
        );
      }
    }
    </script>

Das bisherige Ergebnis ist hier: http://www.truckncountry.de/board/jgs_portal.php?id=176&sid=
 
Zuletzt bearbeitet:
Moin,

den Slider hat du ja anscheinend schon gefunden.
Die Längen/Breitengrade mit Min/Sek kannst du selbst errechnen.


Die Vorgehensweise(falls ich mich recht entsinne)

Grad->der Ganzzahlanteil
Minute->Ganzahlanteil des Ergebnisses von Nachkommastellen *60
Sekunde->Ergebnis von Nachkommastellen *60(diesmal die Nachkommastellen von Minute)

hier mal als Beispiel die Latitude für den "Nabel der Welt" :-)

Latitude:
Dezimal->52.28975
Grad: 52(der Ganzahlenanteil)
Minute:0,28975*60=17,385
Sekunde:0,385*60=23,1
Ergebnis: 52° 17' 23,1''

<edit>Scheine mich recht entsonnen zu Haben, dieser Rechner bekommt das Selbe heraus </edit>
 
danke für deine antwort, die vom inhalt her sicher richtig ist.
sie hilft mir aber im bezug auf den code leider nicht weiter, weil ich nicht weiss, wie man das nun in den code reinbastelt, damit eine entsprechende ausgabe erfolgt...

trotzdem danke
 
Also die Umrechnung in Javascript sähe dann in etwa so aus,wenn man beim Beispiel von Sven Mintel bleibt:
HTML:
var dec=52.28975;
var degree=Math.floor(dec); 
var minute=Math.floor((dec-degree)*60);
var second=((dec-degree)*60-minute)*60;
alert(degree+"° "+minute+"\' "+second+"\"");
Habs jetzt nicht getestet, sollte aber jedoch das tun was es sollte. Der Einbau danach denk ich mal dürfte nicht alzu schwer sein.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück