XR8.Vps.makeWayspotWatcher()
XR8.Vps.makeWayspotWatcher({onVisible, onHidden, pollGps, lat, lng})
Descripción
Crea un observador que busque todos los Wayspots activados por VPS, no solo los del Proyecto.
Parámetros
Parámetro | Descripción |
---|---|
onVisible [Opcional] | Llamada de retorno a la que se llama cuando se hace visible un nuevo Wayspot en un radio de 1000 metros. |
onHidden [Opcional] | Llamada de retorno que se invoca cuando un Wayspot que viste anteriormente ya no está en un radio de 1000 metros de ti. |
pollGps [Opcional] | Si es verdadero, activa el GPS y llama a las retrollamadas 'onVisible' y 'onHidden' con los puntos de ruta encontrados/perdidos por el movimiento del GPS. |
lat [Opcional] | Si se establece lat o lng , llama a onVisible y onHidden con cualquier waypots encontrado/perdido cerca de la ubicación establecida. |
lng [Opcional] | Si se establece lat o lng , llama a onVisible y onHidden con cualquier waypots encontrado/perdido cerca de la ubicación establecida. |
Vuelta
Un objeto con los siguientes métodos:
{dispose(), pollGps(), setLatLng()}
Método | Descripción |
---|---|
dispose() | Borra el estado y detiene el gps. Actualiza y ya no llamará a ninguna llamada de retorno. |
pollGps(Boolean) | Activa o desactiva las actualizaciones del GPS. |
setLatLng(lat: Number, lng: Number) | Establece la ubicación actual del observador en lat / lng . |
Ejemplo
const nearbyWayspots_ = []
// Registra el tiempo transcurrido entre la obtención de cada Wayspot desde el wayspotWatcher.
let gotAllWayspotsTimeout_ = 0
const onWayspotVisible = (wayspot) => {
nearbyWayspots_.push(wayspot)
window.clearTimeout(gotAllWayspotsTimeout_)
gotAllWayspotsTimeout_ = window.setTimeout(() => {
// Obtenemos los wayspots individualmente. Si solo queremos realizar una operación
// después de haber obtenido todas las cercanas, podríamos hacerlo aquí.
}, 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 = ({}) => {
// Limpia el observador
wayspotWatcher_.dispose()
}