Comunidad de diseño web y desarrollo en internet online

Marcadores con info de google maps en FLEX

Citar            
MensajeEscrito el 03 Nov 2010 10:30 am
Hola, tengo un proyecto en FLEX en el que cargo un mapa de google y muestro una serie de marcadores. Hasta ahí ningun problema. El asunto esta en que quiero conseguir que al hacer click en el marcador se muestre la ventana con la informacion de esa ubicacion.
Os dejo el codigo que tengo y el error que me sale cuando hago click en el marker:

Aqui creo el mapa (en el mxml)-------------------------------------

Código Flex :

<s:BorderContainer id="contenedormapa" visible.PantallaCompleta="false" includeIn="PantallaCompleta" width.PantallaCompleta="700" height.PantallaCompleta="400" >
   <maps:Map id="map" key="ABQIAAAACLpyUyPNugRJlaS0vs-1ORT2yXp_ZAY8_ufC3CFXhHIE1NvwkxREP8FGfrIa_lU4ew13azrP26CDvA" mapevent_mapready="onMapReady(event)" width="100%" height="100%" sensor="true">
   </maps:Map>           
</s:BorderContainer>


Aqui esta el AS3 donde creo los marcadores

Código ActionScript :

import com.google.maps.InfoWindowOptions;
import com.google.maps.LatLng;
import com.google.maps.MapEvent;
import com.google.maps.MapMouseEvent;
import com.google.maps.overlays.Marker;
import com.google.maps.MapOptions;

//el array loc contiene toda la informacion de las localizaciones
limitefor=2;
   for (var i:int=0; i<limitefor; i++) {
      
      //recojo todas las localizaciones de este video en una cadena 
      //divida por serparadores entre campos y entre localizaciones
      latitud = "";
      longitud = "";
      nombre = "";
      direccion = "";
;
      latitud = loc.latitud[i];
      longitud = loc.longitud[i];
      nombre = loc.nombre[i];
      direccion = loc.direccion[i] + ", " + loc.localidad[i] + " (" + loc.provincia[i] + ") " + loc.cp[i];
      
      var latlng:LatLng = new LatLng(Number(latitud), Number(longitud));
      
      var marker:Marker = createMarker(latlng, nombre, direccion);
      this.map.addOverlay(marker);       
   }

//Aqui defino la funcion que crea el marker con su ventana de informacion
function createMarker(latlng:LatLng, nombre:String, direccion:String):Marker {   
   var marker:Marker = new Marker(latlng);
   marker.addEventListener(MapMouseEvent.CLICK, function(e:MapMouseEvent):void {
      this.map.openInfoWindow(latlng, new InfoWindowOptions({title: nombre, content: direccion}));
   });
   return marker;
}


Todo me funciona perfectamente excepto el mostrar la ventana de informacion cuando hago click en el marker.
Este es el erro que sale:

TypeError: Error #1010: Un término no está definido y no tiene propiedades.
at Function/<anonymous>()[C:\Users\user\Documents\FLEX\TDPLAYER0607\src\kirmedia\Video.as:512]
at Function/<anonymous>()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.google.maps.overlays::Marker/dispatchMarkerMouseEvent()
at com.google.maps.overlays::Marker/onOverlayClick()

He mirado en la linea 512 pero no hay nada escrito, el error viene por otro sitio.
Espero que puedan ayudarme; llevo muchos dias intentando solucionarlo y buscando info en internet pero no ha habido suerte.

Un saludo a todos. Gracias.

Por liru28

53 de clabLevel



 

msie8
Citar            
MensajeEscrito el 03 Nov 2010 06:16 pm
La rutina del ejemplo de Google Maps usa texto estático o un array de datos (ya no recuerdo), no los argumentos que pasas a la función ya que usa una función anónima que se sobreescribe con cada llamada. Te sugiero que uses un array con los datos que necesitas, no uses una función anónima para el CLICK, y que en la función que setees como handler uses el MapMouseEvent, que contiene una referencia a latLng para hacer un lookup contra el array (debes guardar el latLng de cada marker para poder matchear)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 05 Nov 2010 01:26 pm
Hola, gracias por tu respuesta. Lo probare en el fin de semana....

Ya te cuento....

Un saludo

Por liru28

53 de clabLevel



 

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.