Haritaya 3D model ekleme

Platform seçin: Android iOS JavaScript

Harita üzerinde 3D model

Aşağıdaki kod örneğinde, addModel yöntemini çağırarak 3D model ekleme ve bu modeli 3D alanda konumlandırma işlemi 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, aşağıdaki kodu MainActivity.kt dosyasına ekleyin:

// Add imports and define constants
import com.google.android.gms.maps3d.model.Map3DMode
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.setMapMode(Map3DMode.SATELLITE)
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 dinleyicisinin 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'de bunu yapmak için lifecycleScope.launch(Dispatchers.Main) kullanabilirsiniz.