Zum Hauptinhalt springen

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

ParameterBeschreibung
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()}

MethodeBeschreibung
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()
}