Die Geospatial API verwendet eine Kombination aus VPS- und GPS-Daten, um hochpräzise geospatiale Transformationen 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 dichten städtischen Umgebungen, wird die API auf die VPS-Abdeckung angewiesen, um Transformationen mit hoher Genauigkeit zu generieren.
- In Außenbereichen mit wenigen oder gar keinen Hindernissen kann die Geospatial API verfügbare GPS-Standortdaten verwenden, um georäumliche 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 sie verwenden, um spezifischere Funktionen zu erstellen. So können Sie beispielsweise die Schaltfläche „AR starten“ nur anzeigen, 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 das Gerät seinen Standort bestimmen kann. Wenn die AR-Funktion von der VPS-Abdeckung abhängt, können Sie GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
verwenden, um eine GARVPSAvailabilityFuture
abzurufen. Dabei handelt es sich um 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
Mit GARFuture.state
können Sie den Status der Future
abrufen. Es gibt drei Status:
GARFutureStatePending
: Der Vorgang ist noch nicht abgeschlossen, daher ist kein Ergebnis bekannt.GARFutureStateCancelled
: Der Vorgang wurde vonGARFuture#cancel
abgebrochen. Ein registrierter Rückruf wird nie aufgerufen.GARFutureStateDone
: Der Vorgang ist abgeschlossen. Verwenden SieGARVPSAvailabilityFuture.result
, um das Ergebnis zu erhalten.
Sie können weiterhin in GARFuture.state
nachsehen, bis die Aufgabe abgeschlossen ist.
Ergebnis über einen Callback abrufen
Sie können das Ergebnis eines Future
auch über einen Callback erhalten. Verwenden Sie GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
und geben Sie eine completionHandler
an. Diese completionHandler
wird im Hauptthread aufgerufen, kurz nachdem die Future
den Status GARFutureStateDone
hat.
Future
stornieren
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 Außenumgebungen mit wenigen oder gar keinen Hindernissen über Kopf reicht das GPS möglicherweise aus, um eine Pose mit hoher Genauigkeit zu generieren.
Nächste Schritte
- Rufen Sie die räumlich-geografische Position der Gerätekamera ab, um den genauen Standort des Geräts in der realen Umgebung zu bestimmen.