IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

connaitre la couleur d'un polygone [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre éclairé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Par défaut connaitre la couleur d'un polygone
    Bonjour a tous, j'aimerais simuler un rollover sur un polygone pour cela j'ai le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
        function createZone(_paths, _fillColor) {
            //creation de mon polygon
            var zone = new google.maps.Polygon({
                paths: _paths,
                strokeColor: "#ee3338",
                strokeWeight: 3,
                fillColor: _fillColor,
                fillOpacity: 0.25
            });
     
            zone.setMap(map);
     
            //gestion des events
            google.maps.event.addListener(zone, 'mouseover', function () {
                zone.setOptions({fillColor: "#ffffff"});
            });
     
            google.maps.event.addListener(zone, 'mouseout', function () {
                zone.setOptions({fillColor: "#ee3338"});
            });
     
            google.maps.event.addListener(zone, 'click', function (event) {
                map.setCenter(event.latLng);
            });
        }
    le problème et que la couleur d'une zone est paramétrable (sous entendu différente pour chaque zone créée), je ne peux donc pas mettre une couleur en dur dans l'evenement "mouseout".

    La solution serait donc de stocker dans une variable la couleur de la zone dans mon événement 'mouseover', mais je ne sais pas comment récupérer cette couleur.

    Mon problème illustré par du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
        var lastColor;
        function createZone(_paths, _fillColor) {
     
            [...]
     
            //gestion des events
            google.maps.event.addListener(zone, 'mouseover', function () {
                lastColor = zone.color();
                zone.setOptions({fillColor: "#ffffff"});
            });
     
            google.maps.event.addListener(zone, 'mouseout', function () {
                zone.setOptions({fillColor: lastColor});
            });
     
            [...]
     
        }
    Merci de votre aide

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 212
    Par défaut
    Bonjour,
    tu peux toujours faire un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       google.maps.event.addListener( zone, 'mouseover', function() {
         if( !this.save){
           this.save = {
             fillColor :  this.fillColor,
           }
         }
         this.setOptions( { fillColor : '#FFFFFF'});
       });     
       google.maps.event.addListener( zone, 'mouseout', function() {
         this.setOptions( { fillColor : this.save.fillColor});
       });

  3. #3
    Membre éclairé Avatar de kohsaka
    Homme Profil pro
    Intégrateur HTML / Developpeur .NET
    Inscrit en
    Janvier 2007
    Messages
    383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Intégrateur HTML / Developpeur .NET

    Informations forums :
    Inscription : Janvier 2007
    Messages : 383
    Par défaut
    Salut,
    Merci de ton aide.

    Au final, j'ai créé une class Zone qui me permet de stocker sans problème la couleur de chacune des zones.

    Mais en relisant mon ancien code, je me suis rendu compte qu'il me suffisait de faire le code suivant pour répondre à ma problématique, j'ai un peu honte :


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/07/2012, 17h01
  2. [AC-2003] MapWinGis - Modification de la couleur d'un polygone
    Par Longtemps dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/07/2012, 12h17
  3. Lecture d'un byte[] pour connaitre la couleur
    Par arnouf dans le forum 2D
    Réponses: 0
    Dernier message: 20/11/2009, 11h40
  4. Connaitre la couleur de fond d'un CTabCtrl
    Par sivaller dans le forum Windows
    Réponses: 0
    Dernier message: 26/10/2008, 18h35
  5. Connaitre la couleur d'un ensemble de pixel
    Par zako dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/06/2007, 12h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo