Sie benötigen ein PositionOptions Objekt, in dem Sie die hohe Genauigkeit Flag nach der API eingestellt.
ich bin hier zitiert: http://diveintohtml5.info/geolocation.html
Die getCurrentPosition() Funktion hat ein optionales drittes Argument, ein PositionOptions Objekt. Es gibt drei Eigenschaften, die Sie in einem PositionOptions-Objekt festlegen können. Alle Eigenschaften sind optional. Sie können beliebige oder alle oder keine von ihnen festlegen.
POSITIONOPTIONS OBJECT
Property Type Default Notes
--------------------------------------------------------------
enableHighAccuracy Boolean false true might be slower
timeout long (no default) in milliseconds
maximumAge long 0 in milliseconds
So sollte es so funktionieren:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position){
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var accuracy = position.coords.accuracy;
var coords = new google.maps.LatLng(latitude, longitude);
var mapOptions = {
zoom: 15,
center: coords,
mapTypeControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL
},
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var capa = document.getElementById("capa");
capa.innerHTML = "latitud: " + latitude + " longitud: " + " aquesta es la precisio en metres : " + accuracy;
map = new google.maps.Map(
document.getElementById("mapContainer"), mapOptions
);
var marker = new google.maps.Marker({
position: coords,
map: map,
title: "ok"
});
},function error(msg){alert('Please enable your GPS position future.');
}, {maximumAge:600000, timeout:5000, enableHighAccuracy: true});
}else {
alert("Geolocation API is not supported in your browser.");
}
Bemerkt habe ich die folgenden 2 params zu getCurrentPosition Anruf hinzugefügt: siehe
,function error(msg){alert('Please enable your GPS position future.');}
, {maximumAge:600000, timeout:5000, enableHighAccuracy: true});
Auch : Geolocation HTML5 enableHighAccuracy True , False or Best Option?
Dank !! Allerdings kann ich nicht bekommen weniger als 65 Meter Genauigkeit :( –
@meework Sie die enableHighAccuracy gesetzt haben falsch statt Einstellung es wahr. – Foreever