Interface GControl

L’interface GControl peut être implémentée dans le but de fournir des menus personnalisés sur vos cartes. Les contrôleurs seront ajoutés en utilisant les méthodes de GMap2.addControl().

constructeur GControl

La signature du constructeur GControl est la suivante : GControl([printable],[selectable]).

Ce constructeur créé l’instance d’une nouvelle classe de type contrôle. Si le booléen printable vaut true, les panneaux de contrôle seront visibles sur la version imprimée de la map.

Le booléen selectable indique si les textes présents dans les contrôleurs peuvent être sélectionnés ou pas.

méthodes GControl

printable()

Le type de donnée renvoyé par l’appel à la méthode printable() est un booléen. Si la méthode retourne true, les éléments de contrôles seront visibles sur la version imprimée de la map. Le cas échéant, la méthode retourne false.

selectable()

L’appel à la méthode selectable() retourne true si les contrôleurs contiennent du texte sélectionnable. Sinon retourne false.

initialize(map)

La méthode initialize() sera appelée par la carte de sorte que le contrôleur puissent s’initialiser. Cette méthode utilise la méthode GMap2.getContainer() afin de récupérer l’élément du DOM contenant la carte. La méthode retourne cet élément.

getDefaultPosition()

L’appel à la méthode getDefaultPosition() retourne la position ou apparaissent les panneaux de contrôle par défaut. Cette position peut être modifiée en renseignant le second argument (optionnel) de la méthode GMap2.addControl().

Classe GControl

Voici une liste des implémentations possibles de l’interface Gcontrol.

GSmallMapControl()

Le constructeur GSmallMapControl() ajoute un bouton multidirectionnel sur la carte (permettant de naviguer dans les 4 directions) ainsi que 2 boutons zoom positif et zoom négatif.

exemple d’utilisation

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'));
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map */
   map.setCenter(new GLatLng(48.8566667, 2.3509871), 13);
   /* Affichage de la carte centrée sur Paris */

   map.addControl(new GSmallMapControl());
   // On ajoute les contrôleurs: navigation multidirectionnelle, zoom + et zoom - 

</script>

GLargeMapControl()

Le constructeur GLargeMapControl() créé les mêmes boutons de contrôle que le constructeur GSmallMapControl en y ajoutant une barre de zoom progressif.

GSmallZoomControl()

Le constructeur GSmallZoomControl() ajoute 2 boutons : zoom positif et zoom négatif.

GLargeMapControl3D()

Le constructeur GLargeMapControl3D() ajoute la dernière version des boutons de contrôle de la Google Map : le bouton multidrectionnel, zoom positif et lezoom négatif ainsi qu’une barre de zoom progressif.
Si l’espace disponible sur la carte ne permet pas d’afficher cette barre, seuls les deux boutons zoom + et zoom - appraîtront.

GSmallZoomControl3D()

Le constructeur GSmallZoomControl3D() ajoute 2 boutons (de la dernière version) sur la carte : zoom positif et zoom négatif.

GScaleControl()

Le constructeur GScaleControl() ajoute une échelle sur la carte qui varie en fonction du zoom utilisé.

GMapTypeControl()

Le constructeur GMapTypeControl() créé un type de contrôleur standard sur la map sous forme de boutons permettant de choisir et de basculer sur les différents types de vue dipsonibles.

GMapTypeControl

GMenuMapTypeControl()

Le constructeur GMenuMapTypeControl() créé un type de contrôleur standard sur la map sous forme de menu déroulant permettant de choisir et de basculer sur les différents types de vue dipsonibles.

GMenuMapTypeControl

GHierarchicalMapTypeControl()

Le constructeur GHierarchicalMapTypeControl() créé un type de contrôleur standard sur la map sous forme de boutons avec des menus déroulant contenant des cases à cocher et permettant de choisir et de basculer sur les différents types de vue dipsonibles.

GHierarchicalMapTypeControl

GOverviewMapControl()

Le constructeur GOverviewMapControl() créé une carte miniature dans le coin en bas à droite de la map. Il est possible de naviguer sur cette miniature en la draggant (glisser /déposer). Contrairement à d’autres contrôleurs on ne peut pas modifier l’emplacement de cette miniature.

GOverviewMapControl

GNavLabelControl()

Le constructeur GNavLabelControl() ajoute un fil d’Ariane sur la map. Cette méthode est disponible depuis la version 2.141 de l’Api Google Map.
Pour pouvoir l’utiliser, vous devez donc modifier votre appel au fichier javascript Google en remplaçant la version 2 par le terme 2.x.

version2_141

Ce fil d’Ariane permet alors de naviguer directement de vue en vue. Par exemple, pour la ville de Paris, on peut directement afficher la vue du département (Paris) ou la région (Ile de France), ou encore le pays(France).

GOverviewMapControl

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'));
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map */
   map.setCenter(new GLatLng(48.8566667, 2.3509871), 13);
   /* Affichage de la carte centrée sur Paris */

   map.addControl(new GNavLabelControl());
   // On ajoute le fil d'Ariane sur la carte 

   map.addControl(new GNavLabelControl,
                  new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,10)));
   // Ici, on modifie la position du fil d'ariane en renseignant les marges
   // par rapport aux bords de la map

</script>

classe GControlPosition()

La classe GControlPosition() permet de définir l’emplacement des différents outils de contrôle sur la map. Pour l’utiliser, il est nécessaire de renseigner une des constantes GControlAnchor ainsi que les valeurs des marges latérales (par rapport aux bords de la carte).

Sa signature est la suivante : GControlPosition(anchor, offset).

anchor est une constante GControlAnchor parmi celles disponibles.
offset est objet de type GSize qui attend en paramètres les valeurs de décalage par rapport aux bords de la map.

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'));
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map */
   map.setCenter(new GLatLng(48.8566667, 2.3509871), 13);
   /* Affichage de la carte centrée sur Paris */

   map.addControl(new GNavLabelControl,
                  new GControlPosition(G_ANCHOR_BOTTOM_LEFT, new GSize(10,10)));
   // Ici, on affiche un fil d'ariane puis on modifie sa position.
   // Pour cela, nous utilisons GControlPosition que nous initialisons dans le
   // coin  bas / gauche de la carte à l'aide de la constante G_ANCHOR_BOTTOM_LEFT.
   // Pour appliquer les marges, l'origine à prendre en compte est le coin bas / gauche.
   // Le décalage s'effectuera donc par rapport aux bords gauche et bas de la carte.

</script>

Les constantes GControlAnchor

Les constantes GControlAnchor permettent de redéfinir l’emplacement par défaut des différents outils de contrôle sur la map.

Les différentes valeurs disponibles sont:

  • G_ANCHOR_TOP_RIGHT : le coin supérieur droit de la map
  • G_ANCHOR_TOP_LEFT : le coin supérieur gauche de la map
  • G_ANCHOR_BOTTOM_RIGHT : le coin inférieur droit de la map
  • G_ANCHOR_BOTTOM_LEFT : le coin inférieur gauche de la map

Laisser une réponse

Security Code: