Comment afficher ou masquer le bouton type de carte ?
Ce tutoriel est basé sur le code de l'exemple intitulé : Comment créer une carte avec l'API Google Maps Version 3 ?.
function initialisation(){
var optionsCarte = {
zoom: 8,
center: { lat: 47.389982, lng: 0.688877 }
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
}
Nous allons compléter ce code afin d'ajouter ou supprimer le bouton ou contrôle permettant de modifier le type de carte.
Carte avec le contrôle 'type de carte' désactivé
Propriété mapTypeControl
Le contrôle type de carte permet de modifier le type de carte à afficher. Quatre types de carte existent :
- Plan : Cliquer sur le bouton Plan,
- Relief : Cliquer sur le bouton Plan puis cocher la case Relief,
- Satellite : Cliquer sur le bouton Satellite,
- Hybride ou Satellite avec légendes : Cliquer sur le bouton Satellite puis cocher la case Légendes.
Pour afficher ou masquer le bouton 'type de carte' sur une carte, il suffit d'utiliser la propriété mapTypeControl
de l'objet MapOptions
.
La propriété mapTypeControl
est un booléen. Autrement dit elle ne peut prendre que deux valeurs : true
ou false
.
Afficher le bouton 'type de carte' - mapTypeControl: true
Pour activer le contrôle 'type de carte', il suffit de définir la propriété mapTypeControl
sur true
dans les options optionsCarte
servant à la construction de la carte.
function initialisation(){
var optionsCarte = {
zoom: 8,
center: { lat: 47.389982, lng: 0.688877 },
mapTypeControl: true
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
}
Masquer le bouton 'type de carte' - mapTypeControl: false
Pour désactiver le contrôle 'type de carte', il suffit de définir la propriété mapTypeControl
sur false
dans les options optionsCarte
servant à la construction de la carte.
function initialisation(){
var optionsCarte = {
zoom: 8,
center: { lat: 47.389982, lng: 0.688877 },
mapTypeControl: false
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
}
Comportement par défaut du bouton 'type de carte'
Par défaut, le contrôle 'type de carte' :
- est activé,
- apparaît dans le coin supérieur gauche de la carte,
- se présente sous la forme de deux boutons [ Plan ] et [ Satellite ] situés côte à côte.
Par conséquent, définir la propriété mapTypeControl
sur true
dans optionsCarte
:
function initialisation(){
var optionsCarte = {
zoom: 8,
center: { lat: 47.389982, lng: 0.688877 },
mapTypeControl: true
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
}
ou omettre la propriété mapTypeControl
dans optionsCarte
, affichera systématiquement le bouton type de carte sur la carte :
function initialisation(){
var optionsCarte = {
zoom: 8,
center: { lat: 47.389982, lng: 0.688877 }
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
}
Code final
Voici un exemple de code complet ou le bouton ou contrôle 'type de carte' n'est pas affiché sur la carte.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta charset="UTF-8" />
<title>Titre de votre page</title>
<style>
html, body {
height: 100%;
margin: 0;
padding: 0
}
#EmplacementDeMaCarte {
height: 100%
}
</style>
</head>
<body>
<div id="EmplacementDeMaCarte"></div>
<noscript>
<p>Attention : </p>
<p>Afin de pouvoir utiliser Google Maps, JavaScript doit être activé.</p>
<p>Or, il semble que JavaScript est désactivé ou qu'il ne soit pas supporté par votre navigateur.</p>
<p>Pour afficher Google Maps, activez JavaScript en modifiant les options de votre navigateur, puis essayez à nouveau.</p>
</noscript>
<script>
function initialisation(){
var optionsCarte = {
zoom: 8,
center: { lat: 47.389982, lng: 0.688877 },
mapTypeId: false
}
var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
}
</script>
<script async defer src="http://maps.googleapis.com/maps/api/js?key=InsérezVotreCléApiGoogleMapsIci&callback=initialisation"></script>
</body>
</html>