Hi Fernando-

The problem is that you haven't achieved function closure on your
marker variable. You can read more and see an example here:
http://code.google.com/apis/maps/documentation/flash/events.html#Event_Closures

- pamela

On Thu, Apr 23, 2009 at 6:43 AM, fernando <[email protected]> wrote:
>
> Hi
>
> Sorry by my english. I´m creating a pplication with Flex. The idea is
> read a remote xml file with points to show in a google map as markers
> with a windows and information it it.
>
> The problem is with the data in the map.openInfoWindow only show the
> last record of the xml file. Do you help me!
>
>
> The section of code  with the problem is:
>
>                var marker : Marker = new Marker( latlng, markerOptions );
>
>                                        // se agrega ventana  marcador con 
> mayor informacion
>                                        var mivariable:String = da...@location;
>                                        var html:String = "<i>Hola 
> Mundo"+mivariable+"</b>";
>                                marker.addEventListener(MapMouseEvent.CLICK, 
> function
>
> (event:MapMouseEvent):void
>                        {
>                        map.openInfoWindow( event.latLng,
>                        new InfoWindowOptions({title: "Información",
> contentHTML:html,
>                            width:300, drawDefaultFrame:true}));
>                        });
>
>                    map.addOverlay(marker);
>
>
> When i run the program only show the location of the last xml record
> for all marks in the maps.
>
>
>
>
>
>
> This is the complete  code
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application
>        xmlns:mx="http://www.adobe.com/2006/mxml";
>        layout="absolute" creationComplete="dataSeting.send(); onInitialize
> ();"
>        viewSourceURL="srcview/index.html"
>        preloader="preload.CustomPreloader"
>    backgroundGradientColors="[#ffffff, #ffffff]">
>
>        <mx:Script>
>                <![CDATA[
>                        import mx.events.ListEvent;
>                        import mx.events.ItemClickEvent;
>                        import mx.controls.advancedDataGridClasses.SortInfo;
>                        import com.google.maps.overlays.MarkerOptions;
>                        import com.google.maps.styles.FillStyle;
>                        import com.google.maps.styles.StrokeStyle;
>                        import com.google.maps.overlays.*;
>                        import mx.controls.dataGridClasses.DataGridColumn;
>                        import com.google.maps.interfaces.IMapType;
>                        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.*;
>
>                    import mx.rpc.events.ResultEvent;
>                        import com.google.maps.InfoWindowOptions;
>            import com.google.maps.MapMouseEvent;
>
>            import mx.controls.LinkButton;
>                        import flash.net.URLRequest;
>                        import flash.net.navigateToURL;
>
>
>                        [Bindable]
>                        private var dataSet:XML;
>
>                        private var map:Map;
>                        private var minTemp : Number = 0;
>                        private var maxTemp : Number = 65;
>                        private var minColor : int = 0xFF0000;
>                        private var maxColor : int = 0x0000FF;
>                        private var minColorObj : Object;
>                        private var maxColorObj : Object;
>                        private var delta : Object;
>
>
>
>
>                private function contactResultHandler(event:ResultEvent):void{
>                            dataSet = event.result as XML;
>                }
>
>                        private function onInitialize() : void
>                        {
>
>                                minColorObj = intToRgb( minColor );
>                                maxColorObj = intToRgb( maxColor );
>                                delta = { r: ( maxColorObj.r - minColorObj.r ),
>                                                  g: ( maxColorObj.g - 
> minColorObj.g ),
>                                                  b: ( maxColorObj.b - 
> minColorObj.b )
>                                                };
>                        }
>
>                        public function getTempColor( temp : Number ) : int
>                        {
>                                var percentage : Number = (temp / maxTemp);
>                                return ( ( maxColorObj.r - percentage * 
> delta.r ) << 16 )
>                       + ((maxColorObj.g - percentage * delta.g ) <<
> 8 )
>                       + ( maxColorObj.b - percentage * delta.b );
>                        }
>
>
>                        /*
>                        Adapted color tween method originally found at:
>                        http://www.darronschall.com/weblog/archives/000251.cfm
>                        */
>                        public static function intToRgb( color:int ):Object
>                    {
>                        var r:int = ( color & 0xFF0000 ) >> 16;
>                        var g:int = ( color & 0x00FF00 ) >> 8;
>                        var b:int = color & 0x0000FF;
>                        return {r:r, g:g, b:b};
>                    }
>
>                    public function colorLabelFunction( value : *, column :
> DataGridColumn ) : String
>                    {
>                        return getTempColor( parseFloat( 
> [email protected]
> () ) ).toString(16);
>                    }
>
>
>                        public function onContinerInitialize( event:Event 
> ):void
>                        {
>                            map = new Map();
>                            map.key = "PUT API KEY HERE";
>                            map.addEventListener( MapEvent.MAP_READY, 
> onMapReady );
>
>                            //control de zoom
>                                map.addControl(new ZoomControl());
>                                //control de posicion
>                                map.addControl(new PositionControl());
>                                //selector de tipo de mapa
>                                map.addControl(new MapTypeControl());
>
>                            mapContainer.addChild( map );
>
>                        }
>
>                        public function onContainerResize( event:Event ):void
>                        {
>                            map.setSize( new Point( mapContainer.width,
> mapContainer.height ) );
>                        }
>
>                        private function onMapReady( event:Event ):void
>                        {
>                            map.enableScrollWheelZoom();
>                            map.enableContinuousZoom();
>                            map.setCenter(new LatLng(-33.133, -64.35), 7,
> MapType.NORMAL_MAP_TYPE );
>
>
>                            for each ( var data : XML in dataSet.data )
>                            {
>                                var latlng:LatLng = new LatLng( parseFloat( 
> da...@lat ),
> parseFloat( da...@lon ) );
>                                var markerOptions : MarkerOptions = new 
> MarkerOptions({
>                                        strokeStyle: new StrokeStyle({color: 
> 0x000000}),
>                                        fillStyle: new FillStyle({color: 
> getTempColor( parseFloat
> ( [email protected]() ) ), alpha: 0.8}),
>                                        radius: 12,
>                                        hasShadow: true
>                                      })
>                                        markerOptions.tooltip = 
> [email protected]() + ":    " +
> [email protected]() + " F";
>
>                                var marker : Marker = new Marker( latlng, 
> markerOptions );
>
>                                        // se agrega ventana  marcador con 
> mayor informacion
>                                        var mivariable:String = da...@location;
>                                        var html:String = "<i>Hola 
> Mundo"+mivariable+"</b>";
>                                marker.addEventListener(MapMouseEvent.CLICK, 
> function
> (event:MapMouseEvent):void
>                        {
>                        map.openInfoWindow( event.latLng,
>                        new InfoWindowOptions({title: "Información",
> contentHTML:html,
>                            width:300, drawDefaultFrame:true}));
>                        });
>
>                    map.addOverlay(marker);
>
>                            }
>
>                                // Agregar enlace a GeoINTA sobre el mapa
>                                        var clickMore:LinkButton = new 
> LinkButton();
>                                        clickMore.percentWidth = 18;
>                                        clickMore.label = "Visitar GeoINTA";
>                                        
> clickMore.addEventListener(MouseEvent.CLICK, function
> (e:MouseEvent):void {
>                                                var request:URLRequest = new 
> URLRequest("http://
> geointa.inta.gob.ar");
>                                                navigateToURL(request, 
> "_blank");
>                                                 });
>                                        addChild(clickMore);
>
>
>
>                        }
>
>                        private function sortNumeric( obj1 : *, obj2 : * ) : 
> int
>                        {
>                                var val1 : Number = parseFloat( 
> [email protected]() );
>                                var val2 : Number = parseFloat( 
> [email protected]() );
>
>                                if ( val1 > val2 )
>                                        return -1;
>                                if ( val1 < val2 )
>                                        return 1;
>                                return 0;
>
>                        }
>
>                        private function onGridItemClick( event : ListEvent ) 
> : void
>                        {
>                                var data : XML = event.itemRenderer.data as 
> XML;
>                                if ( data )
>                                        map.setCenter( new LatLng( parseFloat( 
> da...@lat ), parseFloat
> ( da...@lon ) ) );
>                        }
>                ]]>
>        </mx:Script>
>
>
>
>    <!-- Cargo datos de un archivo XML externo y remoto-->
>    <mx:HTTPService id="dataSeting" url="http://127.0.0.1:4000/
> temperaturas.xml"
>                    result="contactResultHandler(event)"
> resultFormat="e4x"/>
>
>
>
>
>        <!-- Esta marca es la encargada de definir dos áreas horizontalas en
> apantalla-->
>        <mx:VDividedBox width="100%" height="100%">
>
>                <!-- UIComponent es el primer contenedor de la pantalla donde 
> se
> insertará el mapa -->
>                <mx:UIComponent id="mapContainer"
>                initialize="onContinerInitialize(event);"
>                resize="onContainerResize(event)"
>                width="100%" height="100%"/>
>
>
>                <!-- Defino que ne la parte inferior se inserta una estructura 
> de
> tabs -->
>            <mx:TabNavigator width="100%" height="200">
>
>                    <!-- Defino el primer tab -->
>                    <mx:Canvas width="100%" height="100%" label="Listado de
> Ciudades">
>                                <mx:DataGrid dataProvider="{ dataSet.data }" 
> width="100%"
> height="100%" itemClick="onGridItemClick(event)">
>                                        <mx:columns>
>                                                <mx:DataGridColumn 
> headerText="Location" dataField="@location" /
>>
>                                                <mx:DataGridColumn 
> headerText="Avg Jan Temp"
> dataField="@janTemp" sortCompareFunction="sortNumeric" />
>                                                <mx:DataGridColumn 
> headerText="Latitude" dataField="@lat" />
>                                                <mx:DataGridColumn 
> headerText="Longitude" dataField="@lon" />
>                                                <mx:DataGridColumn 
> headerText="Color"
> labelFunction="colorLabelFunction"
> itemRenderer="components.ColorRenderer" />
>                                        </mx:columns>
>                                </mx:DataGrid>
>                    </mx:Canvas>
>
>                        <!-- Defino el segundo tab -->
>                <mx:Canvas width="100%" height="100%" label="Acerca de...">
>
>                        <mx:TextArea editable="false" width="100%" 
> height="100%">
>                    <!-- Inserto texto HTML en un tab -->
>                                <mx:htmlText>
>                                        <![CDATA[<b>Qué es esto?</b>
> <p>Esto es un ejemplo acerca de como trabajar on los elementos
> gráficos relacionados con mapas, bla, bla, bla...</p>
> <p>Se puede insertar html sin ningún problema, así como enlaces a
> otras partes, por ejemplo a mi <a href="http://
> ferbor.blogspot.com">blog</a> </p>
> <p>lameb simbut te comiyum denber acicatum etnis lasertis ah va codex
> sei tutus lameb simbut te comiyum denber acicatum etnis lasertis ah va
> codex sei tutus alba salga contoda totre lader mullkait solle fiud
> fresdtiok alo jujuan sai toga onga mocha alga canda salo tuitui remo
> hkaiko sango juniter masker lanmarker duncher suimer sastum gairi
> jukaste acalite chengo lameb simbut te comiyum denber acicatum etnis
> lasertis ah va codex sei tutus lameb simbut te comiyum denber acicatum
> etnis lasertis ah va codex sei tutus lameb simbut te comiyum denber
> acicatum etnis lasertis ah va codex sei tutus lameb simbut te comiyum
> denber acicatum etnis lasertis ah va codex sei tutus lameb simbut te
> comiyum denber acicatum etnis lasertis ah va codex sei tutus lameb
> simbut te comiyum denber acicatum etnis lasertis ah va codex sei tutus
> lameb simbut te comiyum denber acicatum etnis lasertis ah va codex sei
> tutus lameb simbut te comiyum denber acicatum etnis lasertis ah va
> codex sei tutus lameb simbut te comiyum denber acicatum etnis lasertis
> ah va codex sei tutus</p>
>                                        ]]>
>                                </mx:htmlText>
>                        </mx:TextArea>
>
>                </mx:Canvas>
>            </mx:TabNavigator>
>
>        </mx:VDividedBox>
>
>
>
> </mx:Application>
>
> This is the XMLfile
>
> <?xml version="1.0" encoding="UTF-8"?>
> <dataset>
>                          <data location="Lujan, BA" janTemp="44" lat="-34.58" 
> lon="-59.16"/
>>
>                          <data location="Lujan de Cuyo, ME" janTemp="38" 
> lat="-33.05"
> lon="-68.866"/>
>                          <data location="Amaicha del Valle, TU" janTemp="35" 
> lat="-26.55"
> lon="-65.917"/>
>                          <data location="Los Reartes, CO" janTemp="31" 
> lat="-31.916"
> lon="-64.583"/>
>                          <data location="Los Angeles, CA" janTemp="47" 
> lat="34.3"
> lon="-118.7"/>
>                          <data location="San Francisco, CA" janTemp="42" 
> lat="38.4"
> lon="-123.0"/>
>                          <data location="Denver, CO" janTemp="15" lat="40.7" 
> lon="-105.3"/
>>
>                          <data location="Ojo de Agua, CA" janTemp="22" 
> lat="-28.466"
> lon="-65.45"/>
>                          <data location="Realico, LP" janTemp="26" 
> lat="-35.033"
> lon="-64.25"/>
>                          <data location="San Francisco, CO" janTemp="30" 
> lat="-31.433"
> lon="-62.083"/>
>                          <data location="Jacksonville, FL" janTemp="45" 
> lat="31.0"
> lon="-82.3"/>
>                          <data location="Pico Truncado, SC" janTemp="35" 
> lat="-46.8"
> lon="-67.966"/>
>                          <data location="Miami, FL" janTemp="58" lat="26.3" 
> lon="-80.7"/>
>                          <data location="Atlanta, GA" janTemp="37" lat="33.9" 
> lon="-85.0"/
>>
>                          <data location="Boise, ID" janTemp="22" lat="43.7" 
> lon="-117.1"/>
>                          <data location="Chicago, IL" janTemp="19" lat="42.3" 
> lon="-88.0"/
>>
>                          <data location="Indianapolis, IN" janTemp="21" 
> lat="39.8"
> lon="-86.9"/>
>                          <data location="Des Moines, IA" janTemp="11" 
> lat="41.8"
> lon="-93.6"/>
>                          <data location="Wichita, KS" janTemp="22" lat="38.1" 
> lon="97.6"/>
>                          <data location="Louisville, KY" janTemp="27" 
> lat="39.0"
> lon="86.5"/>
>                          <data location="New Orleans, LA" janTemp="45" 
> lat="30.8"
> lon="90.2"/>
>                          <data location="Portland, ME" janTemp="12" 
> lat="44.2" lon="70.5"/
>>
>                          <data location="Menucos, RN" janTemp="25" 
> lat="-39.616"
> lon="-67.083"/>
>                          <data location="Boston, MA" janTemp="23" lat="42.7" 
> lon="71.4"/>
>                          <data location="Detroit, MI" janTemp="21" lat="43.1" 
> lon="83.9"/>
>                          <data location="Minneapolis, MN" janTemp="2" 
> lat="45.9"
> lon="93.9"/>
>                          <data location="St. Louis, MO" janTemp="24" 
> lat="39.3" lon="90.5"/
>>
>                          <data location="Helena, MT" janTemp="8" lat="47.1" 
> lon="112.4"/>
>                          <data location="Omaha, NE" janTemp="13" lat="41.9" 
> lon="96.1"/>
>                          <data location="San Marcos Sierra, CO" janTemp="11" 
> lat="-30.783"
> lon="-64.65"/>
>                          <data location="Atlantic City, NJ" janTemp="27" 
> lat="39.8"
> lon="75.3"/>
>                          <data location="Albuquerque, NM" janTemp="24" 
> lat="35.1"
> lon="106.7"/>
>                          <data location="Albany, NY" janTemp="14" lat="42.6" 
> lon="73.7"/>
>                          <data location="New York, NY" janTemp="27" 
> lat="40.8" lon="74.6"/
>>
>                          <data location="Charlotte, NC" janTemp="34" 
> lat="35.9" lon="81.5"/
>>
>                          <data location="Raleigh, NC" janTemp="31" lat="36.4" 
> lon="78.9"/>
>                          <data location="Bismarck, ND" janTemp="0" lat="47.1" 
> lon="101.0"/
>>
>                          <data location="Cincinnati, OH" janTemp="26" 
> lat="39.2"
> lon="85.0"/>
>                          <data location="Cleveland, OH" janTemp="21" 
> lat="42.3" lon="82.5"/
>>
>                          <data location="Oklahoma City, OK" janTemp="28" 
> lat="35.9"
> lon="97.5"/>
>                          <data location="Portland, OR" janTemp="33" 
> lat="45.6" lon="123.2"/
>>
>                          <data location="Harrisburg, PA" janTemp="24" 
> lat="40.9"
> lon="77.8"/>
>                          <data location="Philadelphia, PA" janTemp="24" 
> lat="40.9"
> lon="75.5"/>
>                          <data location="Charleston, SC" janTemp="38" 
> lat="33.3"
> lon="80.8"/>
>                          <data location="Nashville, TN" janTemp="31" 
> lat="36.7" lon="87.6"/
>>
>                          <data location="Amarillo, TX" janTemp="24" 
> lat="35.6" lon="101.9"/
>>
>                          <data location="Galveston, TX" janTemp="49" 
> lat="29.4" lon="95.5"/
>>
>                          <data location="Houston, TX" janTemp="44" lat="30.1" 
> lon="95.9"/>
>                          <data location="Salt Lake City, UT" janTemp="18" 
> lat="41.1"
> lon="112.3"/>
>                          <data location="Burlington, VT" janTemp="7" 
> lat="45.0" lon="73.9"/
>>
>                          <data location="Norfolk, VA" janTemp="32" lat="37.0" 
> lon="76.6"/>
>                          <data location="Seattle, WA" janTemp="33" lat="48.1" 
> lon="122.5"/
>>
>                          <data location="Spokane, WA" janTemp="19" lat="48.1" 
> lon="117.9"/
>>
>                          <data location="Madison, WI" janTemp="9" lat="43.4" 
> lon="90.2"/>
>                          <data location="Milwaukee, WI" janTemp="13" 
> lat="43.3" lon="88.1"/
>>
>                          <data location="Cheyenne, WY" janTemp="14" 
> lat="41.2" lon="104.9"/
>>
> </dataset>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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