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 :

API Google Map: personnaliser une popup


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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 API Google Map: personnaliser une popup
    Bonjour aux forums,

    J'utilise l'API google maps ou je place des marqueurs sur la carte.

    Chaque marqueur possede une popup:

    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
     
     
    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, qui en fut l’un des concepteurs. Les ingénieurs Nouguier et Kœchlin de la société Eiffel conçurent la tour pour le concours ouvert par le ministre du Commerce et de l’Industrie Lockroy à l’occasion de l’Exposition universelle de 1889, qui prévoyait le projet d’une tour haute de 300 m sur une base de 125 m. Le projet Eiffel fut retenu parmi 700 concurrents.";
    				myMap.openInfoWindow(e.latLng,
    							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);
    				}	
    			}
    Je dois passer des paramètres a mon évènement, faut il que je redéfinisse mon évènement MapMouseEvent ? pour ainsi lui passer le paramètre list[i].description ?

  2. #2
    Membre Expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Par défaut
    Salut,

    désolé mais je n'ai compris ni le soucis ni la question.

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  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
    Je récupere d'un XML, un champ description, que je souhaite faire passer à mon évènement markerClick();

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    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, qui en fut l’un des concepteurs. Les ingénieurs Nouguier et Kœchlin de la société Eiffel conçurent la tour pour le concours ouvert par le ministre du Commerce et de l’Industrie Lockroy à l’occasion de l’Exposition universelle de 1889, qui prévoyait le projet d’une tour haute de 300 m sur une base de 125 m. Le projet Eiffel fut retenu parmi 700 concurrents.";
    				myMap.openInfoWindow(e.latLng,
    							new InfoWindowOptions({titleHTML: myTitle, 
    												   contentHTML: myContent}));  
    			}
    En faite, je dois passer un paramètre à mon évènement, je souhaitais savoir, si je devais redéfinir l'évènement MapMouseEvent() ?

  4. #4
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut Event specialisé
    Ben à mon avis il faut redéfinir cette événement pour inclure ce que tu veux dedans, maintenant l'événement MapMouseEvent n'est pas un événement Flex natif, ou je me trompe du coup si c'est pas le cas tu as qu'ajoute la description dans l'événement


    Bon courage

  5. #5
    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
    Voila, le problème c'est que j'ai eu du mal à redéfinir l'évènement MapMouseEvent.

    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
    package actionscript.events
    {
    	import com.google.maps.MapMouseEvent;
     
    	public class MarkerEvent extends MapMouseEvent
    	{
    		public static const ADD_POPUP:String = "ADD_POPUP";
    		public var ville:Object;
     
    		public function MarkerEvent(e:String, data:Object)
    		{
    			super(e);
    			ville = data;
    		}
     
    	}
    }
    Il me dit que super attend 3 arguments.

    Peux tu me dire ce que tu entends par ajouter la description ? Si tu as un bout de code ?

  6. #6
    Membre expérimenté Avatar de samy2525
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut etendre la class Event
    Pour définir un evenement particulier en Flex on peut faire comme ca

    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
    public class MapMouseEvent extends Event
    	{
                    // differencier plusieur type d'evenement
    		public static const SET_DESCRIPTION : String = "setDescription" ;
     
     
    		// information que l'evenemnt peut transporter 
    		public var description : String;
     
    		public function AccordionEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
    		{
    			super(type, bubbles, cancelable);
    		}
     
    	}
    bon courage

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

Discussions similaires

  1. API Google Map démarrer une activity avec des coordonnées perso
    Par jeanjean6 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 23/08/2011, 14h05
  2. introduire une API google map dans visual studio
    Par visualstudio dans le forum C#
    Réponses: 1
    Dernier message: 20/05/2011, 09h08
  3. Réponses: 2
    Dernier message: 13/03/2010, 21h12
  4. [Google Maps] IE6 refuse d'ouvrir ma page
    Par Shyboy dans le forum APIs Google
    Réponses: 5
    Dernier message: 03/10/2006, 08h47

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