API'yi izleyerek yüksek doğruluk bayrağını ayarladığınız bir PositionOptions nesnesine ihtiyacınız vardır.
buradan alıntı am: http://diveintohtml5.info/geolocation.html
getCurrentPosition() işlevi, isteğe bağlı üçüncü bir argüman, bir PositionOptions nesne. PositionOptions nesnesinde ayarlayabileceğiniz üç özellik vardır. Tüm özellikler isteğe bağlıdır. 'u herhangi birini veya tümünü ya da hiçbirini ayarlayamazsınız.
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.");
}
Ben getCurrentPosition çağrınıza aşağıdaki 2 params eklendi Fark:
,function error(msg){alert('Please enable your GPS position future.');}
, {maximumAge:600000, timeout:5000, enableHighAccuracy: true});
Ayrıca bakınız
POSITIONOPTIONS böyle çalışmalı, Yani
Property Type Default Notes
--------------------------------------------------------------
enableHighAccuracy Boolean false true might be slower
timeout long (no default) in milliseconds
maximumAge long 0 in milliseconds
OBJE : Geolocation HTML5 enableHighAccuracy True , False or Best Option?
Teşekkürler! Ancak, 65 metreden daha az doğruluk alamıyorum :( –
@meework enableHighAccuracy değerini true olarak ayarlamak yerine yanlış ayarladınız. – Foreever