Classe GMarker

Un objet de type GMarker définit un point géographique sur une carte, représenté par ses coordonnées en degrés.
Pour afficher ce point sur la map, nous avons recours à la méthode addOverlay() de l’interface GOverlay.

Si l’option icon (objet de type GIcon) n’est pas renseignée dans le constructeur, l’icône par défaut (G_DEFAULT_ICON) sera utilisé.

Une fois le marker ajouté sur la carte, la fenêtre d’information qui lui est associée (openInfoWindow()) s’ouvrira suite à un click sur celui-ci.

NB : Voir aussi la gestion des événements liés aux markers et les options applicables aux markers.

Le constructeur GMarker

Signature de la classe GMarker :
GMarker(latlng:GLatLng, opts?:GMarkerOptions) .

Créé un nouvel objet de type GMarker. Il s’agit d’un point géographique représenté sur la carte par ses coordonnées géographiques en degrés (latitude & longitude), donc un objet de type GLatLng.
Les paramètres optionnels sont représentés par des instanciations de la classe GMarkerOptions (type d’icône, attribut title, …).

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(400,400)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 400 * 400 pixel */

   var myPoints = [];
   /* Déclaration du tableau qui contiendra nos points, objets GLatLng. */

   var bounds = new GLatLngBounds();
   /* Instanciation de la classe GLatLngBounds */

   myPoints.push( new GLatLng(48.8566667, 2.3509871)); // Paris
   myPoints.push( new GLatLng(48.8123155, 2.2381535)); // Meudon
   myPoints.push( new GLatLng(48.3906042, -4.4869013)); // Brest
   myPoints.push( new GLatLng(50.6371834, 3.0630174)); // Lille 
   /* On remplit notre tableau  */

   for(var i = 0; i < myPoints.length; i++){
     bounds.extend(myPoints[i]);
     var thisMarker = addThisMarker(myPoints[i]);
     map.addOverlay(thisMarker);
   }
   /* Extension des limites de la carte afin d'y insérer tous les points
   On ajoute également un marker pour chacun
   de ces points sur la carte   */ 

   function addThisMarker(point){
     var marker = new GMarker(point);
     return marker;
}         

   On peut ensuite utiliser une méthode map State de la classe GMap2
   intitulée getBoundsZoomLevel qui récupère le zoom nécessaire pour afficher
   la carte en fonction de ses limites.

   var newZoom = map.getBoundsZoomLevel(bounds);

   De la même manière, on récupère le centre de la région (objet GLatLngBounds)
   à l'aide de la méthode getCenter().

   var newCentre = bounds.getCenter();

   Il suffit ensuite d'initialiser la carte avec ces éléments.

   map.setCenter(newCentre, newZoom);

</script>

openInfoWindow()

La signature de la méthode openInfoWindow :
openInfoWindow(content:Node, opts?:GInfoWindowOptions) .

La méthode openInfoWindow appliquée à l’objet GMarker de référence permet d’ouvrir une fenêtre d’information sur l’icône représentant ce point. Le contenu de cette fenêtre d’information doit être défini en utilisant le DOM (Document Object Model).
Seule l’option GInfoWindowOptions.maxWidth est applicable.

openInfoWindowHtml()

La signature de la méthode openInfoWindowHtml :
openInfoWindowHtml(content:String, opts?:GInfoWindowOptions) .

La méthode openInfoWindowHtml appliquée à l’objet GMarker de référence permet d’ouvrir une fenêtre d’information sur l’icône représentant ce point. Le contenu de cette fenêtre d’information doit être une chaîne de caractère en HTML.
Seule l’option GInfoWindowOptions.maxWidth est applicable.

openInfoWindowTabs()

La signature de la méthode openInfoWindowTabs :
openInfoWindowTabs(tabs: GInfoWindowTab[], opts?:GInfoWindowOptions) .

La méthode openInfoWindowTabs appliquée à l’objet GMarker de référence permet d’ouvrir une fenêtre d’information à onglets sur l’icône représentant ce point. Le contenu de cette fenêtre d’information doit être un tableau d’onglets définis en tant que DOM (Document Object Model).
Seules les options GInfoWindowOptions.maxWidth et InfoWindowOptions.selectedTab sont applicables.

openInfoWindowTabsHtml()

La signature de la méthode openInfoWindowTabsHtml :
openInfoWindowTabsHtml(tabs: GInfoWindowTab[], opts?:GInfoWindowOptions) .

La méthode openInfoWindowTabsHtml appliquée à l’objet GMarker de référence permet d’ouvrir une fenêtre d’information à onglets sur l’icône représentant ce point. Le contenu de cette fenêtre d’information doit être un tableau d’onglets définis en Langage HTML.
Seules les options GInfoWindowOptions.maxWidth et InfoWindowOptions.selectedTab sont applicables.

bindInfoWindow()

Depuis la version 2.85 de l’Api.

La signature de la méthode bindInfoWindow :
bindInfoWindow(content:Node, opts?:GInfoWindowOptions) .

La méthode bindInfoWindow appliquée à l’objet GMarker de référence lie automatiquement le noeud du DOM (node) qui lui est associé. Ce contenu sera affiché suite à un click sur ce marker. Il faudra alors renseigner null pour lui dissocier ce contenu.

bindInfoWindowHtml()

Depuis la version 2.85 de l’Api.

La signature de la méthode bindInfoWindowHtml :
bindInfoWindowHtml(content:String, opts?:GInfoWindowOptions) .

La méthode bindInfoWindowHtml appliquée à l’objet GMarker de référence lie automatiquement le contenu HTML (String) qui lui est associé. Ce contenu sera affiché suite à un click sur ce marker. Il faudra alors renseigner null pour lui dissocier ce contenu.

bindInfoWindowTabs()

Depuis la version 2.85 de l’Api.

La signature de la méthode openInfoWindowTabs :
bindInfoWindowTabs(tabs: GInfoWindowTab[], opts?:GInfoWindowOptions) .

La méthode openInfoWindowTabs appliquée à l’objet GMarker de référence lie automatiquement les noeuds du DOM (contenus renseignés par le paramètre tabs: GInfoWindowTab[]) qui lui sont associés. Ce contenu sera affiché dans l’onglet approprié suite à un click sur ce marker. Il faudra alors renseigner null pour dissocier ce contenu de l’onglet en question.

bindInfoWindowTabsHtml()

Depuis la version 2.85 de l’Api.

La signature de la méthode bindInfoWindowTabsHtml :
bindInfoWindowTabsHtml(tabs: GInfoWindowTab[] opts?:GInfoWindowOptions) .

La méthode bindInfoWindowTabsHtml appliquée à l’objet GMarker de référence lie automatiquement les contenus HTML (contenus renseignés par le paramètre tabs: GInfoWindowTab[]) aux onglets correspondants. Ce contenu sera affiché dans l’onglet approprié suite à un click sur ce marker. Il faudra alors renseigner null pour dissocier ce contenu de l’onglet en question.

closeInfoWindow()

Depuis la version 2.85 de l’Api.

La signature de la méthode closeInfoWindow :
closeInfoWindow(tabs: GInfoWindowTab[], opts?:GInfoWindowOptions) .

La méthode closeInfoWindow appliquée à l’objet GMarker de référence ferme la fenêtre d’information si celle-ci appartient au marker.

showMapBlowup()

La signature de la méthode showMapBlowup :
showMapBlowup(opts?:GInfoWindowOptions) .

La méthode showMapBlowup appliquée à l’objet GMarker de référence ouvre la fenêtre d’information rattachée à ce marker. Le contenu de cette fenêtre est une “mini-carte” représentant les “alentours” de ce marker.
Seules les options InfoWindowOptions.zoomLevel et InfoWindowOptions.mapType sont applicables.

getIcon()

La signature de la méthode getIcon :
getIcon() .

La méthode getIcon retourne l’icône (objet de type GIcon) associée à ce marker lors de l’instanciation de la classe GMarker.

getTitle()

Depuis la version 2.85 de l’Api Google Map.

La signature de la méthode getTitle :
getTitle() .

La méthode getTitle retourne le “title” associé au marker lors de son instanciation à l’aide de la propiété GMarkerOptions.title. Si aucun “title” n’a été renseigné, la méthode renvoie undefined.

getPoint()

Dépréciée depuis la version 2.88 de l’Api Google Map.

Utiliser dorénavant la méthode getLatLng() :

getLatLng()

Depuis la version 2.88 de l’Api Google Map.

Signature de la méthode getLatLng() :
getLatLng() .

La méthode getLatLng retourne les coordonnées gégraphiques (en degrés) du point représenté par le marker défini par le constructeur de ce marker ou par la méthode setLatLng().

setPoint()

Dépréciée depuis la version 2.88 de l’Api Google Map.

Utiliser dorénavant la méthode setLatLng() :

setLatLng()

Depuis la version 2.88 de l’Api Google Map.

Signature de la méthode setLatLng() :
setLatLng(latlng:GLatLng) .

La méthode setLatLng renseigne / modifie les coordonnées gégraphiques (en degrés) du point représenté par ce marker.

enableDragging()

Signature de la méthode enableDragging() :
enableDragging() .

La méthode enableDragging() appliquée au marker de référence rend ce dernier (dragged / dropped) glissable / déposable au sein de la carte. Pour rendre cette option disponible, le marker doit avoir été initialisé avec la méthode GMarkerOptions.draggable = true.

Exemple de markers déplaçables:

<script type="text/javascript">

   var map = new GMap2(document.getElementById('map'), { size: new GSize(400,400)});
   /* Ici, nous déclarons l'élément html ayant pour id "map" comme conteneur de la map
   avec une taille de 400 * 400 pixel */

   var myPoints = [];
   /* Déclaration du tableau qui contiendra nos points, objets GLatLng. */

   var bounds = new GLatLngBounds();
   /* Instanciation de la classe GLatLngBounds */

   myPoints.push( new GLatLng(48.8566667, 2.3509871)); // Paris
   myPoints.push( new GLatLng(48.8123155, 2.2381535)); // Meudon
   myPoints.push( new GLatLng(48.3906042, -4.4869013)); // Brest
   myPoints.push( new GLatLng(50.6371834, 3.0630174)); // Lille 
   /* On remplit notre tableau  */

   for(var i = 0; i < myPoints.length; i++){
     bounds.extend(myPoints[i]);
     var thisMarker = addThisMarker(myPoints[i]);
     map.addOverlay(thisMarker);
   }
   /* Extension des limites de la carte afin d'y insérer tous les points
   On ajoute également un marker pour chacun
   de ces points sur la carte   */ 

   function addThisMarker(point){
     var marker = new GMarker(point, {draggable : true});
     return marker;
}         

   On peut ensuite utiliser une méthode map State de la classe GMap2
   intitulée getBoundsZoomLevel qui récupère le zoom nécessaire pour afficher
   la carte en fonction de ses limites.

   var newZoom = map.getBoundsZoomLevel(bounds);

   De la même manière, on récupère le centre de la région (objet GLatLngBounds)
   à l'aide de la méthode getCenter().

   var newCentre = bounds.getCenter();

   Il suffit ensuite d'initialiser la carte avec ces éléments.

   map.setCenter(newCentre, newZoom);

</script>

disableDragging()

Signature de la méthode disableDragging() :
disableDragging() .

La méthode disableDragging() appliquée au marker de référence empêche à ce dernier d’être (dragged / dropped) glissable / déposable au sein de la carte.

draggable()

Signature de la méthode draggable() :
draggable() .

La méthode draggable() appliquée au marker de référence permet de tester si celui-ci a été initialisé à l’aide de la méthode GMarkerOptions.draggable = true et retourne true si tel est le cas. Elle retournera false le cas échéant.

draggingEnabled()

Signature de la méthode draggingEnabled() :
draggingEnabled() .

La méthode draggingEnabled() retourne true si le marker est glissable / déposable (dragged / dropped) au sein de la carte.

setImage()

Depuis la version 2.75 de l’Api Google Map.

Signature de la méthode setImage() :
setImage(url:String) .

La méthode setImage tente d’afficher l’image renseignée par l’url comme image de premier plan pour le marker. À noter que ni l’image d’impression, ni l’ombre de cette image ne seront ajustées. Cette méthode ne sert qu’à mettre en avant le marker passé en référence en lui affectant cette image sur la map.

hide()

Depuis la version 2.77 de l’Api Google Map.

Signature de la méthode hide() :
hide() .

La méthode hide permet de cacher le marker passé en référence si celui-ci est visible sur la carte. À noter que cette fonction déclenchera l’événement GMarker.visibilitychanged si ce dernier était visible.

show()

Depuis la version 2.77 de l’Api Google Map.

Signature de la méthode show() :
show() .

La méthode show permet de d’afficher le marker passé en référence si celui-ci est invisible sur la carte. À noter que cette fonction déclenchera l’événement GMarker.visibilitychanged si ce dernier était invisible.

isHidden()

Depuis la version 2.77 de l’Api Google Map.

Signature de la méthode isHidden() :
isHidden() .

La méthode isHidden retourne true si le marker n’est pas visible sur la carte. Elle retournera false le cas échéant.

Laisser une réponse

Security Code: