XR8.Vps.makeWayspotWatcher()
XR8.Vps.makeWayspotWatcher({onVisible, onHidden, pollGps, lat, lng})
Description
Créez un observateur qui recherche tous les Wayspots activés par le VPS, et pas seulement les Wayspots de projet.
Paramètres
Paramètres | Description |
---|---|
onVisible [Facultatif] | Rappel appelé lorsqu'un nouveau point de passage devient visible dans un rayon de 1000 mètres. |
onHidden [Facultatif] | Rappel qui est appelé lorsqu'un Wayspot que vous avez vu précédemment n'est plus dans un rayon de 1000 mètres autour de vous. |
pollGps [Facultatif] | Si vrai, active le GPS et appelle les callbacks "onVisible" et "onHidden" avec les wayspots trouvés/perdus grâce au mouvement du GPS. |
lat [Facultatif] | Si lat ou lng est défini, appelle onVisible et onHidden callbacks avec toutes les waypots trouvés/perdus à proximité de l'emplacement défini. |
lng [Facultatif] | Si lat ou lng est défini, appelle onVisible et onHidden callbacks avec toutes les waypots trouvés/perdus à proximité de l'emplacement défini. |
Retours
Un objet avec les méthodes suivantes :
{dispose(), pollGps(), setLatLng()}
Méthode | Description |
---|---|
disposer() | Efface l'état et arrête le GPS. Les mises à jour et les rappels ne sont plus nécessaires. |
pollGps(Booléen) | Activez ou désactivez les mises à jour du GPS. |
setLatLng(lat : Nombre, lng : Nombre) | Fixez la position actuelle de l'observateur à lat / lng . |
Exemple
const nearbyWayspots_ = []
// Enregistre le temps écoulé entre l'obtention de chaque point de cheminement auprès de l'observateur de points de cheminement.
let gotAllWayspotsTimeout_ = 0
const onWayspotVisible = (waypot) => {
nearbyWayspots_.push(wayspot)
window.clearTimeout(gotAllWayspotsTimeout_)
gotAllWayspotsTimeout_ = window.setTimeout(() => {
// Nous obtenons les waypots individuellement. Si vous souhaitez n'effectuer une opération
// qu'après avoir obtenu toutes celles qui se trouvent à proximité, vous pouvez le faire ici.
}, 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 = ({}) => {
// Cleanup the watcher
wayspotWatcher_.dispose()
}