Bonjour
Problème : Petit souci pour réactualiser l'affichage de ma map.
Situation
State 1
Mes adresses sont collectées dans une List.
La sélection d'un Item génére l'affichage de l'adresse dans le State 2. (Voir .1)
Et enfin, un bouton de validation :
State 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part <mx:Button click="currentState='State 2';doGeocode(event);" />
- Affichage de ma map.
Code : Sélectionner tout - Visualiser dans une fenêtre à part (.1)<mx:TextInput id="localisation" text="{Maliste.selectedItem.geoloc}" enter="doGeocode(event);" />
Et pour la partie AS3 :
Parfait ! A ce stade, ma map affiche correctement la bonne adresse.
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
27
28
29
30
31 private function doGeocode(event:Event):void { map.enableScrollWheelZoom(); map.enableContinuousZoom(); map.addControl(new ZoomControl()); map.setZoom(13); var geocoder:ClientGeocoder = new ClientGeocoder(); geocoder.addEventListener( GeocodingEvent.GEOCODING_SUCCESS, function(event:GeocodingEvent):void { var placemarks:Array = event.response.placemarks; if (placemarks.length > 0) { map.setCenter(placemarks[0].point); var marker:Marker = new Marker(placemarks[0].point); marker.addEventListener(MapMouseEvent.CLICK, function (event:MapMouseEvent):void { marker.openInfoWindow(new InfoWindowOptions({content: placemarks[0].address})); }); map.addOverlay(marker); } }); geocoder.addEventListener( GeocodingEvent.GEOCODING_FAILURE, function(event:GeocodingEvent):void { Alert.show("Adresse introuvable"); trace(event); trace(event.status); }); geocoder.geocode(localisation.text); }
Mais si je reviens dans ma List pour sélectionner un autre Item, et bien ma map conserve l'affichage du précédent...hum!
Bon, Ok !, j'ai donc crée un autre bouton pour annuler les variables encore actives soit :
Bon évidemment, à ce nouveau stade, ma nouvelle variable est bien enregistrée, mais le plan reste désesperemment affiché sur l'ancienne variable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private function ferm_map():void { currentState="State 1"; Maliste.selectedItem = null; Maliste.selectedItem.geoloc = null; localisation.text = null; }
Voilà, je pense avoir fourni un max d'éléments.
Et si vous avez une idée du truc qui coince, merci à vous.
Partager