hi,

thx, for the quick answer,
but i can`t follow you.
can give me a more detailed answer.

rob

-------- Original-Nachricht --------
> Datum: Mon, 13 Jul 2009 17:13:38 +0800
> Von: Juguang XIAO <[email protected]>
> An: [email protected]
> Betreff: Re: Adding markers with infoWindows

> It looks like function closure problem.
> 
> You can try to bring your CLICK event handler to class level by making it
> a
> class method.  Then also have a marker-data mapping at class level, so
> that
> when CLICK event handler is triggered, get which marker is involved by
> event.target , and map the marker to its data, then render your text.
> 
> (1) var marker_data:Array = []; // as class variable
> 
> (2) when a marker is added, also do this.
> 
> marker_data.push([marker, marker_data]);
> 
> (3) in CLICK event handler
> 
> function onClick(event:MouseEvent):void{
>  var marker:Marker = event.target as Marker;
>  // iterate marker_data to find the right one
> for each(var pair:Array in marker_data){
>   if(pair[0] == marker){
>     pair[1]; // this is the related data
>     // do what you like
>   }
> }
> 
> (4) register your marker's CLICK event with its handler
> 
> 
> 
> Hope that help.
> 
> 
> 
> 
> 
> 
> On Mon, Jul 13, 2009 at 4:59 PM, rob <[email protected]> wrote:
> 
> >
> > Hi, i have some Problems with my code.
> > i want to change the textFormat in the infowindow.
> > I hope you can help me.
> > sorry for my enlish.
> > here is the code
> > thx rob
> >
> >
> >
> > import com.google.maps.LatLng;
> > import com.google.maps.Map;
> > import com.google.maps.MapEvent;
> > import com.google.maps.MapType;
> > import com.google.maps.controls.ZoomControl;
> > //import com.google.maps.controls.PositionControl;
> > //import com.google.maps.controls.MapTypeControl;
> > import com.google.maps.overlays.MarkerOptions;
> > import com.google.maps.overlays.Marker;
> > import com.google.maps.InfoWindowOptions;
> > import com.google.maps.MapMouseEvent;
> > //import flash.text.TextFormat;
> >
> > // Create The Map
> > var map:Map = new Map();
> > map.key = "ABQIAAAAHnTxrW35iwO7TUyb5DVSlRQxwGfbL6iJ0RFbppF_-
> > QJlM0HZohRurIf7OmFH21CL0s2xiRXkLddrmA";
> > map.setSize(new Point(stage.stageWidth, stage.stageHeight));
> > map.addEventListener(MapEvent.MAP_READY, onMapReady);
> > mapcontainer.addChild(map);
> >
> > function onMapReady(event:MapEvent):void {
> >  map.setCenter(new LatLng(52.507407,13.220243), 11,
> > MapType.HYBRID_MAP_TYPE);
> >  map.addControl(new ZoomControl());
> >  // map.addControl(new PositionControl());
> >  // map.addControl(new MapTypeControl());
> >
> >  xmlLoader();
> > }
> >
> > function xmlLoader(){
> >  function loadXML(e:Event):void{
> >         XML.ignoreWhitespace = true;
> >         var map_xml:XML = new XML(e.target.data);
> >
> >         for (var i:Number = 0; i < map_xml.location.length(); i++){
> >
> >                 var latlng:LatLng = new LatLng(map_xml.location[i].lat,
> > map_xml.location[i].lon);
> >                 var tip = map_xml.location[i].name_tip;
> >                 var myTitle:String = map_xml.location[i].title_tip;
> >                 var myContent:String = map_xml.location[i].content_tip;
> >
> >                 map.addOverlay(createMarker(latlng,i, tip, myTitle,
> > myContent));
> >         }// end of for loop
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >         // Add Markers On The Map
> >         function createMarker(latlng:LatLng, number:Number, tip,
> myTitle,
> > myContent):Marker {
> >               var i:Marker = new Marker(
> >
> >     latlng,
> >
> >     new MarkerOptions({
> >
> >
> >                                       icon: new MeinMarker(),
> >                                                           hasShadow:
> > true,
> >
> >
> > tooltip: ""+tip
> >                                                           })
> >
> >     );
> >
> >
> >
> >
> >                           i.addEventListener(MapMouseEvent.CLICK,
> function
> > (event:MapMouseEvent):void
> >
> >
> >  {
> >
> >
> >  map.openInfoWindow(event.latLng, new InfoWindowOptions
> > ({
> >
> >                                                    titleHTML:
> ""+myTitle,
> >
> >                                                    contentHTML:
> ""+myContent
> >
> >
> >
> >
> >
> >
> >                                     }));
> >
> >
> >                                          });
> >
> >
> >               return i;
> >
> >
> >      }// end function createMarker
> >  }// end of loadXML function
> >
> >  var xmlLoader:URLLoader = new URLLoader();
> >  xmlLoader.addEventListener(Event.COMPLETE, loadXML);
> >  xmlLoader.load(new URLRequest("xml.xml"));
> > }
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On 13 Jul., 06:57, "pamela (Google Employee)" <[email protected]>
> > wrote:
> > > That sounds like a function closure problem. Read through this section
> of
> > > the developer's guide and note how the example does it:
> > http://code.google.com/apis/maps/documentation/flash/events.html#Even...
> > >
> > >
> <http://code.google.com/apis/maps/documentation/flash/events.html#Even..
> > .>-
> > > pamela
> > >
> > > On Mon, Jul 13, 2009 at 2:49 PM, help(question) <[email protected]
> > >wrote:
> >  >
> > >
> > >
> > > > Hello, and thank you to everyone.
> > >
> > > > I need to make a map that read XML. I need it to create multiple
> > > > markers and each marker needs to have separate, unique information
> > > > associated with it. For example address[1] - info[1]; address[2] -
> info
> > > > [2]; address[3] - info[3].
> > >
> > > > I have gotten as far creating the map with multiple markers but the
> > > > all the info windows get populated with the last bit of info. For
> > > > example, address[1] has info[3].
> > >
> > > > Thank you again.
> > >
> >
> 
> 
> -- 
> =============
> Juguang XIAO
> Beijing, China
> 
> > 

-- 
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to