User Standort anzeigen

Tl2012

Grünschnabel
Hallo,
ich versuche gerade den Standort eines Users anzuzeigen.
Dafür benutze ich ein Script das ich beim googlen gefunden habe:

HTML:
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
</head>

<body>
    <div id="pos" style="width:800px; height:600px;">
        Deine Position wird ermittelt...
    </div>
    
    <script>
        function initialize(coords) {
            var latlng = new google.maps.LatLng(coords.latitude, coords.longitude);
            var myOptions = {
                zoom: 15,
                center: latlng,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var map = new google.maps.Map(document.getElementById("pos"), myOptions);
            
            var marker = new google.maps.Marker({
                position: latlng,
                map: map,
                title: "Hier bist du :)"
            });
        }
  
        navigator.geolocation.getCurrentPosition(function(position){
            initialize(position.coords);
        }, function(){
            document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
        });
    </script>
Allerdings zeigt mir das Script was ich dafür gefunden habe nur ein Sattelitenbild an.
Ich brauche den User Standort aber nicht als Bild sondern in Textform also: Hamburg, Jungfernstieg Z.B.
Weiß jemand ob das möglich ist? Bei Twitter wird glaube ich auch html5 verwendet.

Lg tl2012
 
Hi,

leider kommst du um JavaScript nicht herum (fürs ermitteln des User-Standortes).

Mein PHP-Script bekommt Länge und Breite übergeben und fragt dann bei der API nach der zugehörigen Adresse.
Bekommt es diese Daten nicht (beim direkten Aufruf durch den User) sendet es an den Browser ein JavaScript.
Dieses fragt Länge und Breite vom Browser ab, hat der User keinen HTML5-Fähigen Browser oder Verweigert die Standort-Feststellung, erscheint eine Fehlermeldung.
Ansonsten ruft das JS wieder PHP auf, da steht dann $address zur verfügung.

PHP:
<?

	if(isset($_GET['lat']) && isset($_GET['lng'])){

		$address = json_decode(file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?latlng=" . $_GET['lat'] . "," . $_GET['lng'] . "&sensor=true"))->{'results'}[0]->{'formatted_address'};
		var_dump($address);

	}

	else{

		echo "
			<span id=\"pos\">Deine Position wird ermittelt...</span>
			<script>
				navigator.geolocation.getCurrentPosition(function(position) {
            		location = '?lat=' + position.coords.latitude + '&lng=' + position.coords.longitude;
        		}, function() {
            		document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
        		});
			</script>
		";

	}

	
?>

Gruß javaDeveloper2011
 
Danke für deine Anwtort :)
Ich brauche die Standortausgabe also Beispielsweise Hamburg, Altona aber in einer Variable um sie in eine Tabelle zu schreiben. Kann mir jemand sagen wie ich das hinbekomme?
Mir würde spontan einfallen das man den Ort in einen Link packt etwa so:
Code:
document.write("<a href="http://seite.domain?ort=+Variable+">");
LG tl2012

Habs jetzt :D

Code:
var ort = results[1].formatted_address;
                     document.getElementById('pos').innerHTML
                    = "<a href='test.php?ort="+ort+"'>"+ort+"</a>";
 
Zurück