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 haritayla ayarlayın. Ardından, MainActivity.kt dosyasına aşağıdaki kodu ekleyin:
// Add imports import com.google.android.gms.maps3d.model.latLngAltitude ... // Add to the onMap3DViewReady method, after the googleMap3D object has been initialized googleMap3D.setMapMode(Map3DMode.SATELLITE) 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 işlevini çağırın. Aşağıdaki örnekte, işaretçiye tıklama işleyicisinin 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 (ö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.