La API de Geospatial usa una combinación de datos de VPS y GPS para generar poses geoespaciales de alta precisión. Se puede usar la API 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 del VPS para generar poses de alta precisión.
- En entornos al aire libre con pocas obstrucciones en el techo o sin ellas, es posible que la API de Geospatial pueda usar los datos de ubicación GPS disponibles para generar poses geoespaciales con alta precisión.
Puedes determinar la disponibilidad de 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 “Enter AR” solo cuando el VPS esté disponible.
Habilita la API de ARCore
Tu app debe habilitar la API de ARCore para verificar la disponibilidad de la VPS.
Verifica la disponibilidad de VPS en tu app
La API de Geospatial se puede usar en cualquier lugar en el que el dispositivo pueda determinar su ubicación. Si tu experiencia de RA depende de la cobertura de VPS, puedes usar AREarthManager.CheckVpsAvailabilityAsync()
para obtener un VpsAvailabilityPromise
, una tarea asíncrona que verifica la disponibilidad del VPS en una posición horizontal determinada.
Una vez que tengas el elemento VpsAvailabilityPromise
, podrás obtener su resultado mediante un sondeo.
Cómo sondear el resultado
Usa VpsAvailabilityPromise.State
para obtener el estado de InterruptiblePromise
. Existen tres estados diferentes:
Pending
: La operación aún no se completa, por lo que no se conoce ningún resultado.Cancelled
:VpsAvailabilityPromise.Cancel()
canceló la operación. Nunca se llamará a ninguna devolución de llamada registrada.Done
: La operación se completó. UsaVpsAvailabilityPromise.Result
para obtener el resultado.
Puedes seguir verificando VpsAvailabilityPromise.State
hasta que se complete la tarea.
Cancelar InterruptiblePromise
Usa VpsAvailabilityPromise.Cancel()
para intentar cancelar la InterruptiblePromise
. Debido al paralelismo de subprocesos, es posible que tu intento de cancelación no se realice correctamente.
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 ambientes al aire libre con pocas obstrucciones por encima o ninguna, el GPS puede ser suficiente para generar una postura con alta precisión.
¿Qué sigue?
- Obtén la posición geoespacial de la cámara del dispositivo para determinar la ubicación exacta del dispositivo del usuario en el mundo real.