Type de rendu (raster et vectoriel)

L'API Maps JavaScript propose deux implémentations de carte différentes : la carte matricielle et la carte vectorielle. La carte matricielle est utilisée par défaut. Elle charge une grille de tuiles d'images matricielles basées sur des pixels, qui sont générées par Google Maps Platform côté serveur, puis diffusées dans votre application Web. La carte vectorielle est composée de tuiles basées sur des vecteurs, dessinées au moment du chargement côté client à l'aide de WebGL. Cette technologie Web permet au navigateur d'accéder au GPU sur l'appareil de l'utilisateur pour afficher des graphismes en 2D et en 3D. Nous vous recommandons d'utiliser le type de carte vectorielle pour une expérience utilisateur optimale, car il offre une fidélité visuelle améliorée et la possibilité de contrôler l'inclinaison et la direction sur la carte. En savoir plus sur les éléments de carte vectorielle

Définissez le type de rendu d'une carte en spécifiant l'option de carte renderingType ou en définissant l'option sur un ID de carte associé. L'option renderingType remplace tous les paramètres de type de rendu définis en configurant un ID de carte.

Spécifier l'option renderingType

Utilisez l'option renderingType pour spécifier le type de rendu matriciel ou vectoriel de votre carte (aucun ID de carte requis). Pour les cartes chargées à l'aide d'un élément div et de JavaScript, le type de rendu par défaut est google.maps.RenderingType.RASTER. Pour définir l'option renderingType:

  1. Chargez la bibliothèque RenderingType. Vous pouvez le faire lorsque vous chargez la bibliothèque Maps:

    const { Map, RenderingType } = await google.maps.importLibrary("maps");
    
  2. Lorsque vous initialisez la carte, utilisez l'option renderingType pour spécifier RenderingType.VECTOR ou RenderingType.RASTER:

    map = new Map(
      document.getElementById('map'),
      {
        zoom: 4,
        center: position,
        renderingType: RenderingType.VECTOR,
      }
    );
    

Lorsque le type de rendu de la carte vectorielle est défini, vous devez définir les options pour les éléments géographiques nécessaires.

  • Pour activer l'inclinaison, définissez l'option de carte tiltInteractionEnabled sur true ou appelez map.setTiltInteractionEnabled(true).
  • Pour activer le panoramique, définissez l'option de carte headingInteractionEnabled sur true ou appelez map.setHeadingInteractionEnabled(true).

Pour les cartes chargées à l'aide de l'élément <gmp-map>, le type de rendu par défaut est google.maps.RenderingType.VECTOR, avec l'inclinaison et le contrôle de l'orientation activés. Pour définir le type de rendu à l'aide de l'élément <gmp-map>, utilisez l'attribut rendering-type.

Utiliser un ID de carte pour définir le type de rendu

Vous pouvez également spécifier le type de rendu à l'aide d'un ID de carte. Pour créer un ID de carte, suivez la procédure décrite dans Utiliser les styles de cartes basés dans le cloud : obtenir un ID de carte. Veillez à définir le type de carte sur JavaScript, puis sélectionnez une option (Vecteur ou Trame). Cochez Inclinaison et Rotation pour activer l'inclinaison et la rotation sur la carte. Cela vous permet d'ajuster ces valeurs de manière programmatique, et permet aux utilisateurs d'ajuster l'inclinaison et la direction directement sur la carte. Si incliner ou faire tourner la carte affecte négativement votre application, décochez Inclinaison et Rotation pour que les utilisateurs ne puissent pas ajuster ces éléments.

Créer un ID de carte vectorielle

Ensuite, remplacez le code d'initialisation de la carte par l'ID de carte que vous avez créé. Vous trouverez vos ID de carte sur la page Gestion des cartes. Indiquez un ID de carte lorsque vous instanciez la carte à l'aide de la propriété mapId, comme indiqué ci-dessous :

map = new google.maps.Map(document.getElementById('map'), {
  center: {lat: -34.397, lng: 150.644},
  zoom: 8,
  mapId: 'MAP_ID'
});