Sprawdź dostępność VPS w bieżącej lokalizacji urządzenia

Interfejs Geospatial API korzysta z kombinacji danych VPS i danych GPS do generowania przekształceń geoprzestrzennych o wysokiej dokładności. Interfejsu API można używać w każdym miejscu, w którym urządzenie może określić swoje położenie:

  • W obszarach o niskiej dokładności GPS, na przykład w pomieszczeniach wewnątrz i w gęsto zabudowanych środowiskach miejskich, do generowania przekształceń z użyciem VPS interfejs API będzie wykorzystywać zasięg VPS.
  • W środowiskach zewnętrznych, w których nie ma przeszkód w górę lub nie ma ich wcale, interfejs Geospatial API może korzystać z dostępnych danych o lokalizacji GPS do generowania przekształceń geoprzestrzennych z dużą dokładnością.

Możesz określić dostępność VPS w danej pozycji poziomej przed rozpoczęciem sesji AR i wykorzystać ją do tworzenia bardziej szczegółowych doświadczeń, na przykład do pokazania opcji „Enter AR” (Tryb AR). tylko wtedy, gdy dostępny jest VPS.

Włączanie interfejsu ARCore API

Aby sprawdzić dostępność VPS, musisz włączyć w aplikacji ARCore API.

Sprawdź dostępność VPS w swojej aplikacji

Interfejsu Geospatial API można używać w dowolnym miejscu, w którym urządzenie może określić swoje położenie. Jeśli działanie AR zależy od pokrycia VPS, możesz użyć narzędzia GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:, aby uzyskać GARVPSAvailabilityFuture – asynchroniczne zadanie, które sprawdza dostępność VPS w danej pozycji poziomej. Gdy już masz GARVPSAvailabilityFuture, możesz uzyskać wynik przez ankietę lub wywołanie zwrotne.

Przeprowadź ankietę

Użyj GARFuture.state, by uzyskać stan Future. Istnieją 3 różne stany:

  • GARFutureStatePending: operacja nie została jeszcze zakończona, więc nie są znane żadne wyniki.
  • GARFutureStateCancelled: operacja została anulowana przez użytkownika GARFuture#cancel. Żadne zarejestrowane wywołanie zwrotne nie zostanie nigdy nawiązane.
  • GARFutureStateDone: operacja została zakończona. Aby uzyskać wynik, użyj GARVPSAvailabilityFuture.result.

Możesz sprawdzać pole GARFuture.state, dopóki zadanie nie zostanie ukończone.

Uzyskanie wyniku przez wywołanie zwrotne

Możesz też uzyskać wynik funkcji Future, korzystając z wywołania zwrotnego. Użyj aplikacji GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: i podaj completionHandler. Ta funkcja completionHandler zostanie wywołana w wątku głównym wkrótce po tym, jak Future będzie miała stan GARFutureStateDone.

Anuluj: Future

Użyj adresu GARFuture#cancel, aby anulować Future. Z powodu równoległości wątków może się zdarzyć, że próba anulowania się nie powiedzie. Jeśli próba zakończyła się powodzeniem, funkcja GARFuture#cancel zwraca wartość YES. W przeciwnym razie zwraca wartość NO.

Używaj interfejsu Geospatial API bez zasięgu VPS

Interfejsu Geospatial API można też używać na obszarach, które nie mają zasięgu VPS. Na zewnątrz, gdzie jest niewiele przeszkód z góry, lub bez przeszkód, do wygenerowania pozycji z dużą dokładnością wystarczy GPS.

Co dalej?