La API de Geospatial usa una combinación de VPS y datos de GPS para generar transformaciones geoespaciales de alta precisión. La API se puede usar en cualquier lugar donde el dispositivo pueda determinar su ubicación:
- En áreas con baja precisión de GPS, como espacios interiores y entornos urbanos densos, la API utilizará la cobertura de VPS para generar transformaciones de alta precisión.
- En entornos al aire libre con pocas obstrucciones aéreas, o ninguna, la API de Geospatial puede usar los datos de ubicación de GPS disponibles para generar transformaciones geoespaciales con alta precisión.
Puedes determinar la disponibilidad de los VPS en una posición horizontal determinada antes de que comience la sesión de RA y usarla para crear experiencias más específicas; por ejemplo, para presentar un botón "Ingresar RA" solo cuando el VPS está disponible.
Habilita la API de ARCore
Tu app debe habilitar la API de ARCore para verificar la disponibilidad de VPS.
Cómo verificar la disponibilidad de VPS en tu app
La API de Geospatial se puede usar en cualquier lugar donde el dispositivo pueda determinar su ubicación. Si tu experiencia de RA depende de la cobertura de VPS, puedes usar GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
para obtener un GARVPSAvailabilityFuture
, una tarea asíncrona que verifica la disponibilidad de VPS en una posición horizontal determinada.
Una vez que tengas la GARVPSAvailabilityFuture
, puedes obtener su resultado mediante un sondeo o una devolución de llamada.
Sondea el resultado
Usa GARFuture.state
para obtener el estado de Future
. Existen tres estados diferentes:
GARFutureStatePending
: La operación aún no se completó, por lo que no se conoce ningún resultado.GARFutureStateCancelled
:GARFuture#cancel
canceló la operación. Nunca se llamará a ninguna devolución de llamada registrada.GARFutureStateDone
: Se completó la operación. UsaGARVPSAvailabilityFuture.result
para obtener el resultado.
Puede seguir consultando GARFuture.state
hasta que se complete la tarea.
Cómo obtener el resultado mediante una devolución de llamada
También puedes obtener el resultado de un objeto Future
mediante una devolución de llamada. Usa GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
y proporciona un completionHandler
. Se llamará a este completionHandler
en el subproceso principal poco después de que Future
tenga el estado GARFutureStateDone
.
Cancela el Future
Usa GARFuture#cancel
para intentar cancelar el Future
. Debido al paralelismo de subprocesos, es posible que tu intento de cancelación no se realice correctamente.
GARFuture#cancel
muestra YES
si este intento se realizó correctamente y NO
de lo contrario.
Usa la API de Geospatial sin cobertura de VPS
La API de Geospatial también se puede usar en áreas que no tienen cobertura de VPS. En entornos al aire libre con pocas obstrucciones elevadas o ninguna, el GPS puede ser suficiente para generar una postura con gran precisión.
Próximos pasos
- Obtén la pose geoespacial de la cámara del dispositivo para determinar la ubicación exacta del dispositivo del usuario en el mundo real.