असल दुनिया की जगहों पर कॉन्टेंट ऐंकर करना

इस्तेमाल किए जा सकने वाले XR डिवाइस
इन दिशा-निर्देशों से आपको इस तरह के एक्सआर डिवाइसों के लिए अनुभव तैयार करने में मदद मिलती है.
वायर वाले एक्सआर स्मार्ट ग्लास

जियोस्पेशल ऐंकर एक तरह के ऐंकर होते हैं. इनकी मदद से, जियोस्पेशल एपीआई का इस्तेमाल करके, भौगोलिक निर्देशांकों के साथ 3D कॉन्टेंट को प्लेस किया जा सकता है.

जियोस्पेशल ऐंकर, अपनी पोज़िशन तय करने के लिए अक्षांश और देशांतर का इस्तेमाल करते हैं. अक्षांश और देशांतर की जानकारी, WGS84 स्पेसिफ़िकेशन के हिसाब से तय की जाती है. ये वही निर्देशांक होते हैं जो सामान्य जीपीएस सिस्टम में दिखाए जाते हैं.

किसी जगह के अक्षांश और देशांतर का पता लगाना

अगर आपको किसी खास जगह की जानकारी चाहिए, तो उसके अक्षांश और देशांतर का पता लगाने के लिए, Google Maps का इस्तेमाल करें:

  1. डेस्कटॉप कंप्यूटर पर Google Maps पर जाएं.
  2. लेयर > ज़्यादा पर जाएं.

    Google Maps पर लेयर बटन

    Google Maps पर 'ज़्यादा' बटन

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

    Google Maps पर मैप टाइप के विकल्प

    इससे 2D पर्सपेक्टिव मिलता है और 3D व्यू की वजह से होने वाली गड़बड़ियां खत्म हो जाती हैं.

  4. मैप पर, जगह पर राइट क्लिक करें. इसके बाद, देशांतर और अक्षांश को चुनकर, उसे अपने क्लिपबोर्ड पर कॉपी करें.

उपयोगकर्ता के आस-पास की किसी जगह को जियोस्पेशल ऐंकर में बदलना

अगर आपके पास किसी जगह पर जाने का विकल्प है, तो डिवाइस-लोकल पोज़ को जियोस्पेशल पोज़ में बदलकर, स्थानीय रीडिंग से अक्षांश, देशांतर, और ऊंचाई का पता लगाया जा सकता है.

जियोस्पेशल ऐंकर पर कॉन्टेंट की पोज़िशन तय करना

जियोस्पेशल ऐंकर के लिए, ऊंचाई की वैल्यू की ज़रूरत होती है. यह वैल्यू, 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)