A API Geospatial usa uma combinação de dados de VPS e GPS para gerar transformações geoespaciais de alta precisão. A API pode ser usada em qualquer lugar em que o dispositivo consiga determinar a localização:
- Em áreas com baixa precisão de GPS, como espaços internos e ambientes urbanos densos, a API vai depender da cobertura de VPS para gerar transformações de alta precisão.
- Em ambientes externos com poucas ou nenhuma obstrução, a API Geospatial pode usar os dados de localização do GPS disponíveis para gerar transformações geoespaciais com alta precisão.
É possível determinar a disponibilidade do VPS em uma determinada posição horizontal antes do início da sessão de RA e usá-la para criar experiências mais específicas. Por exemplo, para mostrar um botão "Entrar no RA" somente quando o VPS estiver disponível.
Ativar a API ARCore
Seu app precisa ativar a API ARCore para verificar a disponibilidade do VPS.
Verificar a disponibilidade do VPS no app
A API Geospatial pode ser usada em qualquer lugar em que o dispositivo consiga determinar a própria localização. Se a sua experiência de RA depender da cobertura de VPS, use GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
para receber uma GARVPSAvailabilityFuture
, uma tarefa assíncrona que verifica a disponibilidade de VPS em uma determinada posição horizontal.
Depois de ter o GARVPSAvailabilityFuture
, é possível acessar o resultado por polling ou por um callback.
Consultar o resultado
Use GARFuture.state
para conferir o estado do Future
. Há três estados diferentes:
GARFutureStatePending
: a operação ainda não foi concluída, então nenhum resultado é conhecido.GARFutureStateCancelled
: a operação foi cancelada porGARFuture#cancel
. Nenhum callback registrado será chamado.GARFutureStateDone
: a operação foi concluída. UseGARVPSAvailabilityFuture.result
para receber o resultado.
Continue verificando GARFuture.state
até que a tarefa seja concluída.
Receber o resultado por um callback
Também é possível receber o resultado de uma Future
por um callback. Use GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
e forneça um completionHandler
. Essa completionHandler
será chamada na linha de execução principal logo após a Future
ter o estado GARFutureStateDone
.
Cancelar o Future
Use GARFuture#cancel
para tentar cancelar o Future
. Devido ao paralelismo de linhas de execução, é possível que sua tentativa de cancelamento não tenha sucesso.
GARFuture#cancel
retorna YES
se a tentativa foi bem-sucedida e NO
caso contrário.
Usar a API Geospatial sem cobertura de VPS
A API Geospatial também pode ser usada em áreas sem cobertura de VPS. Em ambientes externos com poucas ou nenhuma obstrução acima, o GPS pode ser suficiente para gerar uma pose com alta precisão.
A seguir
- Conferir a pose geoespacial da câmera do dispositivo para determinar a localização exata do dispositivo do usuário no mundo real.