Nachdem Sie die Einstellungen Ihrer App für die Verwendung der Geospatial API konfiguriert haben, können Sie Earth.getCameraGeospatialPose()
aufrufen, um einen GeospatialPose
zu erhalten, der die geografische Positionierung des Geräts für die Kamera im letzten Frame beschreibt. Diese Pose, die in einem Earth
-Objekt verwaltet wird, enthält die folgenden Informationen:
- Standort, ausgedrückt in Breiten- und Längengrad
- Höhe
- Eine Orientierung, die der Richtung entspricht, in der sich der Nutzer im EUS-Koordinatensystem befindet, wobei X+ nach Osten, Y+ nach oben und Z+ nach Süden zeigt
Tracking-Status prüfen
Georeferenzierte Werte sind nur gültig, solange Earth.TrackingState
TrackingState.TRACKING
ist. Alle Geospatial API-Aufrufe müssen in einem Earth.TrackingState
-Steuerblock eingeschlossen sein.
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) { GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose(); // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
if (earth.trackingState == TrackingState.TRACKING) { val cameraGeospatialPose = earth.cameraGeospatialPose // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Wenn Earth.TrackingState
nicht zu TrackingState.TRACKING
wird, kann Earth.TrackingState
TrackingState.PAUSED
oder TrackingState.STOPPED
sein. Wenn keine dieser Bedingungen erfüllt ist, klicken Sie auf Earth.Earthstate
. Daraufhin werden andere Fehlerstatus angezeigt, die das Tracking des Earth
-Objekts verhindern können.
Pose für mehr Genauigkeit anpassen
Wenn sich das Gerät in der Standardausrichtung befindet, sind die Neigungs- (X+) und Rollwinkel (Z+) aufgrund der natürlichen Ausrichtung mit dem AR-Tracking in der Regel präzise. Die Abweichungswinkel (Y+) können jedoch je nach Verfügbarkeit von VPS-Daten und zeitlichen Bedingungen am Standort variieren. Möglicherweise müssen Sie Anpassungen an Ihrer App vornehmen, um die Genauigkeit zu verbessern.
GeospatialPose.getOrientationYawAccuracy()
gibt eine Schätzung der Genauigkeit für die Gierwinkel (Y+) für eine bestimmte GeospatialPose
an. Die Genauigkeit des Gierwinkels ist eine Zahl, die den Radius in Grad des Konfidenzniveaus des 68. Perzentils um die von GeospatialPose.getEastUpSouthQuaternion()
zurückgegebenen Gierwinkel beschreibt. Mit anderen Worten: Es besteht eine Wahrscheinlichkeit von 68 %, dass der wahre Gierwinkel von GeospatialPose
korrekt ist.
Je höher der Wert, desto ungenauer ist die Vorhersage. Wenn der geschätzte Gierwinkel beispielsweise 60 Grad beträgt und die Giergenauigkeit 10 Grad, liegt der wahre Gierwinkel mit einer Wahrscheinlichkeit von 68% zwischen 50 und 70 Grad.
Nächste Schritte
- Platzieren Sie einen geospatialen Anker, indem Sie die raumbezogene Pose des Ankers abrufen.