Configurer les commandes de la caméra

Sélectionnez une plate-forme : Android iOS JavaScript

Les utilisateurs peuvent contrôler le zoom, l'inclinaison, la position et la rotation de la caméra à l'aide de gestes sur la carte. Vous pouvez également configurer la caméra par programmation.

Diagramme illustrant le modèle de caméra 3D

Position de la caméra

La vue de la carte est modélisée comme une caméra orientée vers un point spécifique dans un espace 3D. La position et l'orientation de la caméra (et par conséquent le rendu de la carte) sont indiquées par les propriétés suivantes: centre (position de latitude/longitude/altitude vers laquelle la caméra est orientée), cap, inclinaison, portée et roulis.

Centre (latitude/longitude/altitude)

Le centre définit le point spécifique dans l'espace 3D que la caméra observe. Cette valeur est spécifiée à l'aide de valeurs de latitude, de longitude et d'altitude. Cela permet de positionner précisément le point focal de la caméra en trois dimensions.

La latitude peut être comprise entre -90 et 90 degrés, inclus. Les valeurs supérieures ou inférieures à cette fourchette seront limitées à la valeur la plus proche dans cette fourchette. Par exemple, si vous spécifiez une latitude de 100, la valeur sera définie sur 90. La longitude est comprise entre -180 et 180 degrés, inclus. L'altitude est spécifiée en mètres au-dessus du niveau de la mer.

Titre

Le cap de la caméra spécifie la direction vers laquelle elle pointe, mesurée en degrés dans le sens des aiguilles d'une montre à partir du nord géographique. Le nord correspond à 0 degrés, l'est à 90 degrés, le sud à 180 degrés et l'ouest à 270 degrés. Cela détermine l'orientation de la caméra autour de l'axe vertical du point central.

Inclinaison

L'inclinaison spécifie l'angle de la caméra par rapport à l'axe vertical, mesuré en degrés. Une inclinaison de 0 degré signifie que la caméra est orientée vers le bas, vers la Terre (nadir). Une inclinaison de 90 degrés signifie que la caméra est orientée horizontalement dans la direction spécifiée par l'orientation.

Plage

La plage définit la distance en mètres entre la position de la caméra et le point central qu'elle regarde. La plage peut varier de zéro mètre (très gros plan) à 63 millions de mètres, ce qui permet d'obtenir des vues très rapprochées jusqu'à une perspective véritablement globale. Cela permet de contrôler le niveau de zoom avant ou arrière de la carte.

Roulis

Le roll définit l'angle de la caméra par rapport à l'horizon, mesuré en degrés. Ce paramètre peut être utilisé pour créer des effets tels que des virages lors de simulations de vol ou même un tonneau complet, en faisant pivoter la caméra autour de son axe de vision.

Contrôler la caméra

L'exemple de code suivant montre comment contrôler la caméra par programmation.

Swift

public static var sanFrancisco: Camera = .init(
  latitude: 37.7845812,
  longitude: -122.3660241,
  altitude: 585,
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)