نقاط الارتكاز الجغرافية المكانية هي نوع من نقاط الارتكاز التي تتيح لك وضع محتوى ثلاثي الأبعاد مع إحداثيات جغرافية باستخدام واجهة برمجة التطبيقات Geospatial.
تستخدم نقاط الارتكاز الجغرافية المكانية خطوط العرض والطول لتحديد موضعها. يتم تحديد خطوط العرض والطول من خلال مواصفات WGS84، وهي الإحداثيات نفسها التي تظهر في نظام GPS العادي.
تحديد خط العرض وخط الطول لموقع جغرافي
إذا كان لديك معلم جذب معيّن في ذهنك، استخدِم خرائط Google لتحديد خط العرض وخط الطول الخاصَّين به:
- انتقِل إلى خرائط Google على كمبيوتر مكتبي.
انتقِل إلى الطبقات > المزيد.


غيِّر نوع الخريطة إلى قمر صناعي وأزِل العلامة من مربّع الاختيار عرض الكرة الأرضية في أسفل يمين الشاشة.

يفرض هذا منظورًا ثنائي الأبعاد ويزيل الأخطاء المحتملة التي يمكن أن تأتي من عرض ثلاثي الأبعاد بزاوية.
على الخريطة، انقر بزر الماوس الأيمن على الموقع الجغرافي واختَر خط الطول وخط العرض لنسخهما إلى الحافظة.
تحويل موضع في منطقة المستخدم إلى نقطة ارتساء جغرافية مكانية
إذا كان بإمكانك الانتقال إلى نقطة الاهتمام، يمكنك تحديد خط العرض وخط الطول والارتفاع من قراءة محلية من خلال تحويل وضعية محلية للجهاز إلى وضعية جغرافية مكانية.
تحديد موضع المحتوى في نقطة ارتساء جغرافية مكانية
تتطلّب نقاط الارتكاز الجغرافية المكانية قيمة ارتفاع، وهي قيمة نسبية إلى المجسّم الإهليلجي WGS84 أو إلى التضاريس أو السطح.
بالنسبة إلى قيم الارتفاع المرتبطة بنظام WGS84، استخدِم
Geospatial.createAnchor:val createAnchorResult = geospatial.createAnchor( latitude, longitude, altitude, Quaternion.Identity, )
بالنسبة إلى قيم الارتفاع بالنسبة إلى التضاريس أو سطح المبنى، استخدِم
Geospatial.createAnchorOnSurface، باستخدامGeospatialSurface.TERRAINوGeospatialSurface.ROOFTOPعلى التوالي لتحديد كيفية تفسير الارتفاع النهائي:val createAnchorResult = geospatial.createAnchorOnSurface( latitude, longitude, altitude, Quaternion.Identity, GeospatialSurface.TERRAIN, )
عند استخدام
GeospatialSurface.ROOFTOP، يتم ضبط الارتفاع تلقائيًا على ارتفاع التضاريس في حال عدم وضعه على مبنى.
بعد ذلك، تحقَّق من نتيجة طلب الإنشاء:
when (createAnchorResult) { is AnchorCreateSuccess -> { // Use anchorCreateResult.anchor to render content at the result. } else -> { // Anchor create failed. // See AnchorCreateResult for possible failure reasons. } }
أخيرًا، استخدِم نقطة الارتساء لتحديد موضع المحتوى الثلاثي الأبعاد:
Compose XR
Subspace(FollowTarget.anchor(anchorCreateResult.anchor)) { SpatialPanel { GeospatialContent() } }
SceneCore
val anchorSpace = AnchorSpace.create(session, anchorCreateResult.anchor) val contentEntity = createGeospatialContentEntity(context, session) anchorSpace.addChild(contentEntity)