Der folgende Code funktioniert in Firefox, aber nicht in Google Chrome:
<!DOCTYPE html>
<html>
<head>
<title>title</title>
<script type="text/javascript">
var successCallback = function(data) {
console.log('latitude: ' + data.coords.latitude + ' longitude: ' + data.coords.longitude);
};
var failureCallback = function() {
console.log('location failure :(');
};
var logLocation = function() {
//determine if the handset has client side geo location capabilities
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(successCallback, failureCallback);
}
else{
alert("Functionality not available");
}
};
logLocation();
setTimeout(logLocation, 5000);
</script>
</head>
<body>
<p>Testing</p>
<body>
</html>
Was ist los? Ich dachte, Google Chrome sollte die W3C-Geolocation-API unterstützen.
Funktioniert perfekt für mich - mit Chrome 11 und Firefox 4.0.1 unter Windows 7
Options > Under the Hood > Content Settings > Location
file:///
geladen werden, keinen Zugriff auf den Speicherort. Siehe HTML 5 Geo-Standortabfrage in Chrome .Wenn Ihre Domäne unsicher ist (z. B. HTTP statt HTTPS), haben Sie keinen Zugriff auf den Standort in Chrome. Dies ist seit Chrome Version 50 (20.00 Uhr PST 20. April 2016).
Weitere Informationen finden Sie unter https://developers.google.com/web/updates/2016/04/geolocation-on-secure-contexts-only .
2017:
Hinweis: Ab Chrome 50 funktioniert die Geolocation-API nur in sicheren Kontexten wie HTTPS. Wenn Ihre Site auf einem nicht sicheren Origin (z. B. HTTP) gehostet wird, funktionieren die Anforderungen zum Abrufen des Benutzerorts nicht mehr.
Geolocation-API aus ungesicherten Ursprüngen in Chrome 50 entfernt
Mit der Geolocation-API können Sie mit Zustimmung des Benutzers den Standort des Benutzers ermitteln. Sie können diese Funktion verwenden, um einen Benutzer zum Ziel zu führen und vom Benutzer erstellte Inhalte mit Geotags zu kennzeichnen. B. markieren, wo ein Foto aufgenommen wurde.
Mit der Geolocation-API können Sie auch sehen, wo sich der Benutzer gerade befindet, und ihn immer im Auge behalten, immer mit dessen Zustimmung (und nur bei geöffneter Seite). Dadurch werden viele interessante Anwendungsfälle geschaffen, z. B. die Integration mit Backend-Systemen, um eine Bestellung für die Sammlung vorzubereiten, wenn sich der Benutzer in der Nähe befindet.
Bei der Verwendung der Geolocation-API müssen Sie auf viele Dinge achten. Dieser Leitfaden führt Sie durch die gängigen Anwendungsfälle und Lösungen.
https://developers.google.com/web/fundamentals/native-hardware/user-location/?hl=de
Es funktioniert gut für mich - mit Chrome 11 und Firefox 4.0.1 unter Win 7
Stellen Sie sicher, dass Sie die Standortüberwachung in Chrome nicht deaktiviert haben: Optionen> Unter der Haube> Inhaltseinstellungen> Ort, erlauben Sie die Erlaubnis Und führen Sie die Berechtigung aus, nachdem Sie die Erlaubnis überprüft haben
nach dem Laufen wird entweder sucesscallback
oder es kommt zu errorcallback
function sucesscallback (position)
{
var userLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
var myOptions = {
zoom: 15,
center: userLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mapObject = new google.maps.Map(document.getElementById("googleMap"), myOptions);
var marker = new google.maps.Marker({
map: mapObject,
position: userLatLng
});
}
function failureCallback(error) {
switch (error.code) {
case 1:
alert("User denied the request for Geolocation.");
break;
case 2:
alert("Location information is unavailable. Please ensure Location is On");
break;
case 3:
alert("timeout");
break;
case 4:
alert("An unknown error occurred.");
break;
}
}
<div id='googleMap' style='width:300px;height:300px;'>
</div>