Mã mẫu sau đây minh hoạ cách thêm một điểm đánh dấu cơ bản vào bản đồ 3D bằng cách gọi phương thức addMarker. Để 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 bản đồ 3D cơ bản. Sau đó, hãy thêm mã sau vào tệp MainActivity.kt:
// Add imports
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
...
// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.setCamera(
camera {
center = latLngAltitude {
latitude = 52.51974795
longitude = 13.40715553
altitude = 150.0
}
heading = 252.7
tilt = 79.0
range = 1500.0
}
)
// Add a marker using absolute altitude positioning
googleMap3D.addMarker(markerOptions {
position = latLngAltitude {
latitude = 52.519605780912585
longitude = 13.406867190588198
altitude = 150.0
}
label = "Absolute (150m)"
altitudeMode = AltitudeMode.ABSOLUTE
isExtruded = true
isDrawnWhenOccluded = true
collisionBehavior = CollisionBehavior.REQUIRED_AND_HIDES_OPTIONAL
})
Theo dõi sự kiện nhấp chuột vào điểm đánh dấu
Để lắng nghe các sự kiện nhấp chuột trên một điểm đánh dấu, hãy gọi setClickListener trên đối tượng điểm đánh dấu. Ví dụ sau đây cho thấy cách thiết lập trình theo dõi lượt nhấp trên một điểm đánh dấu:
marker.setClickListener {
lifecycleScope.launch(Dispatchers.Main) {
Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT)
.show()
}
}
Lưu ý rằng trình xử lý lượt nhấp không chạy trên luồng Chính (hoặc 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ị thông báo ngắn), 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).