con esa condición funciona..pero no perfectamente, ya que me agrega el icono corresponiente a esas latlng(que antes no lo hacia), pero el comportamiento de éste(de uno de ellos)no saca su informacion predeterminada sino, es como si clickearas en el otro..
es un poco dificil de explicar..voy a intentarlo de nuevo:
cargo dos markers, cada marker coge la informacion del <mx:Model> recorriendolo con el for de abajo.
al pulsarle tiene que salir dependiendo del name que le pases una imagen u otra, así como la description y title.
Me carga los iconos y si pulso en uno sale lo que tiene que salir, titulo, foto.. pero si clickeo en el otro, no funciona aparece como si hubiera clickeado en el anterior..este funciona bien
este con circulo rojo funciona mal
depende de quien declare primero en el <mx:Model>
Código ActionScript :
for (var i:Number=0; i<data.places.length; i++)
{
var point:LatLng= new LatLng (data.places[i].lat, data.places[i].lng);
var name:String = data.places[i].name;
var title:String = data.places[i].title;
var description:String= data.places[i].description;
var marker:Marker=new Marker(point, new MarkerOptions({icon: new customIcons["camera"]}));
var options:InfoWindowOptions = new InfoWindowOptions({
customContent: new MyCustomInfoWindow(point, title, name, description),
//tamaño del infowindow los bordes
width: 200,
height: 180,
drawDefaultFrame: true,
hasShadow: false
});
marker.addEventListener(MapMouseEvent.CLICK, function(e:Event):void {
marker.openInfoWindow(options);
});
this.map.addOverlay(marker);
}
que hace myCustomInfoWindow?:
Código ActionScript :
package
{
import com.google.maps.LatLng;
import mx.containers.Canvas;
import mx.controls.Image;
import mx.controls.Label;
import mx.controls.TextArea;
import mx.core.UIComponent;
public class MyCustomInfoWindow extends UIComponent {
public function MyCustomInfoWindow(latlng:LatLng, title:String, name:String, description:String) {
//Set up a canvas to fit inside the infowindow
var can:Canvas = new Canvas();
can.width = 180;
can.height = 180;
//Set up a label for the heading of the marker's infowindow
var heading:Label = new Label();
heading.x = 5;
heading.y = 5;
heading.width = 120;
heading.height = 15;
heading.text = title;
//Set up a text area for the description of the marker's infowindow
var desc:TextArea = new TextArea();
desc.editable = false;
desc.selectable = false;
desc.x = 5;
desc.y = 125;
desc.width = 120;
desc.height = 15;
desc.htmlText = description;
desc.setStyle("borderStyle", "none");
var image:Image = new Image();
//depende del name, carga una imagen u la otra
switch (name)
{
case("poruba"):
image.source = "http://sites.google.com/site/yeayu1987/Poruba.jpg";
break;
case("residence"):
image.source = "http://sites.google.com/site/yeayu1987/source.JPG";
break;
}
image.width = 150;
image.height = 150;
image.x = 5;
image.y = 30;
image.visible = true;
//Add all of the components to the canvas
can.addChild(heading);
can.addChild(image);
can.addChild(desc);
addChild(can);
}
}
}
Perdon por el tostón que os acabo de meter.. pero no tengo a mucha gente a quien preguntar...