जियोस्पेशल ऐंकर एक तरह के ऐंकर होते हैं. इनकी मदद से, जियोस्पेशल एपीआई का इस्तेमाल करके, भौगोलिक निर्देशांकों के साथ 3D कॉन्टेंट को प्लेस किया जा सकता है.
जियोस्पेशल ऐंकर, अपनी पोज़िशन तय करने के लिए अक्षांश और देशांतर का इस्तेमाल करते हैं. अक्षांश और देशांतर की जानकारी, WGS84 स्पेसिफ़िकेशन के हिसाब से तय की जाती है. ये वही निर्देशांक होते हैं जो सामान्य जीपीएस सिस्टम में दिखाए जाते हैं.
किसी जगह के अक्षांश और देशांतर का पता लगाना
अगर आपको किसी खास जगह की जानकारी चाहिए, तो उसके अक्षांश और देशांतर का पता लगाने के लिए, Google Maps का इस्तेमाल करें:
- डेस्कटॉप कंप्यूटर पर Google Maps पर जाएं.
लेयर > ज़्यादा पर जाएं.


मैप टाइप को सैटलाइट में बदलें और स्क्रीन के सबसे नीचे बाएं कोने में मौजूद, ग्लोब व्यू चेकबॉक्स से सही का निशान हटाएं.

इससे 2D पर्सपेक्टिव मिलता है और 3D व्यू की वजह से होने वाली गड़बड़ियां खत्म हो जाती हैं.
मैप पर, जगह पर राइट क्लिक करें. इसके बाद, देशांतर और अक्षांश को चुनकर, उसे अपने क्लिपबोर्ड पर कॉपी करें.
उपयोगकर्ता के आस-पास की किसी जगह को जियोस्पेशल ऐंकर में बदलना
अगर आपके पास किसी जगह पर जाने का विकल्प है, तो डिवाइस-लोकल पोज़ को जियोस्पेशल पोज़ में बदलकर, स्थानीय रीडिंग से अक्षांश, देशांतर, और ऊंचाई का पता लगाया जा सकता है.
जियोस्पेशल ऐंकर पर कॉन्टेंट की पोज़िशन तय करना
जियोस्पेशल ऐंकर के लिए, ऊंचाई की वैल्यू की ज़रूरत होती है. यह वैल्यू, 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. } }
आखिर में, 3D कॉन्टेंट को पोज़िशन करने के लिए ऐंकर का इस्तेमाल करें:
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)