موقعیت جغرافیایی دوربین دستگاه را بدست آورید
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
هنگامی که تنظیمات برنامه خود را برای استفاده از Geospatial API پیکربندی کردید، می توانید AREarthManager.CameraGeospatialPose
دوربین دستگاه را دریافت کنید. این پوز که در یک شی AREarthManager
مدیریت می شود، حاوی اطلاعات زیر است:
- مکان، بیان شده در طول و عرض جغرافیایی
- ارتفاع
- جهت تقریبی جهتی که کاربر با آن روبرو است در سیستم مختصات EUS با X+ به سمت شرق، Y+ به سمت بالا و Z+ به سمت جنوب.
وضعیت ردیابی را بررسی کنید
مقادیر مکانی فقط زمانی معتبر هستند که AREarthManager.EarthTrackingState
TrackingState.Tracking
باشد. مطمئن شوید که همه تماسهای Geospatial API را در یک بلوک کنترلی AREarthManager.EarthTrackingState
قرار دهید.
var earthTrackingState = EarthManager.EarthTrackingState;
if (earthTrackingState == TrackingState.Tracking)
{
// camera_geospatial_pose contains geodetic location, rotation, and
// confidences values.
var cameraGeospatialPose = EarthManager.CameraGeospatialPose;
}
اگر AREarthManager.EarthTrackingState
تبدیل به TrackingState.Tracking
نشود، AREarthManager.EarthTrackingState
ممکن است TrackingState.Limited
یا TrackingState.None
باشد. اگر هیچ یک از این شرایط درست نیست، TrackingState.EarthTrackingState
بررسی کنید، که حالت های خطای دیگری را نشان می دهد که ممکن است شی AREarthManager
را از ردیابی باز دارد.
ژست را برای دقت تنظیم کنید
هنگامی که دستگاه در جهت پیشفرض عمودی است، به دلیل همترازی طبیعی با ردیابی AR، زوایای گام (X+) و رول (Z+) دقیق هستند. با این حال، زوایای انحراف (Y+) بسته به در دسترس بودن داده های VPS و شرایط زمانی در محل می تواند متفاوت باشد. برنامه شما ممکن است مجبور باشد تنظیماتی را برای دقت انجام دهد.
GeospatialPose.OrientationYawAccuracy
تخمین دقتی برای زوایای انحراف (Y+) برای یک AREarthManager.CameraGeospatialPose
خاص ارائه میکند. دقت انحراف جهت گیری عددی است که شعاع سطح اطمینان صدک 68 را بر حسب درجه در اطراف زوایای انحراف در GeospatialPose.EunRotation
توصیف می کند. به عبارت دیگر، 68% احتمال دارد که زاویه انحراف واقعی AREarthManager.CameraGeospatialPose
در تعداد درجاتی که توسط GeospatialPose.OrientationYawAccuracy
برگردانده شده است، دقیق باشد.
مقادیر بزرگتر نشان دهنده دقت کمتر است. به عنوان مثال، اگر زاویه انحراف تخمینی 60 درجه و دقت انحراف 10 درجه باشد، به احتمال 68 درصد زاویه انحراف واقعی بین 50 تا 70 درجه است.
بعدش چی
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-07-14 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-07-14 بهوقت ساعت هماهنگ جهانی."],[[["\u003cp\u003eAccess the device camera's geospatial pose, including location, altitude, and orientation, using the \u003ccode\u003eAREarthManager.CameraGeospatialPose\u003c/code\u003e after configuring the Geospatial API.\u003c/p\u003e\n"],["\u003cp\u003eEnsure the \u003ccode\u003eAREarthManager.EarthTrackingState\u003c/code\u003e is in the \u003ccode\u003eTrackingState.Tracking\u003c/code\u003e state before using geospatial values to avoid issues caused by limited or no tracking.\u003c/p\u003e\n"],["\u003cp\u003eAccount for potential inaccuracies in the yaw (Y+) angle of the orientation, especially when the device isn't upright, and utilize \u003ccode\u003eGeospatialPose.OrientationYawAccuracy\u003c/code\u003e to estimate the yaw accuracy.\u003c/p\u003e\n"],["\u003cp\u003eUnderstand that the \u003ccode\u003eGeospatialPose.OrientationYawAccuracy\u003c/code\u003e value represents the radius, in degrees, of the 68th percentile confidence level around the yaw angles, with larger values indicating lower accuracy.\u003c/p\u003e\n"]]],[],null,["# Obtain the device camera's Geospatial pose\n\nOnce you have configured your app's settings to use the Geospatial API, you can obtain the device camera's [`AREarthManager.CameraGeospatialPose`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#camerageospatialpose). This pose, managed in an [`AREarthManager`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager) object, contains the following information:\n\n- Location, expressed in latitude and longitude\n- Altitude\n- An orientation approximating the direction the user is facing in the EUS coordinate system with X+ pointing east, Y+ pointing up, and Z+ pointing south\n\nCheck the tracking state\n------------------------\n\nGeospatial values are only valid while [`AREarthManager.EarthTrackingState`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate) is [`TrackingState.Tracking`](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.TrackingState.html). Make sure to wrap all Geospatial API calls in a [`AREarthManager.EarthTrackingState`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate) control block. \n\n var earthTrackingState = EarthManager.EarthTrackingState;\n if (earthTrackingState == TrackingState.Tracking)\n {\n // camera_geospatial_pose contains geodetic location, rotation, and\n // confidences values.\n var cameraGeospatialPose = EarthManager.CameraGeospatialPose;\n }\n\nIf [`AREarthManager.EarthTrackingState`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate) does not become [`TrackingState.Tracking`](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.TrackingState.html), [`AREarthManager.EarthTrackingState`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate) may be [`TrackingState.Limited`](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.TrackingState.html) or [`TrackingState.None`](https://docs.unity3d.com/Packages/com.unity.xr.arsubsystems@4.2/api/UnityEngine.XR.ARSubsystems.TrackingState.html). If neither of these conditions are true, check [`TrackingState.EarthTrackingState`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#earthtrackingstate), which shows other error states that may keep the [`AREarthManager`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager) object from tracking.\n\nAdjust the pose for accuracy\n----------------------------\n\nWhen the device is upright in the default orientation, the pitch (X+) and roll (Z+) angles tend to be precise due to a natural alignment with AR tracking. However, the yaw (Y+) angles can vary depending on VPS data availability and temporal conditions at the location. Your app may have to make adjustments for accuracy.\n\n[`GeospatialPose.OrientationYawAccuracy`](/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/GeospatialPose#orientationyawaccuracy) provides an accuracy estimate for the yaw (Y+) angles for a certain [`AREarthManager.CameraGeospatialPose`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#camerageospatialpose). The orientation yaw accuracy is a number that describes the radius, in degrees, of the 68th percentile confidence level around the yaw angles in [`GeospatialPose.EunRotation`](/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/GeospatialPose#eunrotation). In other words, there is a 68% chance that the [`AREarthManager.CameraGeospatialPose`](/ar/reference/unity-arf/class/Google/XR/ARCoreExtensions/AREarthManager#camerageospatialpose)'s true yaw angle is accurate within the number of degrees returned by\n[`GeospatialPose.OrientationYawAccuracy`](/ar/reference/unity-arf/struct/Google/XR/ARCoreExtensions/GeospatialPose#orientationyawaccuracy).\n\nLarger values indicate lower accuracy. For example, if the estimated yaw angle is 60 degrees and the yaw accuracy is 10 degrees, then there is a 68% probability that the true yaw angle is between 50 and 70 degrees.\n\nWhat's next\n-----------\n\n- [Place a Geospatial anchor](/ar/develop/unity-arf/geospatial/anchors#wgs84_anchors) by obtaining the anchor's Geospatial pose."]]