Tworzę aplikację Android za pomocą html 5 i chcę uzyskać dostęp latlong od użytkownika, jak porusza się użytkownik. Użyłem watchPostion, ale jednoznacznie podaję lokalizację użytkownika.HTML5 geolokalizacja watchPosition nazywanie tylko raz
var watchID;
var geoLoc;
function showLocation(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
var ll=new google.maps.LatLng(latitude, longitude);
map.setCenter(ll);
console.log("Latitude : " + latitude + " Longitude: " + longitude);
}
function errorHandler(err) {
if(err.code == 1) {
console.log("Error: Access is denied!");
}else if(err.code == 2) {
console.log("Error: Position is unavailable!");
}
}
if(navigator.geolocation){
// timeout at 60000 milliseconds (60 seconds)
var options = {timeout:60000};
geoLoc = navigator.geolocation;
watchID = geoLoc.watchPosition(showLocation,
errorHandler,
options);
}else{
console.log("Sorry, browser does not support geolocation!");
}
Witam Barto, próbowałem używać twojego kodu, ale wciąż mam ten sam problem. Próbowałem kodu w przeglądarce mobilnej i działa dobrze, ale w przeglądarkach komputerowych otrzymuję lokalizację tylko raz. –
Umieściłem go w skrzypcach http://jsfiddle.net/XEFks/, jeśli otworzysz stronę i spojrzysz na konsolę, powinieneś zobaczyć aktualizację lokalizacji (w konsoli pojawi się obiekt Gelocation). Nie będzie aktualizowany co sekundę, ponieważ początkowo lokalizacja jest ustawiona, gdy zostanie znaleziona lepsza, pierwsza jest aktualizowana i tak dalej. (Zdecydowanie działa tutaj) – boortmans
ok.Masz na myśli to, że jeśli pozycja nie jest aktualizowana, nie byłbym w stanie uzyskać pozycji, dopóki pozycja się nie zmieni. Krótko mówiąc, nie można uzyskać lokalizacji wielokrotnie na pulpicie, ponieważ nie zmienia ona swojej lokalizacji? –