vserver
Goto Top

Geolocation Google

Hallo,

ich habe ein Problem, irgendwie Positioniert es mich immer in München, wie kann ich das auf meinen richtigen Standort anpassen?

Ebenso die Eingabefunktion von der Adresse funktioniert nicht richtig, bräuchte Hilfe das anzupassen, komme hier nicht mehr weiter.


	<body>
		<div class="header">  
			<div class="logo">  
				<img src="img/logo.png" alt="Logo" class="logo-img">  
			</div>
			<ul class="nav">  
				<li class="nav-link">  
					<a href="http://www.test.de">test.de</a></br>Geo</br></br>  
			<form action="#" onsubmit="showAddress(this.address.value); return false">  
				<p>        
					<input type="text" size="60" name="address" value="Neuen Standort eingeben." />  
					<input type="submit" value="Search!" />  
				</p>
			</form>
				</li>
			</ul>
		</div>
		
		<div id="google_canvas"></div>  
	
		<script src="//maps.googleapis.com/maps/api/js?v=3.exp&sensor=true"></script>  
	
	    <script>
	    (function() {
	    
	    	if(!!navigator.geolocation) {
	    	
	    		var map;
	    	
		    	var mapOptions = {
		    		zoom: 15,
		    		mapTypeId: google.maps.MapTypeId.ROADMAP
		    	};
		    	
		    	map = new google.maps.Map(document.getElementById('google_canvas'), mapOptions);  
	    	
	    		navigator.geolocation.getCurrentPosition(function(position) {
	    		
		    		var geolocate = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
		    		
		    		var infowindow = new google.maps.InfoWindow({
		    			map: map,
		    			position: geolocate,
		    			content:
		    				'<h1>Location pinned from HTML5 Geolocation!</h1>' +  
		    				'<h2>Latitude: ' + position.coords.latitude + '</h2>' +  
		    				'<h2>Longitude: ' + position.coords.longitude + '</h2>'  
		    		});
		    		
		    		map.setCenter(geolocate);
		    		
	    		});
	    		
	    	} else {
	    		document.getElementById('google_canvas').innerHTML = 'No Geolocation Support.';  
	    	}
	    	
	    })();
	    </script>
	</body>

vielen Dank,
Mit freundlichen Grüßen.

Content-Key: 265018

Url: https://administrator.de/contentid/265018

Printed on: April 16, 2024 at 21:04 o'clock

Member: napperman
napperman Mar 03, 2015 at 10:34:44 (UTC)
Goto Top
Hallo,
Du übergibst ja auch nur die CurrentPosition (Zeile 37).
Deine eingegebene Adresse aus dem Formular wird nirgends an den Geocoder übergeben.

Hier ein Beispiel von Google
Zeile 30 gibt an, welche Koordinaten zentriert auf der Karte beim Laden dargestellt werden.
Das ist bei deinem Code die currentposition
Die Funktion codeAddress (Zeile 38 im unteren Beispiel) übergibt die eingegebene Adresse an den Google Geocoder und stellt dann die Karte auf diesen Bereich und setzt nen Marker an die Position.

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">  
    <meta charset="utf-8">  
    <title>Geocoding service</title>
    <style>
      html, body, #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
      #panel {
        position: absolute;
        top: 5px;
        left: 50%;
        margin-left: -180px;
        z-index: 5;
        background-color: #fff;
        padding: 5px;
        border: 1px solid #999;
      }
    </style>
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>  
    <script>
var geocoder;
var map;
function initialize() {
  geocoder = new google.maps.Geocoder();
  var latlng = new google.maps.LatLng(-34.397, 150.644);
  var mapOptions = {
    zoom: 8,
    center: latlng
  }
  map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);  
}

function codeAddress() {
  var address = document.getElementById('address').value;  
  geocoder.geocode( { 'address': address}, function(results, status) {  
    if (status == google.maps.GeocoderStatus.OK) {
      map.setCenter(results.geometry.location);
      var marker = new google.maps.Marker({
          map: map,
          position: results.geometry.location
      });
    } else {
      alert('Geocode was not successful for the following reason: ' + status);  
    }
  });
}

google.maps.event.addDomListener(window, 'load', initialize);  

    </script>
  </head>
  <body>
    <div id="panel">  
      <input id="address" type="textbox" value="Sydney, NSW">  
      <input type="button" value="Geocode" onclick="codeAddress()">  
    </div>
    <div id="map-canvas"></div>  
  </body>
</html>
Member: napperman
napperman Mar 03, 2015 at 10:35:59 (UTC)
Goto Top
Nachtrag:
Hier sind ganz viele Beispiele zu finden:
https://developers.google.com/maps/documentation/javascript/examples/?hl ...
Member: vServer
vServer Mar 04, 2015 updated at 16:41:37 (UTC)
Goto Top
Hallo,

irgendwie wird mir dann nichts mehr angezeigt, irgendwas mache ich falsch:

Der originale Script, trotzdem werde ich egal wie ich es versuche immer in München positioniert, könnt ihr mir bitte dabei helfen?

	    <script>
	    (function() {
	    
	    	if(!!navigator.geolocation) {
	    	
	    		var map;
	    	
		    	var mapOptions = {
		    		zoom: 15,
		    		mapTypeId: google.maps.MapTypeId.ROADMAP
		    	};
		    	
		    	map = new google.maps.Map(document.getElementById('google_canvas'), mapOptions);  
	    	
	    		navigator.geolocation.getCurrentPosition(function(position) {
	    		
		    		var geolocate = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
		    		
		    		var infowindow = new google.maps.InfoWindow({
		    			map: map,
		    			position: geolocate,
		    			content:
		    				'<h1>Ihr Standort!</h1>' +  
		    				'<h2>Latitude: ' + position.coords.latitude + '</h2>' +  
		    				'<h2>Longitude: ' + position.coords.longitude + '</h2>'+  
							'<h2><u>Standort zu CreateQR übernehmen!</u></h2>'  
		    		});
		    		
		    		map.setCenter(geolocate);
		    		
	    		});
	    		
	    	} else {
	    		document.getElementById('google_canvas').innerHTML = 'No Geolocation Support.';  
	    	}
	    	
	    })();
	    </script>
Member: napperman
napperman Mar 05, 2015 at 09:31:34 (UTC)
Goto Top
Hallo,

Du schreibst aber auch nichts darüber, was Du denn erreichen möchtest.
Wie soll man Dir dann helfen?
Hast Du Dir die Codebeispiele überhaupt mal angesehen?

Gruß,
Chrischan
Member: vServer
vServer Mar 05, 2015 at 18:02:52 (UTC)
Goto Top
Hi,

also, ich würde das gerne so haben, sobald man die Seite aufruft, sollte man auf seinen Standort kommen und die Geo Daten sollten angezeigt werden:

Aktueller Stand der Seite http://4url.de/geo

Nun habe ich das Problem das ich in München positioniert werde.

// Komisch am Handy werde ich richtig positioniert, dann funktioniert dies doch. Wie sieht es bei euch aus?

Dann habe ich eigentlich nur noch das Problem das die Ortseingabe oben funktionieren sollte. Hier komme ich ebenso nicht weiter, das man den Ort eingeben kann und dann positioniert wird und die Geo Daten angezeigt werden.

Danke Gruß