Cómo configurar los controles de la cámara

Selecciona la plataforma: Android iOS JavaScript

Los usuarios pueden controlar el zoom, la inclinación, la posición y la rotación de la cámara con gestos en el mapa. También puedes configurar la cámara de forma programática.

Diagrama que ilustra el modelo de cámara 3D

La posición de la cámara

La vista de mapa responde a un modelo en el cual una cámara apunta a un punto específico en un espacio 3D. La posición y la orientación de la cámara (y, por lo tanto, la renderización del mapa) se especifican a través de las siguientes propiedades: centro (una ubicación de latitud/longitud/altitud a la que está orientada la cámara), rumbo, inclinación, rango y balanceo.

Centro (latitud, longitud o altitud)

El centro define el punto específico en el espacio 3D que observa la cámara. Esto se especifica con la clase LatLngAltitude, que combina valores de latitud, longitud y altitud. Esto permite posicionar con precisión el punto focal de la cámara en tres dimensiones.

La latitud puede variar entre -90 y 90 grados, inclusive. La longitud varía entre -180 y 180 grados, inclusive. La altitud se especifica en metros sobre el nivel del mar.

Encabezado

El rumbo de la cámara especifica la dirección hacia la que apuntará la cámara, medida en grados en el sentido de las manecillas del reloj a partir del norte geográfico. El norte corresponde a 0 grados, el este a 90 grados, el sur a 180 grados y el oeste a 270 grados. Esto determina la orientación de la cámara alrededor del eje vertical del punto central.

Inclinación

La inclinación especifica el ángulo de la cámara con respecto al eje vertical, medido en grados. Una inclinación de 0 grados significa que la cámara apunta directamente hacia la Tierra (nadir). Una inclinación de 90 grados significa que la cámara está orientada horizontalmente en la dirección especificada por el rumbo.

Rango

El rango define la distancia en metros entre la posición de la cámara y el punto central al que está mirando. El rango puede variar desde cero metros (muy cerca) hasta sesenta y tres millones de metros, lo que permite vistas desde muy cerca hasta una perspectiva verdaderamente global. Esto controla de manera eficaz cómo se muestra el mapa “acercado” o “alejado”.

Giro

El rollo establece el ángulo de la cámara con respecto al horizonte, medido en grados. Este parámetro se puede usar para crear efectos como el balanceo durante las simulaciones de vuelo o incluso un giro completo, lo que rota la cámara alrededor de su eje de visión.

Cómo controlar la cámara

En la siguiente muestra de código, se muestra cómo controlar la cámara de forma programática llamando al método setCamera. Para usar este ejemplo de código, sigue las instrucciones en Configuración y Agrega un mapa 3D a tu app para configurar tu proyecto de Android Studio con un mapa 3D básico. Luego, agrega el siguiente código al archivo MainActivity.kt:

// Add imports
import com.google.android.gms.maps3d.model.latLngAltitude

...

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 38.743502
            longitude = -109.499374
            altitude = 1467.0
        }
        heading = 350.0
        tilt = 58.1
        range = 138.2
        roll = 0.0
    }
)