2016-04-21 32 views
0

Zum Zeitpunkt dieses Beitrags glaube ich, dass es keine Geofencing-Module für die Reaktion native gibt, also möchte ich eine alternative Strategie des armen Mannes implementieren. Ich habe das Geolocation-Modul von react native entdeckt, aber das offizielle Dokument ist nicht klar:Geofencing in React Native

1) Läuft das Geolocation-Modul im Hintergrund und erhält die aktuellen Benutzerkoordinaten automatisch (auch wenn die App im Hintergrund ist)? Wenn ja, sind diese in einer Variablen oder einem Zustand gespeichert?

2) Wenn (1) wahr ist, wie kann ich eine Zustandsänderung erkennen? Sobald ich eine Statusänderung (d. H. Den Standort des Benutzers) feststelle, möchte ich diesen neuen Standort auf einen Remote-Server übertragen und ihn in einer Datenbank speichern. Auf der anderen Seite möchte ich nicht jeden Zentimeter speichern, den der Benutzer bewegt!

Macht diese Strategie überhaupt Sinn? Meine Bedenken sind natürlich auch der Batterieverbrauch.

Antwort

1

1) Sie müssen diese Funktion in xcode Settings aktivieren Dann speichern Sie den Speicherort aus dem 'navigator.geolocation.getCurrentPosition' Callback irgendwo in Ihrer App, z. in Ihrem AsyncStorage

2) Der Rückruf wird nur aufgerufen, wenn der Standort geändert wird. Sie müssen also keine Standortänderung explizit erkennen.