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 lingé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); } }
Partager