Verfügbarkeit von VPS am aktuellen Standort des Geräts prüfen

Die Geospatial API verwendet eine Kombination aus VPS- und GPS-Daten, um raumbezogene Geotransformationen mit hoher Genauigkeit zu generieren. Die API kann an jedem Ort verwendet werden, an dem das Gerät seinen Standort ermitteln kann:

  • In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und dicht bebauten städtischen Umgebungen, wird die API auf die VPS-Abdeckung angewiesen, um Transformationen mit hoher Genauigkeit zu generieren.
  • In Umgebungen im Freien mit wenig oder gar keinen Hindernissen kann die Geospatial API die verfügbaren GPS-Standortdaten verwenden, um Geospatial-Transformationen mit hoher Genauigkeit zu generieren.

Sie können die VPS-Verfügbarkeit an einer bestimmten horizontalen Position vor Beginn der AR-Sitzung ermitteln und damit spezifischere Erlebnisse schaffen, z. B. um eine „Enter AR“ zu präsentieren. wenn VPS verfügbar ist.

ARCore API aktivieren

In Ihrer App muss die ARCore API aktiviert sein, um die VPS-Verfügbarkeit zu prüfen.

VPS-Verfügbarkeit in deiner App prüfen

Die Geospatial API kann überall dort verwendet werden, wo der Standort des Geräts ermittelt werden kann. Wenn die AR-Abdeckung von der VPS-Abdeckung abhängt, können Sie mit GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: eine GARVPSAvailabilityFuture abrufen. Das ist eine asynchrone Aufgabe, die die VPS-Verfügbarkeit an einer bestimmten horizontalen Position prüft. Sobald Sie das GARVPSAvailabilityFuture haben, können Sie das Ergebnis durch Abfragen oder über einen Callback abrufen.

Ergebnis abfragen

Verwenden Sie GARFuture.state, um den Status von Future abzurufen. Es gibt drei verschiedene Status:

  • GARFutureStatePending: Der Vorgang ist noch nicht abgeschlossen, daher ist kein Ergebnis bekannt.
  • GARFutureStateCancelled: Der Vorgang wurde von GARFuture#cancel abgebrochen. Registrierte Callbacks werden niemals aufgerufen.
  • GARFutureStateDone: Der Vorgang ist abgeschlossen. Verwenden Sie GARVPSAvailabilityFuture.result, um das Ergebnis zu erhalten.

Sie können weiterhin in GARFuture.state nachsehen, bis die Aufgabe abgeschlossen ist.

Ergebnis über einen Rückruf erhalten

Sie können das Ergebnis eines Future auch über einen Callback erhalten. Verwenden Sie GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: und geben Sie eine completionHandler an. completionHandler wird im Hauptthread aufgerufen, kurz nachdem Future den Status GARFutureStateDone hat.

Future kündigen

Versuchen Sie mit GARFuture#cancel, Future zu stornieren. Aufgrund der Thread-Parallelität ist es möglich, dass Ihr Abbruchversuch nicht erfolgreich ist. GARFuture#cancel gibt YES zurück, wenn dieser Versuch erfolgreich war, andernfalls NO.

Geospatial API ohne VPS-Abdeckung verwenden

Die Geospatial API kann auch in Gebieten eingesetzt werden, die keine VPS-Abdeckung haben. In Umgebungen mit wenig oder gar keinen Hindernissen im Freien kann GPS ausreichen, um eine Pose mit hoher Genauigkeit zu generieren.

Nächste Schritte