

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Comment ajouter un contrôle sur la carte
<a name="how-to-add-control-on-map"></a>

Amazon Location Service vous permet d'ajouter plusieurs contrôles à la carte, notamment les contrôles de navigation, de géolocalisation, de plein écran, d'échelle et d'attribution.
+ **Contrôle de navigation** : contient des boutons de zoom et une boussole.
+ **Contrôle de géolocalisation** : fournit un bouton qui utilise l'API de géolocalisation du navigateur pour localiser l'utilisateur sur la carte.
+ **Contrôle en plein écran** : contient un bouton permettant d'activer ou de désactiver la carte en mode plein écran.
+ **Contrôle de l'échelle** : affiche le rapport entre une distance sur la carte et la distance correspondante au sol.
+ **Contrôle d'attribution** : présente les informations d'attribution de la carte. Par défaut, le contrôle d'attribution est étendu (quelle que soit la largeur de la carte).

Vous pouvez ajouter les commandes à n'importe quel coin de la carte : en haut à gauche, en bas à gauche, en bas à droite ou en haut à droite.

## Ajouter des commandes cartographiques
<a name="add-map-controls"></a>

Dans l'exemple suivant, vous allez ajouter les commandes cartographiques répertoriées ci-dessus.

### Exemple de code de contrôle cartographique
<a name="web-code-example"></a>

------
#### [ index.html ]

```
<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Map Controls</title>
        <meta property="og:description" content="Initialize a map in an HTML element with MapLibre GL JS." />
        <meta charset='utf-8'>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel='stylesheet' href='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.css' />
        <link rel='stylesheet' href='style.css' />
        <script src='https://unpkg.com/maplibre-gl@5.x/dist/maplibre-gl.js'></script>
    </head>
    <body>
        <!-- Map container -->
        <div id="map"></div>
        <script>
            const apiKey = "<API_KEY>";
            const mapStyle = "Standard"; // e.g., Standard, Monochrome, Hybrid, Satellite
            const awsRegion = "eu-central-1"; // e.g., us-east-2, us-east-1, us-west-2, etc.
            const styleUrl = `https://maps.geo.${awsRegion}.amazonaws.com/v2/styles/${mapStyle}/descriptor?key=${apiKey}`;

            const map = new maplibregl.Map({
                container: 'map', // container id
                style: styleUrl, // style URL
                center: [-123.13203602550998, 49.28726257639254], // starting position [lng, lat]
                zoom: 10, // starting zoom
                attributionControl: false, // hide default attributionControl in bottom left
            });

            // Adding controls to the map
            map.addControl(new maplibregl.NavigationControl()); // Zoom and rotation controls
            map.addControl(new maplibregl.FullscreenControl()); // Fullscreen control
            map.addControl(new maplibregl.GeolocateControl()); // Geolocation control
            map.addControl(new maplibregl.AttributionControl(), 'bottom-left'); // Attribution in bottom-left
            map.addControl(new maplibregl.ScaleControl(), 'bottom-right'); // Scale control in bottom-right
        </script>
    </body>
</html>
```

------
#### [ style.css ]

```
body { margin: 0; padding: 0; }
html, body, #map { height: 100%; }
```

------

## Conseils aux développeurs
<a name="developer-tips"></a>

### Options de commande de navigation
<a name="navigationcontrol-options"></a>

```
new maplibregl.NavigationControl({ 
    showCompass: true, // show or hide compass (default: true)
    showZoom: true // show or hide zoom controls (default: true)
});
```

### Options de contrôle de géolocalisation
<a name="geolocatecontrol-options"></a>

```
new maplibregl.GeolocateControl({ 
    positionOptions: { enableHighAccuracy: true }, // default: false
    trackUserLocation: true // default: false
});
```

### Options de contrôle d'attribution
<a name="attributioncontrol-options"></a>

```
new maplibregl.AttributionControl({
    compact: true, // compact (collapsed) mode (default: false)
});
```

### Options de contrôle de l'échelle
<a name="scalecontrol-options"></a>

```
new maplibregl.ScaleControl({ 
    maxWidth: 100, // width of the scale (default: 50)
    unit: 'imperial' // imperial or metric (default: metric)
});
```

### Options de contrôle en plein écran
<a name="fullscreencontrol-options"></a>

```
map.addControl(new maplibregl.FullscreenControl({
    container: document.querySelector('body') // container for fullscreen mode
}));
```