Uygulamanızın ayarlarını Geospatial API'yi kullanacak şekilde yapılandırdıktan sonra, ArEarth_getCameraGeospatialPose
çağırarak cihazın son karede kameranın coğrafi konumunu açıklayan bir ArGeospatialPose
elde edebilirsiniz. ArEarth
nesnesinde yönetilen bu poz, aşağıdaki bilgileri içerir:
- Enlem ve boylam cinsinden ifade edilen konum
- Rakım
- X+ doğuyu, Y+ yukarıyı ve Z+ güneyi işaret edecek şekilde EUS koordinat sisteminde kullanıcının baktığı yönü yaklaşık olarak gösteren yön
İzleme durumunu kontrol etme
Coğrafi değerler yalnızca ArEarth.ArTrackingState
ArTrackingState.AR_TRACKING_STATE_TRACKING
ve ArEarth.ArEarthState
AR_EARTH_STATE_ENABLED
olduğunda geçerlidir. Tüm Coğrafi API çağrılarını bir ArEarth.ArTrackingState
kontrol bloğuna sarmalayın.
if (ar_earth != NULL) { ArTrackingState earth_tracking_state = AR_TRACKING_STATE_STOPPED; ArTrackable_getTrackingState(ar_session, (ArTrackable*)ar_earth, &earth_tracking_state); if (earth_tracking_state == AR_TRACKING_STATE_TRACKING) { ArGeospatialPose* camera_geospatial_pose = NULL; ArGeospatialPose_create(ar_session, &camera_geospatial_pose); ArEarth_getCameraGeospatialPose(ar_session, ar_earth, camera_geospatial_pose); // camera_geospatial_pose contains geodetic location, rotation, and // confidences values. ArGeospatialPose_destroy(camera_geospatial_pose); } }
ArEarth.ArTrackingState
, ArTrackingState.AR_TRACKING_STATE_TRACKING
haline gelmezse ArEarth.ArTrackingState
değeri AR_TRACKING_STATE_PAUSED
veya AR_TRACKING_STATE_STOPPED
olabilir. Bu koşulların ikisi de doğru değilse ArEarth
nesnesinin izlenmesini engelleyebilecek diğer hata durumlarını gösteren ArEarth.ArEarthState
öğesini işaretleyin.
Pozu doğru olacak şekilde ayarlayın
Cihaz varsayılan yönde dik konumda olduğunda, AR izlemeyle doğal hizalama nedeniyle perde (X+) ve yuvarlama (Z+) açıları genellikle hassastır. Ancak yan kayma (Y+) açıları, VPS veri kullanılabilirliğine ve konumdaki zamansal koşullara bağlı olarak değişebilir. Uygulamanızda doğruluk için düzenlemeler yapmanız gerekebilir.
ArGeospatialPose_getOrientationYawAccuracy()
, belirli bir ArGeospatialPose
için yan kayma (Y+) açıları için doğruluk tahmini sağlar. Yön sapma doğruluğu, ArGeospatialPose_getEastUpSouthQuaternion()
tarafından döndürülen sapma açıları etrafındaki 68. yüzdelik dilim güven düzeyinin yarıçapını (derece cinsinden) tanımlayan bir sayıdır. Başka bir deyişle, ArGeospatialPose
'in gerçek sapma açısının doğru olma olasılığı% 68'dir.
Değer ne kadar büyükse doğruluğun düşük olduğunu belirtir. Örneğin, tahmini sapma açısı 60 derece ve sapma doğruluğu 10 derece ise gerçek sapma açısının 50 ile 70 derece arasında olma olasılığı %68'dir.
Sırada ne var?
- Sabitleyicinin coğrafi konumunu elde ederek bir coğrafi konum sabitleyici yerleştirin.