Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/10/2010, 04:35
xavigr
 
Fecha de Ingreso: octubre-2006
Mensajes: 6
Antigüedad: 17 años, 7 meses
Puntos: 0
Google Mas Api (v3): Varios marcadores y centrar

Hola, después de múltiples peleas con la API 3 de Google Maps he conseguido, con este código, mostrar varios marcadores en un mapa.

Código:
  
 var geocoder;
  var map;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    codeAddress("Paseo de Gracia, 25 Barcelona");
    codeAddress("Calle Caspe, 12 Barcelona");
    
    var latlng = new google.maps.LatLng(-34.397, 150.644);
    var myOptions = {
      zoom: 13,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }

    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

  function codeAddress(address) {
    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location,
            center: results[0].geometry.location
        });
      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });
  }
Estoy convencido de que hay formas más fáciles de hacerlo, pero esa es la que he encontrado yo.

En cualquier caso lo que necesito es que el mapa quede centrado para que con el zoom adecuado se vean todos los marcadores a la vez, ya que ahora el mapa se centra simplemente con el último marcador que le paso a la función codeAdress.

(Nota: en este caso hay dos marcadores pero el código debe estar preparado para recibir los que sean)

¿Alguien conoce la solución al problema?

Gracias