আপনার অ্যাপে একটি 3D মানচিত্র যোগ করুন

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

নিউ ইয়র্ক শহর দেখানো একটি ত্রিমাত্রিক মানচিত্র

এই পৃষ্ঠায় Android এর জন্য Maps 3D SDK ব্যবহার করে একটি Android অ্যাপে একটি মৌলিক 3D মানচিত্র কীভাবে যুক্ত করবেন তার একটি উদাহরণ দেওয়া হয়েছে। এই পৃষ্ঠার নির্দেশাবলী ধরে নেওয়া হয়েছে যে আপনি ইতিমধ্যেই সেটআপ পৃষ্ঠার ধাপগুলি সম্পন্ন করেছেন এবং নিম্নলিখিতগুলি আপনার আছে:

  • Android এর জন্য Maps 3D SDK সক্ষম করা একটি Google ক্লাউড প্রকল্প
  • Android এর জন্য Maps 3D SDK এর সাথে ব্যবহারের জন্য কনফিগার করা একটি API কী
  • অ্যান্ড্রয়েডের জন্য ম্যাপস 3D SDK-এর সাথে ব্যবহারের জন্য একটি অ্যান্ড্রয়েড স্টুডিও প্রকল্প সেট আপ করা হয়েছে।

এই পূর্বশর্তগুলি সম্পর্কে আরও তথ্যের জন্য, সেটআপ দেখুন।

পর্ব ১: Map3DView কম্পোনেন্ট যোগ করার জন্য লেআউট ফাইল ( activity_main.xml ) আপডেট করুন

Map3DView কম্পোনেন্ট হল সেই ভিউ যা অ্যাপের মধ্যে 3D ম্যাপ রেন্ডার করে। নিম্নলিখিত ধাপগুলি কম্পোনেন্টটি যোগ করে এবং ম্যাপের প্রাথমিক অবস্থা কনফিগার করে, যার মধ্যে ক্যামেরার অবস্থান এবং সম্পর্কিত বৈশিষ্ট্যগুলি অন্তর্ভুক্ত থাকে:

  1. আপনার প্রধান কার্যকলাপের লেআউট ফাইলটি খুলুন, যা সাধারণত app/src/main/res/layout/activity_main.xml এ অবস্থিত।

  2. রুট ConstraintLayout (অথবা আপনার রুট লেআউট উপাদান) তে, map3d XML নেমস্পেস যোগ করুন:

    xmlns:map3d="http://schemas.android.com/apk/res-auto"
    
  3. "হ্যালো ওয়ার্ল্ড!" প্রদর্শনকারী ডিফল্ট <TextView> মুছে ফেলুন।

  4. আপনার লেআউটে Map3DView কম্পোনেন্ট যোগ করুন। আপনি ক্যামেরার অবস্থান এবং অন্যান্য বৈশিষ্ট্যগুলি কাস্টমাইজ করতে পারেন:

    <?xml version="1.0" encoding="utf-8"?>
    <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"
      xmlns:map3d="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"
      android:id="@+id/main"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      tools:context=".MainActivity">
    
      <com.google.android.gms.maps3d.Map3DView
        android:id="@+id/map3dView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        map3d:mode="hybrid"
        map3d:centerLat="38.544012"
        map3d:centerLng="-107.670428"
        map3d:centerAlt="2427.6"
        map3d:heading="310"
        map3d:tilt="63"
        map3d:range="8266"
        map3d:roll="0"
        map3d:minAltitude="0"
        map3d:maxAltitude="1000000"
        map3d:minHeading="0"
        map3d:maxHeading="360"
        map3d:minTilt="0"
        map3d:maxTilt="90"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>
    

পার্ট ২: MainActivity.kt আপডেট করুন

নিম্নলিখিত ধাপগুলি পার্ট ১-এর activity_main.xml ফাইলে যোগ করা Map3DView কম্পোনেন্টটি আরম্ভ করে এবং কম্পোনেন্ট লাইফসাইকেল ইভেন্টগুলি পরিচালনা করে:

  1. আপনার MainActivity.kt ফাইলটি খুলুন, যা সাধারণত app/src/main/java/com/example/yourpackagename/MainActivity.kt এ থাকে।

  2. অ্যান্ড্রয়েডের জন্য ম্যাপস 3D SDK-এর জন্য প্রয়োজনীয় আমদানি যোগ করুন:

    import com.google.android.gms.maps3d.GoogleMap3D
    import com.google.android.gms.maps3d.Map3DView
    import com.google.android.gms.maps3d.OnMap3DViewReadyCallback
    
  3. OnMap3DViewReadyCallback বাস্তবায়নের জন্য MainActivity ক্লাসটি পরিবর্তন করুন:

    class MainActivity : AppCompatActivity(), OnMap3DViewReadyCallback {
    
  4. Map3DView এবং GoogleMap3D এর জন্য ভেরিয়েবল ঘোষণা করুন:

    private lateinit var map3DView: Map3DView
    private var googleMap3D: GoogleMap3D? = null
    
  5. onCreate পদ্ধতিতে, setContentView(...) এবং ViewCompat.setOnApplyWindowInsetsListener ব্লকের পরে, map3DView আরম্ভ করুন, এর onCreate লাইফসাইকেল পদ্ধতিটি কল করুন এবং অ্যাসিঙ্ক্রোনাসভাবে মানচিত্রটি অনুরোধ করুন:

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_main)
        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
            val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
            insets
        }
    
        map3DView = findViewById(R.id.map3dView)
        map3DView.onCreate(savedInstanceState)
        map3DView.getMap3DViewAsync(this)
    }
    
  6. onMap3DViewReady পদ্ধতিটি ওভাররাইড করুন। মানচিত্রটি ব্যবহারের জন্য প্রস্তুত হলে এই কলব্যাকটি ট্রিগার করা হয়:

    override fun onMap3DViewReady(googleMap3D: GoogleMap3D) {
        // Interact with the googleMap3D object here
        this.googleMap3D = googleMap3D
        // You can now make calls to the googleMap3D object, e.g.,
        // googleMap3D.cameraController.flyTo(camera { ... })
    }
    
  7. MainActivity তে নিম্নলিখিত ওভাররাইডগুলি যোগ করে আপনার Activity থেকে Map3DView এ জীবনচক্র ইভেন্টগুলি ফরোয়ার্ড করুন:

    override fun onStart() {
        super.onStart()
        map3DView.onStart()
    }
    
    override fun onResume() {
        super.onResume()
        map3DView.onResume()
    }
    
    override fun onPause() {
        map3DView.onPause()
        super.onPause()
    }
    
    override fun onStop() {
        map3DView.onStop()
        super.onStop()
    }
    
    override fun onDestroy() {
        map3DView.onDestroy()
        super.onDestroy()
    }
    
    override fun onSaveInstanceState(outState: Bundle) {
        super.onSaveInstanceState(outState)
        map3DView.onSaveInstanceState(outState)
    }
    
    override fun onLowMemory() {
        super.onLowMemory()
        map3DView.onLowMemory()
    }
    

পার্ট ৩: গ্রেডল সিঙ্ক করুন এবং রান করুন

এখন যেহেতু আপনি আপনার অ্যাপের লেআউট এবং কার্যকলাপ আপডেট করেছেন, আপনি 3D মানচিত্র দৃশ্য দেখতে অ্যাপটি তৈরি এবং চালাতে পারেন।

  1. আপনার প্রকল্পটি গ্র্যাডলের সাথে সিঙ্ক করতে, ফাইল > গ্র্যাডল ফাইলগুলির সাথে প্রকল্পটি সিঙ্ক করুন নির্বাচন করুন।

  2. এমুলেটর বা ফিজিক্যাল ডিভাইসে আপনার অ্যাপ তৈরি এবং চালাতে, Run > Run নির্বাচন করুন।

যদি সবকিছু সঠিকভাবে কনফিগার করা থাকে, তাহলে আপনার অ্যাপে একটি 3D মানচিত্র প্রদর্শিত হবে, যা আপনার activity_main.xml এ নির্দিষ্ট স্থানাঙ্কের কাছে কেন্দ্রীভূত থাকবে।

পরবর্তী পদক্ষেপ

এখন যেহেতু আপনি আপনার অ্যাপে একটি মৌলিক 3D মানচিত্র যোগ করেছেন, আপনি Android এর জন্য Maps 3D SDK এর আরও উন্নত বৈশিষ্ট্যগুলি অন্বেষণ করতে পারেন, যেমন ক্যামেরা পাথ অ্যানিমেশন , 3D মার্কার , অথবা বহুভুজ