Una vez que esten utilizando la api de google maps, agreguen algunos markers al mapa que esten utilizando, yo por ejemplo agregue cuatro markers a mi mapa, en el evento mapevent_mapready del componente map, también agreguen los listeners para los markers, el manejador de eventos para mi ejemplo se llama markerClickHandler y sirve para cualquiera de los marcadores.
Inicializacion del mapa con todos sus controles:
private function onMapReady(event:Event):void {
var marca_opciones:MarkerOptions=new MarkerOptions({
//icon:new y_icon(),
strokeStyle:{
thickness: 1,
color: 0x000000,
alpha: 0.7,
pixelHinting: false
},
fillStyle: {
color: 0xffff00,
alpha: 1
},
labelFormat: {
bold: true,
size:13
},
iconAlignment:MarkerOptions.ALIGN_LEFT + MarkerOptions.ALIGN_TOP
});
marca_bio=new Marker(new LatLng(-21.545267488021963,-64.72380390772629),marca_opciones);
marca_bio.setOptions(new MarkerOptions({label:"BIOQUIMICA",tooltip:"BIOQUMICA"}));
marca_tec=new Marker(new LatLng(-21.546145154934187, -64.72045382866669),marca_opciones);
marca_tec.setOptions(new MarkerOptions({label:"TECNOLOGIA",tooltip:"TECNOLOGIA"}));
marca_rec=new Marker(new LatLng(-21.538266669460526, -64.73333111414719),marca_opciones);
marca_rec.setOptions(new MarkerOptions({label:"RECTORADO",tooltip:"RECTORADO"}));
marca_ypfb=new Marker(new LatLng(-21.537902411079983, -64.73395875105668),marca_opciones);
marca_ypfb.setOptions(new MarkerOptions({label:"EX-YPFB",tooltip:"EX-YPFB"}));
marca_bio.addEventListener(MapMouseEvent.CLICK,markerClickHandler);
marca_tec.addEventListener(MapMouseEvent.CLICK,markerClickHandler);
marca_rec.addEventListener(MapMouseEvent.CLICK,markerClickHandler);
marca_ypfb.addEventListener(MapMouseEvent.CLICK,markerClickHandler)
mapita.addOverlay(marca_bio);
mapita.addOverlay(marca_tec);
mapita.addOverlay(marca_rec);
mapita.addOverlay(marca_ypfb);
mapita.addControl(new ZoomControl());
mapita.addControl(new PositionControl());
mapita.addControl(new MapTypeControl());
mapita.removeMapType(MapType.PHYSICAL_MAP_TYPE);
}
listener de los markers:
private function markerClickHandler(e:MapMouseEvent):void{
var request:URLRequest;
var imageLoader:Loader = new Loader();
var marca:Marker= Marker(e.target) ;
switch(marca.getOptions().label){
case "BIOQUIMICA":
request= new URLRequest("http://www.uajms.edu.bo/wifi/animado_bioquimica.swf");
break;
case "EX-YPFB":
request= new URLRequest("http://www.uajms.edu.bo/wifi/animado_ypfb.swf");
break;
case "RECTORADO":
request= new URLRequest("http://www.uajms.edu.bo/wifi/rectorado_color.jpg");
break;
case "TECNOLOGIA":
request= new URLRequest("http://www.uajms.edu.bo/wifi/animado_tecnologia.swf");
break;
}
imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,
function(event:Event):void {
var width:Number = imageLoader.width;
var height:Number = imageLoader.height;
var options:InfoWindowOptions = new InfoWindowOptions();
options.title="PLANO "+marca.getOptions().label;
options.width=width+10;
options.height=height+10;
options.padding=10;
options.customContent=imageLoader;
options.drawDefaultFrame=true;
marca.openInfoWindow(options);
});
imageLoader.load(request);
}
el metodo markerClickHandler revisa cual marker es el que se selecciono con "switch(marca.getOptions().label)" y dentro de cada case creo un URLRequest a alguna foto a alguna animación flash, luego le paso el request a un Loader con " imageLoader.load(request)" y defino un listener para el loader, y cuando termina de cargar la animacion flash se pasa como argumento al marcador que lo solicito con "marca.openInfoWindow(options)".Con los swfs tarda un poco mas que con las imagenes, pero puede variar segun el tamaño de su swf.
La aplicación que es solo informativa la pueden ver aquí