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

Die Geospatial API verwendet eine Kombination aus VPS- und GPS-Daten, um hochpräzise raumbezogene Transformationen zu generieren. Die API kann überall verwendet werden, wo das Gerät seinen Standort ermitteln kann:

  • In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und dicht bebauten städtischen Umgebungen, setzt die API auf eine VPS-Abdeckung, um hochpräzise Transformationen zu generieren.
  • In Außenumgebungen mit wenigen oder keinen Hindernissen durch den Kopf kann die Geospatial API die verfügbaren GPS-Standortdaten verwenden, um raumbezogene Transformationen mit hoher Genauigkeit zu generieren.

Sie können die Verfügbarkeit von VPS an einer bestimmten horizontalen Position ermitteln, bevor die AR-Sitzung beginnt, und sie verwenden, um spezifischere Funktionen zu erstellen, z. B. um die Schaltfläche „AR aktivieren“ nur dann einzublenden, wenn VPS verfügbar ist.

ARCore API aktivieren

Ihre App muss die ARCore API aktivieren, um die Verfügbarkeit von VPS zu prüfen.

Verfügbarkeit von VPS in Ihrer App prüfen

Die Geospatial API kann überall verwendet werden, wo das Gerät seinen Standort ermitteln kann. Wenn Ihre AR-Nutzung von der VPS-Abdeckung abhängt, können Sie GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: verwenden, um eine GARVPSAvailabilityFuture zu erhalten. Das ist eine asynchrone Aufgabe, die die VPS-Verfügbarkeit an einer bestimmten horizontalen Position prüft. Sobald Sie die 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, sodass kein Ergebnis bekannt ist.
  • GARFutureStateCancelled: Der Vorgang wurde von GARFuture#cancel abgebrochen. Registrierte Callbacks werden nie aufgerufen.
  • GARFutureStateDone: Der Vorgang ist abgeschlossen. Verwenden Sie GARVPSAvailabilityFuture.result, um das Ergebnis abzurufen.

Sie können die Suche in GARFuture.state fortsetzen, bis die Aufgabe abgeschlossen ist.

Ergebnis über einen Callback abrufen

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

Future abbrechen

Versuchen Sie mit GARFuture#cancel, Future abzubrechen. Aufgrund der Threadparallelitä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 Regionen verwendet werden, in denen keine VPS-Abdeckung vorliegt. In Außenbereichen mit wenigen oder gar keinen Hindernissen über dem Kopf reicht das GPS unter Umständen aus, um eine Position mit hoher Genauigkeit zu erstellen.

Nächste Schritte