2012-01-30 17 views

Respuesta

2

No es fácil. No es muy fácil "animar" la transición de los niveles de zoom/centro del mapa y la función fitBounds no proporciona ninguna opción para habilitar esto.

Si usted quisiera hacer esto usted mismo, su mejor opción sería calcular el mejor centro y nivel de zoom y luego escribir algo de jQuery para animar las llamadas a setCenter. Los ajustes de nivel de zoom serían complicados porque hay cambios bastante discretos. jQuery no puede animar suavemente el zoom desde 1 -> 3 porque las únicas fichas de paso se servirán para 2. es

+3

Espero que Google agregue map.fitBounds (límites, velocidad) // 0 es el comportamiento actual – yazanpro

1

¿Qué hay de map.panToBounds(latLngBounds:LatLngBounds)? https://developers.google.com/maps/documentation/javascript/3.exp/reference#Map

+4

Esto no es realmente lo mismo: panToBounds no hace nada cuando el límite ya está en la ventana gráfica. No centra el límite, ni se acerca para que el límite se ajuste bien. – Sjeiti

+0

Como dijo Sjeiti, esto simplemente mueve (desplaza) la vista actual (al nivel de zoom actual) para incluir los límites. No se ajusta (acercar y centrar) a los límites. – ZephDavies

1

Dado que el map.fitBounds transición parece ser razonablemente suave cuando la cantidad de zoom y panorámica no es demasiado importante, debería ser posible escribir una función que hace una animación paso a paso a través de una serie de LatLngBounds intermedios . La clase Map tiene un evento idle que indica cuándo iniciar el próximo paso.

Cuestiones relacionadas