2016-12-03 1 views
1

Ich habe Beispiele hier versucht, aber nur nicht die HTML5 Geolocation-Koordinaten zu arbeiten. Wenn ich die Koordinaten fest codiere, funktioniert es gut.Kann nicht HTML5 Geolocation-Koordinaten zu arbeiten

var infowindow; 
    var map; 

function initialize() { 

    var latlng = new google.maps.LatLng(53.3452572,-6.2648937); 

    map = new google.maps.Map(document.getElementById("map-canvas"), { 
     center: latlng, 
     zoom: 10, 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 

    }); 

var request = { 
location: latlng, 

radius: 500000, 

types: ['pet_shop','pet_store'] 
}; 

Aber wenn ich versuche, Folgendes zu verwenden, bekomme ich einen Fehler ReferenceError: Position ist nicht definiert. Was vermisse ich hier oder mache ich falsch?

lat = position.coords.latitude; 
    long = position.coords.longitude; 
    var latlong = new google.maps.LatLng(lat, long); 
+0

Sie verwenden geolocation api richtig? – Dherya

+0

Wo rufen Sie 'getCurrentPosition' an? – sabithpocker

Antwort

1

Entweder watchPosition or getCurrentPosition soll verwendet werden, um die Position in der Callback zu erhalten. Hier ist ein similar example von MDN Seite

function initialize() { 
     navigator.geolocation.getCurrentPosition(function(position) { 
     var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 
     map = new google.maps.Map(document.getElementById("map-canvas"), { 
      center: latlng, 
      zoom: 10, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      }); 
}); 
+0

Danke sagithpocker, das hat funktioniert! – user2110655

+0

Wenn Sie den Standort aktualisieren möchten, wenn der Benutzer den Standort ändert, verwenden Sie auch watchPosition. – sabithpocker