A API Geospatial usa uma combinação de dados de VPS e GPS para gerar transformações Geospatial de alta precisão. A API pode ser usada em qualquer lugar em que o dispositivo possa determinar a própria 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 suspensa, a API Geospatial pode usar os dados de localização por 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 possa 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.
Quando você tiver o GARVPSAvailabilityFuture
, poderá ver o resultado pesquisando ou usando um callback.
Pesquisar 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
. Esse completionHandler
será chamado na linha de execução principal logo depois que Future
tiver 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 dê certo.
GARFuture#cancel
retornará YES
se a tentativa for bem-sucedida. Caso contrário, retornará NO
.
Usar a API Geospatial sem cobertura de VPS
A API Geospatial também pode ser usada em áreas que não têm cobertura de VPS. Em ambientes externos com pouca ou nenhuma obstrução suspensa, o GPS pode ser suficiente para gerar uma pose com alta precisão.
A seguir
- Conseguir a pose geoespacial da câmera do dispositivo para determinar a localização exata do dispositivo do usuário no mundo real.