2011-12-18 19 views
22

cómo saber la latitud, la longitud al hacer clic en un mapa en google maps api v3. he hecho esto en los mapas de Google API v2 con este códigocómo obtener la latitud, longitud onclick de un mapa en google maps api v3 javascript?

GEvent.addListener(map, "click", function(overlay, latlng) { 
      if (latlng) { 
      marker = new GMarker(latlng, {draggable:true}); 
      GEvent.addListener(marker, "click", function() { 
       //alert("hello"); 
       var html = "<table>" + 
         "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" + 
         "<tr><td>Time:</td> <td><input type='text' id='time'/> </td> </tr>" + 
         "<tr><td>Bus Id:</td> <td><input type='text' id='busId'/> </td> </tr>" + 
         "<tr><td>Device Id:</td> <td><input type='text' id='deviceId'/> </td> </tr>" + 
         "<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>"; 
       marker.openInfoWindow(html); 
      }); 
      map.addOverlay(marker); 
      } 
     }); 

cómo hacer esto mismo en v3?

intenté esto pero no funcionó.

google.maps.event.addListener(map, "click", function(overlay,latlng) { 
     if (latlng) { 
     marker = new google.maps.Marker(latlng); 
      google.maps.event.addListener(marker, "click", function() { 
       var html = "<table>" + 
         "<tr><td>Name:</td> <td><input type='text' id='name'/> </td> </tr>" + 
         "<tr><td>Time:</td> <td><input type='text' id='time'/> </td> </tr>" + 
         "<tr><td>Bus Id:</td> <td><input type='text' id='busId'/> </td> </tr>" + 
         "<tr><td>Device Id:</td> <td><input type='text' id='deviceId'/> </td> </tr>" + 
         "<tr><td></td><td><input type='button' value='Save & Close' onclick='saveData()'/></td></tr>"; 
       marker.openInfoWindow(html); 
      }); 
      map.setMap(marker); 

     } 
     }); 

Respuesta

61

Tienes que usar el argumento de evento.

 
google.maps.event.addListener(map, 'click', function(event) { 

    marker = new google.maps.Marker({position: event.latLng, map: map}); 

}); 
+0

gracias Diodo ... –

3

Tienes que usar esto.

google.maps.event.addListener(map, 'click', function(event) { 
    alert("Latitude: " + event.latLng.lat() + " " + ", longitude: " + event.latLng.lng()); 
    }); 
Cuestiones relacionadas