Verifica la disponibilidad de los VPS en la ubicación actual del dispositivo

La API de Geospatial usa una combinación de VPS y datos de GPS para generar transformaciones 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 dependerá de la cobertura del 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 del GPS disponibles para generar transformaciones 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 mensaje "Enter AR") solo cuando VPS está disponible.

Habilita la API de ARCore

Tu app debe habilitar la API de ARCore para verificar la disponibilidad de VPS.

Verifica 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 del VPS en una posición horizontal determinada. Una vez que tengas el elemento GARVPSAvailabilityFuture, podrás obtener su resultado con un sondeo o una devolución de llamada.

Consulta los resultados

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. Usa GARVPSAvailabilityFuture.result para obtener el resultado.

Puedes seguir revisando GARFuture.state hasta que se complete la tarea.

Obtén el resultado mediante una devolución de llamada

También puedes obtener el resultado de un Future a través de 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.

Cancelar Future

Usa GARFuture#cancel para intentar cancelar el Future. Debido al paralelismo de subprocesos, es posible que el intento de cancelación no se realice correctamente. GARFuture#cancel muestra YES si este intento se realizó correctamente y, de lo contrario, muestra NO.

Usa la API de Geospatial sin cobertura de VPS

La API de Geospatial también se puede usar en áreas que no tienen cobertura 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?