Verificar a disponibilidade do VPS no local atual do dispositivo

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 onde o dispositivo possa determinar a localização:

  • Em áreas com baixa precisão de GPS, como espaços internos e ambientes urbanos densos, a API vai usar a cobertura de VPS para gerar transformações de alta precisão.
  • Em ambientes externos com poucas ou nenhuma obstrução aérea, a API Geospatial pode usar os dados de localização de GPS disponíveis para gerar transformações geoespaciais com alta precisão.

Você pode 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 apresentar um botão "Enter AR" 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 de VPS no seu app

A API Geospatial pode ser usada em qualquer lugar em que o dispositivo possa determinar a própria localização. Se a experiência de RA depender da cobertura do VPS, você poderá usar o GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: para acessar uma GARVPSAvailabilityFuture, uma tarefa assíncrona que verifica a disponibilidade do VPS em uma determinada posição horizontal. Quando tiver o GARVPSAvailabilityFuture, você poderá conferir o resultado pesquisando ou com um callback.

Pesquisar o resultado

Use GARFuture.state para ver o estado da Future. Há três estados diferentes:

  • GARFutureStatePending: a operação ainda não foi concluída. Portanto, nenhum resultado é conhecido.
  • GARFutureStateCancelled: a operação foi cancelada por GARFuture#cancel. Os callbacks registrados nunca serão chamados.
  • GARFutureStateDone: a operação foi concluída. Use GARVPSAvailabilityFuture.result para ver o resultado.

Continue verificando GARFuture.state até que a tarefa seja concluída.

Receber o resultado usando um callback

Também é possível receber o resultado de um Future usando um callback. Use GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: e forneça um completionHandler. Esse completionHandler será chamado na linha de execução principal logo depois que o Future ficar com o estado GARFutureStateDone.

Cancelar o Future

Use GARFuture#cancel para tentar cancelar o Future. Devido ao paralelismo de linhas de execução, pode ser que sua tentativa de cancelamento não tenha êxito. GARFuture#cancel vai retornar YES se essa 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 ao ar livre com pouca ou nenhuma obstrução aérea, o GPS pode ser suficiente para gerar uma pose com alta precisão.

A seguir