Adicionar animações de caminho da câmera

Selecione a plataforma: Android iOS JavaScript

Você pode adicionar animações de caminho da câmera ao mapa 3D para oferecer uma experiência mais imersiva aos usuários. As animações de caminho da câmera podem voar para um ponto no mapa, voar ao redor dele ou ser combinadas para animar a Camera incluindo a especificação da altitude e altitudeMode.

Ao configurar um Camera para uma animação, você pode definir a propriedade altitudeMode (ou chamar setAltitudeMode) para especificar como a altitude da câmera é interpretada:

  • AltitudeMode.ABSOLUTE: interpreta a altitude como metros acima do nível médio do mar (o valor padrão se não for especificado).
  • AltitudeMode.RELATIVE_TO_GROUND: interpreta a altitude como metros acima da superfície do solo no ponto central da câmera.
  • AltitudeMode.RELATIVE_TO_MESH: interpreta a altitude como metros acima da superfície de malha 3D mais alta (como edifícios ou árvores) no ponto central da câmera.

Voar para

O exemplo de código a seguir demonstra como animar a Camera para voar até um ponto específico em um mapa 3D chamando o flyCameraTo método em GoogleMap3D com uma FlyToOptions configuração.

// 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
    }
)

Voar ao redor

O exemplo de código a seguir demonstra como animar o Camera para voar ao redor de um ponto específico em um mapa 3D chamando o flyCameraAround método em GoogleMap3D com uma configuração FlyAroundOptions.

// 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
    }
)