Ответ 1
Вам нужен объект PositionOptions, в котором вы устанавливаете флаг высокой точности после API.
Я цитирую здесь: http://diveintohtml5.info/geolocation.html
Функция getCurrentPosition() имеет необязательный третий аргумент, a Объект PositionOptions. Есть три свойства, которые вы можете установить в Объект PositionOptions. Все свойства являются необязательными. Вы можете установить любое или все или ни одно из них.
ОБЪЕКТ ПОЗИЦИОННЫХ ОБЪЕКТОВ
Property Type Default Notes
--------------------------------------------------------------
enableHighAccuracy Boolean false true might be slower
timeout long (no default) in milliseconds
maximumAge long 0 in milliseconds
Итак, он должен работать следующим образом:
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.");
}
Заметил. Я добавил следующие два параметра для вызова getCurrentPosition:
,function error(msg){alert('Please enable your GPS position future.');}
, {maximumAge:600000, timeout:5000, enableHighAccuracy: true});
Также смотрите: Geolocation HTML5 enableHighAccuracy True, False или лучший вариант?