Mit Watch meine ich die Verwendung der nativen Geolocation-Watch-Unterstützung von HTML5. Dies ist für eine Web-App gedacht, nicht für eine eigene. Danke für das Aushelfen: DEs ist möglich, den Standort im Hintergrund auf Mobile (iOS/Android) zu sehen?
Antwort
Sie können den Standort des Benutzers nicht über eine Webanwendung im Hintergrund anzeigen. Ich habe es in Chrome (Android M) überprüft, und sobald die Web App in den Hintergrund geht, verschwindet das GPS-Symbol und der Watch-Position-Prozess wird gestoppt. (Sobald die Web App wieder im Vordergrund ist, wird der Überwachungsprozess fortgesetzt).
Das gleiche passiert, wenn das Gerät gesperrt ist. Der Überwachungsprozess wird angehalten, bis der Benutzer ihn entsperrt und die Web App im Vordergrund ist.
Ja. Sie können den Standort im Hintergrund überwachen, wenn Ihr mobiler Browser unterstützt.
Sie können
watchPosition()
Funktion verwenden.
watchPosition() Code Snippet
var watchID = navigator.geolocation.watchPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
Wenn die Positionsdaten ändern (entweder durch Bewegung der Vorrichtung oder wenn mehr genau Geoinformationen ankommen), können Sie eine Rückruffunktion einrichten das wird mit dieser aktualisierten Positionsinformation aufgerufen. Dies geschieht mit der
watchPosition()
Funktion, die den gleichen Eingang Parameter wiegetCurrentPosition()
hat. Die Callback-Funktion wird mehrmals genannt und ermöglicht dem Browser, entweder Ihren Standort als zu aktualisieren oder einen genaueren Standort anzugeben.
getCurrentPosition() Code Snippet
navigator.geolocation.getCurrentPosition(function(position) {
do_something(position.coords.latitude, position.coords.longitude);
});
Um weitere Informationen zu erhalten, siehe Mozilla/Geolocation/WatchCurrentPosition
Hoffe, es hilft!
Ich habe die watchPosition
API auf Android getestet, es scheint für Firefox zu funktionieren, aber nicht Chrom.
UPDATE: - Ich bin mit Nexus 5X, mit Android N
Dank für die Beantwortung, und dies funktionieren wird, auch wenn das Gerät gesperrt ist und in jemandes Tasche? – Niels
@Niels Ehrlich gesagt habe ich diesen Anwendungsfall nicht getestet. Ich befürchte, dass Sie die aktualisierte Position nicht abrufen können, wenn das Gerät gesperrt ist. Sagen Sie uns hier Bescheid, wenn Sie diesen Anwendungsfall testen! – krishnaxv
Falsche Antwort, Geo-Ortung funktioniert nicht für zwischengespeicherte (Hintergrund) Prozesse auf Android. – dusoft