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

ActionScript 3 Discussion :

probleme avec un addEventListener


Sujet :

ActionScript 3

  1. #1
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut probleme avec un addEventListener
    Bonjour,

    J'intègre l'API google maps dans un projet Flex. Je rencontre quelque difficulté avec l'AS3.

    Je place différent bouton sur la carte google maps (fonction : resultHandler() ), et sur chacun des boutons je lui ajoute un event CLICK pour faire apparaitre un message.

    Mon probleme intervient sur la fonction CLICK de mon addEventListener (function markerClick() ) : la fonction utilise une variable initialisé dans une boucle for dans la fonction resultHandler(), mais le probleme, c'est qu'il prend toujours la derniere valeur de la boucle for.

    J'espere etre clair dans mon explication, sinon dites le moi, voici le code :

    Le probleme vient de la variable _latLngET :
    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
     
    private var _latLngET:LatLng;
     
    			private function markerClick(e:MapMouseEvent):void{
     
    				var myTitle:String = "<b><u>La toure Eiffel</u></b>";    
    				var myContent:String = "La tour Eiffel porte le nom de l’ingénieur Gustave Eiffel...";
    				myMap.openInfoWindow(_latLngET, 
    							new InfoWindowOptions({titleHTML: myTitle, 
    												   contentHTML: myContent}));  
    			}
     
    			private function resultHandler(e:ResultEvent):void{
    				var list:ArrayCollection = e.result.map.loc;
    				var marker:Marker;
    				for(var i:int=0; i<list.length;i++){
    					_latLngET = new LatLng(list[i].lat, list[i].lon);
    					marker = new Marker(_latLngET,
    							new MarkerOptions({fillRGB: 0x123000, tooltip:list[i].name}));
    					marker.addEventListener(MapMouseEvent.CLICK, markerClick);
    					myMap.addOverlay(marker);
    				}	
    			}

  2. #2
    Membre Expert Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Par défaut
    salut

    a chaque boucle tu écrases sa valeur, donc normal que tu ne retrouves que la dernière quand tu veux l'utiliser.

    je vois pas ce que tu veux faire de ton "_latLngET" mais tu pourrais créer un tableau de ces valeurs ou alors te debrouiller passer une COPIE à l'évènement

  3. #3
    Membre éclairé Avatar de miya
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 469
    Par défaut
    Oui exacte Lorenzo77!

    Pour être plus précis, en faite, il fallait passer par l'évenement event de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myMap.openInfoWindow(e.latLng, new InfoWindowOptions({titleHTML: myTitle, contentHTML: myContent}));
    Tout fonctionne désormais

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

Discussions similaires

  1. probleme avec addEventListener()
    Par yamissa dans le forum Flash
    Réponses: 2
    Dernier message: 14/02/2007, 10h29
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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