Respuesta

69

Google Maps API v3 proporciona un objeto LatLngBounds al que puede agregar varios objetos LatLng. A continuación, puede pasar esto a Map.fitBounds() función como se describe aquí:

Ejemplo parcial

var latlng = [ 
    new google.maps.LatLng(1.23, 4.56), 
    new google.maps.LatLng(7.89, 1.01), 
    // ... 
]; 
var latlngbounds = new google.maps.LatLngBounds(); 
for (var i = 0; i < latlng.length; i++) { 
    latlngbounds.extend(latlng[i]); 
} 
map.fitBounds(latlngbounds); 
+1

BTW: cuando se opera en una matriz de marcadores, puede obtener la posición de los marcadores mediante el método 'getPosition()'. –

20

usted agrega marcadores a su mapa de Google creando una instancia de un objeto marker para cada uno de sus pares de latitud/longitud:

var marker = new google.maps.Marker({ 
    position: currentLatLng, 
    map: map, 
    title:"Title!" 
}); 

La opción map en el marcador constructer asociará el objeto nuevo mercado con su mapa.

Para ampliar su mapa para incluir sus nuevos marcadores, utilice el método fitBounds en el objeto map. fitBounds toma un objeto latLngBounds como parámetro. Este objeto tiene un práctico extender el método que ajustará los límites para incluir una nueva latitud/longitud. Así que solo tiene que pasar por todos sus puntos, llamando al extienda en un solo objeto latLngBounds. Esto ampliará los límites para incluir todos tus marcadores. Una vez que haya hecho esto, pase este objeto al método fitBounds en el map y se ampliará para mostrar todos sus nuevos marcadores.

+0

a pesar de que ya ha proporcionado la respuesta correcta * primero * .. como de costumbre, la mayoría de los puntos fueron a la otra * misma * respuesta que en realidad tenía algún código de muestra .. – abbood

+1

@abbood Gracias por la sugerencia;) – RedBlueThing

Cuestiones relacionadas