Aşağıdaki kod örneğinde, addMarker yöntemini çağırarak 3D haritaya nasıl temel bir işaretçi ekleneceği gösterilmektedir. Bu kod örneğini kullanmak için Kurulum ve Uygulamanıza 3D harita ekleme bölümlerindeki talimatları uygulayarak Android Studio projenizi temel bir 3D haritayla oluşturun. Ardından, MainActivity.kt dosyasına aşağıdaki kodu ekleyin:
// 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
})
İşaretçi tıklama etkinliklerini dinleme
Bir işaretçideki tıklama etkinliklerini dinlemek için işaretçi nesnesinde setClickListener yöntemini çağırın. Aşağıdaki örnekte, bir işaretçide tıklama dinleyicisinin nasıl ayarlanacağı gösterilmektedir:
marker.setClickListener {
lifecycleScope.launch(Dispatchers.Main) {
Toast.makeText(this@MarkersActivity, "Clicked on marker: ${marker.label}", Toast.LENGTH_SHORT)
.show()
}
}
Tıklama işleyicinin ana (veya kullanıcı arayüzü) iş parçacığında çalışmadığını unutmayın. Kullanıcı arayüzünde değişiklik yapmak istiyorsanız (ör. Toast mesajı gösterme) ana iş parçacığına geçmeniz gerekir. Kotlin'de bunu lifecycleScope.launch(Dispatchers.Main) kullanarak yapabilirsiniz.