Aşağıdaki kod örneğinde, addModel yöntemini çağırarak 3D modelin nasıl ekleneceği ve 3D uzayda nasıl konumlandırılacağı 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 haritayla ayarlayın. Ardından, aşağıdaki kodu MainActivity.kt dosyasına ekleyin:
// 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 } } )
3D model tıklama etkinliklerini dinleme
Bir 3D modeldeki tıklama etkinliklerini dinlemek için model nesnesinde
setClickListener işlevini çağırın. Aşağıdaki örnekte, 3D modelde tıklama işleyicisinin nasıl ayarlanacağı gösterilmektedir:
model.setClickListener { lifecycleScope.launch(Dispatchers.Main) { Toast.makeText(this@ModelsActivity, "Model clicked", 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 (ör. Toast mesajı göstermek) istiyorsanız ana iş parçacığına geçmeniz gerekir. Kotlin için bu işlemi lifecycleScope.launch(Dispatchers.Main) kullanarak yapabilirsiniz.