Tengo un mapa V3 cargado y centrado en una determinada longitud/latitud de manera predeterminada. Una vez cargado, el usuario puede ingresar su dirección para obtener instrucciones sobre cómo llegar a ese punto. Cuando esto sucede, el mapa cambia de tamaño para acomodar un cuadro de direcciones a su izquierda. Debido a esto, la ruta está descentrada en la ventana del mapa. Probé el siguiente código, que pensé que debería funcionar lógicamente, pero fue en vano.Centrar un V3 Google Map en la ruta después de que se muestren las indicaciones
Nueva realización: Si cambio el tamaño de la ventana de alguna manera, comienza a funcionar como se espera.
He encontrado el problema: Necesito activar google.maps.event.trigger(map, 'resize')
después de cambiar el tamaño del contenedor del mapa.
directionsService.route(query, function(result,status) {
if (status === google.maps.DirectionsStatus.OK) {
// This sets the directions container to display:block and resizes the map
document.getElementById('map-container').className = "directions";
directions.setDirections(result);
var bounds = result.routes[0].bounds;
map.fitBounds(bounds);
map.setCenter(bounds.getCenter());
} else {
alert("");
}
});
una vez que llame a fitBounds debería centrarse basado en LatLngBounds así que no debería necesitar establecerCenter – kjy112
Sí, agregué setCenter() en un último esfuerzo. No se centra como se espera con o sin él. – Justin
malinterpreté por completo la parte del mapa "redimensionar". me alegro de que funcionó – kjy112