XR8.Vps.makeWayspotWatcher()
XR8.Vps.makeWayspotWatcher({onVisible, onHidden, pollGps, lat, lng})
Beschreibung
Erstellen Sie einen Watcher, der nach allen aktivierten VPS-Wayspots sucht, nicht nur nach Projekt-Wayspots.
Parameter
Parameter | Beschreibung |
---|---|
onVisible [Optional] | Callback, der aufgerufen wird, wenn ein neuer Wayspot innerhalb eines 1000-Meter-Radius sichtbar wird. |
onHidden [Optional] | Callback, der aufgerufen wird, wenn sich ein Wayspot, den Sie zuvor gesehen haben, nicht mehr im Umkreis von 1000 Metern von Ihnen befindet. |
pollGps [Optional] | Wenn wahr, wird das GPS eingeschaltet und die Callbacks 'onVisible' und 'onHidden' mit allen durch GPS-Bewegung gefundenen/verlorenen Wayspots aufgerufen. |
lat [Optional] | Wenn lat oder lng gesetzt ist, werden die Callbacks onVisible und onHidden mit allen gefundenen/verlorenen Wayspots in der Nähe der gesetzten Position aufgerufen. |
lng [Optional] | Wenn lat oder lng gesetzt ist, werden die Callbacks onVisible und onHidden mit allen gefundenen/verlorenen Wayspots in der Nähe der gesetzten Position aufgerufen. |
Returns
Ein Objekt mit den folgenden Methoden:
{dispose(), pollGps(), setLatLng()}
Methode | Beschreibung |
---|---|
dispose() | Löscht den Status und stoppt gps. Aktualisiert und ruft keine Rückrufe mehr auf. |
pollGps(Boolean) | Schalten Sie GPS-Updates ein oder aus. |
setLatLng(lat: Zahl, lng: Zahl) | Setzen Sie den aktuellen Standort des Beobachters auf lat / lng . |
Beispiel
const nearbyWayspots_ = []
// Zeichnet die Zeit auf, die zwischen dem Abrufen jedes Wayspots vom WayspotWatcher vergeht.
let gotAllWayspotsTimeout_ = 0
const onWayspotVisible = (wayspot) => {
nearbyWayspots_.push(wayspot)
window.clearTimeout(gotAllWayspotsTimeout_)
gotAllWayspotsTimeout_ = window.setTimeout(() => {
// Wir holen die Wayspots einzeln. Wenn Sie eine Operation
// erst durchführen möchten, nachdem wir alle in der Nähe befindlichen Operationen erhalten haben, können wir das hier tun.
}, 0)
}
const onWayspotHidden = (wayspot) => {
const index = nearbyWayspots_.indexOf(wayspot)
if (index > -1) {
foundProjectWayspots_.splice(index, 1)
}
}
const onAttach = ({}) => {
wayspotWatcher_ = XR8.Vps.makeWayspotWatcher(
{onVisible: onWayspotVisible, onHidden: onWayspotHidden, pollGps: true}
)
}
const onDetach = ({}) => {
// Aufräumen des Watchers
wayspotWatcher_.dispose()
}