Visualisation d'une page Webjax
Contrôles d'affichage personnalisés sur les cartes GMaps
Cet exemple est propulsé par
Si vous suivez la présentation de la librairie GMaps dans l'ordre proposé par ce site Webjax, vous devez être familiarisé avec le placement et l'utilisation de contrôles d'affichage sur les cartes GMaps (GSmallTypeControl , GMapTypeControl).
Si vous n'avez pas encore pris connaissance du contenu Webjax portant sur ce sujet vous pouvez consulter la page #142 de Webjax qui vous montre comment ajouter dans des cartes GMaps des contrôles d'affichage.
Si vous êtes au fait avec les contrôles d'affichage des cartes GMaps vous pouvez continuer la lecture de cette page ;-)
Cette page vous présente les méthodes à votre disposition pour personnaliser ces dits contrôles d'affichage.
La personnalisation d'éléments d'interface apparaît essentielle dans certains sites au design précis ou dans des contextes d'utilisation dite "commerciale" ou l'on se doit par exemple de faire apparaître le logo de l'entité professionelle.
Afin de comprendre et de tirer au mieux profit de cet exemple vous devez être familier de la mise en forme CSS, du langage et de la conception objet à travers Javascript.
Création d'un contrôle de Zoom +/- personnalisé
Ce premier exemple vous présente la création d'un contrôle d'affichage personnalisé de cartes GMaps.
Le contrôle en question permet de réaliser des "zoom in" (+) ou des "zoom out" (-) sur une carte GMaps
qui comme dans la plupart des exemples n'est pas déplaçable pour des raisons d'utilisation de mémoire.
On peut noter avant de rentrer dans le détail technique de l'exemple que le contrôle qui sera crée existe
de base dans la librairie GMaps et se nomme 'GSmallZoomControl'.
Le code présenté plus bas consiste donc à définir un nouveau contrôle en tant qu'objet Javascript.
A travers la définition du prototype de ce nouvel objet Javascript qui est basé sur l'objet GControl ,
on est amené à redéfinir certains méthodes de cet objet.
Les méthodes redéfinies sont listées ci après :
- GControl.initialize() : on effectue lors de cette méthode la création de deux éléments 'div' contenant
une node texte (ndr : message du bouton).
Les nodes textes sont groupées au sein d'un élément 'div' container
qui est ajouté via les méthodes DOM à l'élément container de la carte GMaps.
On peut noter aussi que l'on assigne lors de l'évènement "onclick" sur les zones 'div'/boutons les méthodes
de "GMaps2.zoomIn()" et "GMaps2.zoomOut()" pour donner la fonctionnalité aux boutons/zones 'div' crées .
-
GControl.getDefaultPosition() : méthode qui de base permet de définir la position par défaut du contrôle.
Cette méthode est redéfinie dans l'exemple pour afficher le contrôle 'controlZoomTexte' à partir du coin supérieur
droit avec un padding de 7px.
-
GControl.appliquerStyleBouton_() : méthode qui n'est pas présente de base dans GControl.
Cette méthode est définie pour l'occasion pour optimiser la mise en forme des zones 'div' de "boutons zoom".
La méthode reçoit un élément et le met en forme via CSS/Javascript/DOM.
L'exemple de création de contrôles d'affichage personnalisés de cartes GMaps est testable ci après :
Le code source de l'exemple est repris ci après avec dans l'ordre :
- le code Javascript qui définit le nouvel objet controlZoomTexte et les méthodes de chargement
de la carte et du contrôle d'affichage.
- le code HTML des boutons d'actions permettant le chargement de la carte.
Le code HTML des boutons d'action :
Si vous suivez la présentation de la librairie GMaps dans l'ordre proposé par ce site Webjax, vous devez être familiarisé avec le placement et l'utilisation de contrôles d'affichage sur les cartes GMaps (GSmallTypeControl , GMapTypeControl).
Si vous n'avez pas encore pris connaissance du contenu Webjax portant sur ce sujet vous pouvez consulter la page #142 de Webjax qui vous montre comment ajouter dans des cartes GMaps des contrôles d'affichage.
Si vous êtes au fait avec les contrôles d'affichage des cartes GMaps vous pouvez continuer la lecture de cette page ;-)
Cette page vous présente les méthodes à votre disposition pour personnaliser ces dits contrôles d'affichage.
La personnalisation d'éléments d'interface apparaît essentielle dans certains sites au design précis ou dans des contextes d'utilisation dite "commerciale" ou l'on se doit par exemple de faire apparaître le logo de l'entité professionelle.
Afin de comprendre et de tirer au mieux profit de cet exemple vous devez être familier de la mise en forme CSS, du langage et de la conception objet à travers Javascript.
Création d'un contrôle de Zoom +/- personnalisé
Ce premier exemple vous présente la création d'un contrôle d'affichage personnalisé de cartes GMaps.
Le contrôle en question permet de réaliser des "zoom in" (+) ou des "zoom out" (-) sur une carte GMaps qui comme dans la plupart des exemples n'est pas déplaçable pour des raisons d'utilisation de mémoire.
On peut noter avant de rentrer dans le détail technique de l'exemple que le contrôle qui sera crée existe de base dans la librairie GMaps et se nomme 'GSmallZoomControl'.
Le code présenté plus bas consiste donc à définir un nouveau contrôle en tant qu'objet Javascript.
A travers la définition du prototype de ce nouvel objet Javascript qui est basé sur l'objet GControl , on est amené à redéfinir certains méthodes de cet objet.
Les méthodes redéfinies sont listées ci après :
- GControl.initialize() : on effectue lors de cette méthode la création de deux éléments 'div' contenant
une node texte (ndr : message du bouton).
Les nodes textes sont groupées au sein d'un élément 'div' container qui est ajouté via les méthodes DOM à l'élément container de la carte GMaps.
On peut noter aussi que l'on assigne lors de l'évènement "onclick" sur les zones 'div'/boutons les méthodes de "GMaps2.zoomIn()" et "GMaps2.zoomOut()" pour donner la fonctionnalité aux boutons/zones 'div' crées . -
GControl.getDefaultPosition() : méthode qui de base permet de définir la position par défaut du contrôle.
Cette méthode est redéfinie dans l'exemple pour afficher le contrôle 'controlZoomTexte' à partir du coin supérieur droit avec un padding de 7px. -
GControl.appliquerStyleBouton_() : méthode qui n'est pas présente de base dans GControl.
Cette méthode est définie pour l'occasion pour optimiser la mise en forme des zones 'div' de "boutons zoom".
La méthode reçoit un élément et le met en forme via CSS/Javascript/DOM.
L'exemple de création de contrôles d'affichage personnalisés de cartes GMaps est testable ci après :
Le code source de l'exemple est repris ci après avec dans l'ordre :
- le code Javascript qui définit le nouvel objet controlZoomTexte et les méthodes de chargement de la carte et du contrôle d'affichage.
- le code HTML des boutons d'actions permettant le chargement de la carte.
Le code HTML des boutons d'action :

:

