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 merkez 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, FlyToOptions yapılandırmasıyla GoogleMap3D üzerinde flyCameraTo yöntemini çağırarak Camera öğesinin 3D haritadaki belirli bir noktaya uçacak şekilde nasıl animasyonlu hale getirileceği 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, FlyAroundOptions yapılandırmasıyla GoogleMap3D üzerinde flyCameraAround yöntemini çağırarak Camera öğesinin 3D haritadaki belirli bir noktanın etrafında uçacak şekilde nasıl animasyonlu hale getirileceği 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
    }
)