Đoạn mã mẫu sau đây minh hoạ cách thêm một mô hình 3D và đặt mô hình đó vào không gian 3D bằng cách gọi phương thức addModel. Để sử dụng mã mẫu này, hãy làm theo hướng dẫn trong phần Thiết lập và Thêm bản đồ 3D vào ứng dụng để thiết lập dự án Android Studio bằng một bản đồ 3D cơ bản. Sau đó, hãy thêm đoạn mã sau vào tệp MainActivity.kt:
// Add imports and define constants import com.google.android.gms.maps3d.model.latLngAltitude val PLANE_URL = "https://storage.googleapis.com/gmp-maps-demos/p3d-map/assets/Airplane.glb" val PLANE_SCALE = 0.05 // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.setCamera( camera { center = latLngAltitude { latitude = 47.133971 longitude = 11.333161 altitude = 2200.0 } heading = 221.0 tilt = 65.0 range = 1_200.0 } ) googleMap3D.addModel( modelOptions { id = "plane_model" position = latLngAltitude { latitude = 47.133971 longitude = 11.333161 altitude = 2200.0 } altitudeMode = AltitudeMode.ABSOLUTE orientation = orientation { heading = 41.5 tilt = -90.0 roll = 0.0 } url = PLANE_URL scale = vector3D { x = PLANE_SCALE y = PLANE_SCALE z = PLANE_SCALE } } )
Theo dõi các sự kiện nhấp vào mô hình 3D
Để theo dõi các sự kiện nhấp chuột trên một mô hình 3D, hãy gọi setClickListener trên đối tượng mô hình. Ví dụ sau đây cho thấy cách thiết lập trình nghe lượt nhấp trên một mô hình 3D:
model.setClickListener { lifecycleScope.launch(Dispatchers.Main) { Toast.makeText(this@ModelsActivity, "Model clicked", Toast.LENGTH_SHORT).show() } }
Xin lưu ý rằng trình xử lý lượt nhấp không chạy trên luồng chính (hoặc luồng giao diện người dùng). Nếu muốn thay đổi giao diện người dùng (chẳng hạn như hiện thông báo Toast), bạn phải chuyển sang luồng chính. Đối với Kotlin, bạn có thể thực hiện việc này bằng cách sử dụng lifecycleScope.launch(Dispatchers.Main).