Llamando map.fitBounds () varias veces en la versión 3.0 de Google Maps API
-
28-09-2019 - |
Pregunta
he hecho más que empezar con la API de Google Maps (v3.0) y han tenido una buena cantidad de éxito hasta el momento. Estoy cargando un conjunto de objetos con valores de latitud y longitud a partir de una base de datos, que pasarían a ser mi guión, y bucles sobre ellos en la secuencia de comandos con el fin de añadirlos al mapa.
Estoy utilizando el método de "bounds.extend()
/ map.fitBounds()
" de la configuración del zoom del mapa y límites (véase el código de abajo), que funciona como se espera la primera vez; sin embargo, si puedo borrar los marcadores existentes, ir a buscar otro conjunto de objetos, y hacer lo mismo que en la misma instancia mapa , que establece los límites de forma incorrecta, por lo general resulta en un mínimo de zoom (vista de un astronauta ).
Mi sospecha es que mi objeto de mapa tiene algún recuerdo de la anterior serie de límites que le he dado y que tengo que encontrar una manera de eliminar estos límites antes de asignar mis otros nuevos, pero en realidad no puede ser muy seguro.
Cualquier ayuda es muy apreciada!
var locationList = [];
for (var i = 0; i < mapPoints.length; i++) { // mapPoints is a collection of DTOs
var mapPoint = mapPoints[i];
var location = new google.maps.LatLng(mapPoint.Latitude, mapPoint.Longitude);
locationList.push(location);
var marker = new google.maps.Marker({
map: map,
icon: '/Content/images/map/' + mapPoint.Status.Icon,
shadow: '/Content/images/map/shadow.png',
position: location
});
markers.push(marker); // markers is an Array that is managed outside this loop
}
var bounds = new google.maps.LatLngBounds();
for (var j = 0; j < locationList.length; j++)
bounds.extend(locationList[j]);
map.fitBounds(bounds);
Otros consejos
Si la respuesta anterior no funciona (no lo hizo para mí), el problema podría estar en arranque (asumiendo que usted está usando). modales de arranque generan específicamente todo tipo de comportamiento poco firme cuando lo integrar un objeto de mapa en ella .. curiosamente corregirse si / cuando se me cae una 'alerta' en ese país .. En cualquier caso, he resuelto todos mis problemas con sólo la construcción de mi propia modal (es decir, no utilizando bootstraps modales).