geolocation.watchPosition unterbricht geolocation.getCurrentPosition

8

Ich arbeite an einer Web-App mit Google Maps und mit getCurrentPosition() , um die Benutzerposition zu erhalten. Das funktioniert gut, aber ich muss die Benutzerposition im Laufe der Zeit verfolgen.

Dafür wollte ich watchPosition() verwenden. Gemäß der API-Referenz API-Referenz muss die Datenerfassung sofort ausgeführt und der Callback ausgeführt werden. aber das tut es nicht. Stattdessen friert es ein und ich kann getCurrentPosition() nicht mehr verwenden. Ich habe nach einer Ursache dafür gesucht, und ich kann nicht herausfinden, warum sich so verhält. Ich verwende die neueste Chrome für Linux Mint "Lisa".

    
Juan Antonio Orozco 03.01.2012, 23:53
quelle

1 Antwort

14

Auf einem mobilen Gerät ist .getCurrentPosition() sehr ungenau. Die Verwendung von .watchPosition() ist genauer, aber es dauert etwa fünf Sekunden, um den besten Messwert zu erhalten. Danach verschwendet es Batterie, um es aktiv zu halten.

Dies überprüft die Position alle 15 Sekunden mit .watchPosition() und stoppt die Überprüfung nach fünf Sekunden mit .clearWatch() .

Demo: Ссылка

Skript:

%Vor%

HTML:

%Vor%     
ThinkingStiff 04.01.2012, 00:17
quelle

Tags und Links