Foros del Web » Programando para Internet » Javascript »

informacion del marcador indicado

Estas en el tema de informacion del marcador indicado en el foro de Javascript en Foros del Web. Buen dia compañeros del foro. tengo una duda y es la siguiente: Tengo multiples marcadores en un mapa de google maps; creado con la api ...
  #1 (permalink)  
Antiguo 16/07/2018, 08:27
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 10 años, 10 meses
Puntos: 2
informacion del marcador indicado

Buen dia compañeros del foro.
tengo una duda y es la siguiente:
Tengo multiples marcadores en un mapa de google maps; creado con la api de google maps api.

Lo que busco es que cuando haga click en alguno de los marcadores me dè la informacion de su posision(marker.getPosition()), y resulta que cuando hago click en alguno de los marcadores dice la informacion de la posicion, pero me devuelve la misma posicion sin importar la ubicacion del marcador.

Este es el codigo.

Código Javascript:
Ver original
  1. var marker;
  2. for(i=0;i<lugar.getLength();i++){
  3. marker=new google.maps.Marker({position:lugar.getAt(i)});//ubicacion de los marker
  4. google.maps.event.addDomListener(marker, 'click', function() {
  5.             alert(marker.getPosition());
  6. });
  7.                     marker.setMap(mapa);                           
  8. }

Espero una pronta respuesta, Muchas gracias.
  #2 (permalink)  
Antiguo 17/07/2018, 10:11
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 4 meses
Puntos: 86
Respuesta: informacion del marcador indicado

Si siempre te marca la posición del último marcador, el problema es el ciclo for. Solo permanece el último registro de evento. La solución es usar forEach, en lugar de for. En esta respuesta hay un problema y es que forEach recorre los elementos de una colección. En algún lado vi como usar for para estos casos, pero ahora mismo no recuerdo como se hace
  #3 (permalink)  
Antiguo 18/07/2018, 08:38
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 10 años, 10 meses
Puntos: 2
Respuesta: informacion del marcador indicado

hola mpozo, gracias por tu respuesta.
Te cuento.
tratè de utilizar forEach() para darle solucion a mi problema y de esa manera no lo pude resolver; pero lo pude resolver de otra manera.

Código Javascript:
Ver original
  1. var lugar=new google.maps.MVCArray();//array que permite guardar objetos literales

hize un ciclo anterior de tal manera que todas las ubicaciones que tenia, debia transformarlas a LatLang (clase de google maps). Y ahì si cada ubicacion la introduje al array MVC(lugar) anteriormente declarado.
de la siguiente manera:
Código Javascript:
Ver original
  1. var lugar=new google.maps.MVCArray();
  2.             var myLatLng;      
  3.             for(i=0;i<a.length;i++){
  4.             var lat=parseFloat(a[i][1]);
  5.             var lng=parseFloat(a[i][2]);
  6.             myLatLng =new google.maps.LatLng({lat: lat, lng: lng});        
  7.             lugar.push(myLatLng);
  8.             }

luego, hize otro bucle for creando ahì si los marcadores con dichas coordenadas(LatLng) y poniendolas sobre el mapa, y despues creè un objeto literal para cada marcador para acceder asì al marcador deseado y ver ahì si la informacion de dicho punto(marcador).

Aqui dejo el codigo para la persona que nesecite.
Código Javascript:
Ver original
  1. var ver=new Array(lugar.getLength());
  2. for(i=0;i<lugar.getLength();i++){
  3. ver[i]={objeto:marker};
  4. }
  5.  
  6. for(i=0;i<4;i++){
  7.             google.maps.event.addDomListener(ver[i].objeto, 'click', function() {
  8.             alert(this.getPosition());
  9.             });
  10.             }
De antemano muchas gracias.

Etiquetas: google, informacion, marcador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:29.