Aşağıdaki kod örneğinde, addMarker yöntemini çağırarak 3D haritaya temel bir işaretçinin nasıl ekleneceği gösterilmektedir. Bu kod örneğini kullanmak için Kurulum ve Uygulamanıza 3D harita ekleme bölümündeki talimatları uygulayarak Android Studio projenizi temel bir 3D harita ile ayarlayın. 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 on işlevini çağırın. Aşağıdaki örnekte, işaretçiye tıklama işleyicinin 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 yapmak için
lifecycleScope.launch(Dispatchers.Main) kullanabilirsiniz.