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. Le type de carte vectorielle est recommandé pour une expérience utilisateur optimale, car il offre une meilleure fidélité visuelle et permet de contrôler l'inclinaison et la direction sur la carte. En savoir plus sur les fonctionnalités des cartes vectorielles

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 lors de la configuration d'un ID de carte.

Spécifiez l'option renderingType.

Utilisez l'option renderingType pour spécifier le type de rendu matriciel ou vectoriel de votre carte (aucun ID de carte n'est 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 fonctionnalités requises.

  • Pour activer l'inclinaison, définissez l'option de carte tiltInteractionEnabled sur true ou appelez map.setTiltInteractionEnabled(true).
  • Pour activer le déplacement, 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 le contrôle de l'inclinaison et du cap activé. 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, mettez à jour le code d'initialisation de votre carte avec 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'
});