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

Flex Discussion :

Rafraichissement de l'API Map [Flex3]


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut Rafraichissement de l'API Map
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <mx:Button click="currentState='State 2';doGeocode(event);" />
    State 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (.1)<mx:TextInput id="localisation" text="{Maliste.selectedItem.geoloc}" enter="doGeocode(event);" />
    - Affichage de ma map.

    Et pour la partie AS3 :

    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);
          }
    Parfait ! A ce stade, ma map affiche correctement la bonne adresse.

    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 :

    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;
                	}
    Bon évidemment, à ce nouveau stade, ma nouvelle variable est bien enregistrée, mais le plan reste désesperemment affiché sur l'ancienne variable.

    Voilà, je pense avoir fourni un max d'éléments.
    Et si vous avez une idée du truc qui coince, merci à vous.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Tech Lead
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Tech Lead
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Hello,

    Si je comprends bien l'algo que tu as posté, c'est l'objet "map" qui est en charge de t'afficher la carte.
    Par quoi est ce que tu passes pour afficher ta carte ? Y a un composant externe ? un mx.control.image ?

  3. #3
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par Maskime Voir le message
    Hello,

    Si je comprends bien l'algo que tu as posté, c'est l'objet "map" qui est en charge de t'afficher la carte.
    Par quoi est ce que tu passes pour afficher ta carte ? Y a un composant externe ? un mx.control.image ?
    Salut
    C'est un appel map classique de l'api pour flex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <maps:Map 
        id="map" 
        key="XXXXXXXXX" 
        mapevent_mapready="doGeocode(event)"
        width="100%" height="100%"/>
    Mais rien à voir avec le probléme rencontré.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Tech Lead
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Tech Lead
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Ben sans rapport, je sais pas...

    Compte tenu que tu obtiens toujours l'ancienne carte, je me dis qu'il y a un petit problème de refresh dans ton composant qui affiche l'image et en plus c'est le seul que tu ré-initialise pas dans ta fonction qui repasse tout à null.
    C'est pour ça que j'ai eu cette idée...

    (Quand tu dis l'API Map de Flex, tu fais référence à celle de Google pour Flash ?)

  5. #5
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Oui, je vois où tu essayes de m'orienter, et en fin de compte il est possible que ce soit la map (en plus des variables) qu'il faut raffraichir.
    Mais alors comment ? ...hum!

    Sinon, pour répondre à ta question, oui, c'est bien celle de google pour Flash/Flex.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Tech Lead
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Tech Lead
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Par défaut
    Alors là...

    J'ai envi de te dire : "RTFM" (dans le bon sens du terme hein ?! XD)
    Mais je serai surpris que tu puisse pas faire un truc du genre : map.refresh()

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

Discussions similaires

  1. [Google Maps] Limite des territoires avec l'api maps 3
    Par ledisciple dans le forum APIs Google
    Réponses: 2
    Dernier message: 11/04/2013, 09h55
  2. [Mappy] Création d'outil Mappy.api.map.tools.Tool
    Par Ares777 dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 02/03/2010, 13h41
  3. API Maps et Punaises perso
    Par jfadeuilhe dans le forum Flex
    Réponses: 1
    Dernier message: 05/02/2010, 17h04
  4. google api map avec kml file
    Par speed034 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/12/2008, 07h57
  5. API Mapping relationnel MySql / C++
    Par zuzuu dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 25/02/2008, 17h04

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