Kamera yolu animasyonları ekleme

Platform seçin: Android iOS JavaScript

Kullanıcılarınıza daha etkileyici bir deneyim sunmak için 3D haritanıza kamera yolu animasyonları ekleyebilirsiniz. Kamera yolu animasyonları, haritadaki bir noktaya uçabilir, bu noktanın etrafında uçabilir veya Camera öğesini haritadaki bir noktaya animasyonla taşımak için birleştirilebilir. Bu noktaya taşınırken rakım ve altitudeMode da belirtilebilir.

Bir animasyon için Camera yapılandırırken kameranın yüksekliğinin nasıl yorumlanacağını belirtmek üzere altitudeMode özelliğini ayarlayabilir (veya setAltitudeMode yöntemini çağırabilirsiniz):

  • AltitudeMode.ABSOLUTE: Rakımı, ortalama deniz seviyesinin üzerindeki metre cinsinden değer olarak yorumlar (belirtilmezse varsayılan değer).
  • AltitudeMode.RELATIVE_TO_GROUND: Yüksekliği, kameranın odak noktasında zemin yüzeyinin üzerindeki metre cinsinden değer olarak yorumlar.
  • AltitudeMode.RELATIVE_TO_MESH: Rakımı, kameranın odak noktasındaki en yüksek 3D ağ yüzeyinin (ör. binalar veya ağaçlar) üzerindeki metre cinsinden değer olarak yorumlar.

Git

Aşağıdaki kod örneğinde, Camera öğesinin flyCameraTo yöntemini GoogleMap3D üzerinde FlyToOptions yapılandırmasıyla çağırarak 3D haritada belirli bir noktaya uçacak şekilde nasıl animasyon oluşturulacağı gösterilmektedir.

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.FlyToOptions
import com.google.android.gms.maps3d.model.FlyAroundOptions
import com.google.android.gms.maps3d.model.Camera
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.flyCameraTo(
    flyToOptions {
        endCamera = camera {
            center = latLngAltitude {
                latitude = EMPIRE_STATE_BUILDING_LATITUDE
                longitude = EMPIRE_STATE_BUILDING_LONGITUDE
                altitude = 212.0 // in meters
            }
            heading = 34.0 // bearing in degrees
            tilt = 67.0 // relative to vertical
            range = 750.0 // distance away from the focal point in meters
            roll = 0.0 // roll relative to horizontal
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 2000
    }
)

Etrafta uçma

Aşağıdaki kod örneğinde, Camera öğesinin flyCameraAround yöntemini GoogleMap3D üzerinde FlyAroundOptions yapılandırmasıyla çağırarak 3D haritadaki belirli bir nokta etrafında uçacak şekilde nasıl animasyon oluşturulacağı gösterilmektedir.

// Add imports and define constants
import com.google.android.gms.maps3d.model.AltitudeMode
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.latLngAltitude
const val EMPIRE_STATE_BUILDING_LATITUDE = 40.748233
const val EMPIRE_STATE_BUILDING_LONGITUDE = -73.985663

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.flyCameraAround(
    flyAroundOptions {
        center = camera {
            center = latLngAltitude {
                latitude = EMPIRE_STATE_BUILDING_LATITUDE
                longitude = EMPIRE_STATE_BUILDING_LONGITUDE
                altitude = 212.0
            }
            heading = 34.0
            tilt = 67.0
            range = 750.0
            roll = 0.0
            altitudeMode = AltitudeMode.RELATIVE_TO_GROUND
        }
        durationInMillis = 5000
        rounds = 1.0 // Number of rotations - can be fractional
    }
)