¿Cómo puedo restablecer los límites de un mapa de Google cuando el usuario selecciona una opción? Los límites ya han sido configurados para incluir una 'gran imagen' del área, quiero acercarme a un área específica cuando el usuario selecciona una opción ... y necesito hacerlo restableciendo los límites. La ampliación para incluir los lat/longs no funcionará, ya que están incluidos.Restablecer límites en la API de Google Maps v3
10
A
Respuesta
11
Tienes que crear un new bounds object, agregar los puntos del mapa a él, y luego agregar los límites del objeto al mapa.
solución condensada:
//Create new bounds object
var bounds = new google.maps.LatLngBounds();
//Loop through an array of points, add them to bounds
for (var i = 0; i < data.length; i++) {
var geoCode = new google.maps.LatLng(data[i][1], data[i][2]);
bounds.extend(geoCode);
}
//Add new bounds object to map
map.fitBounds(bounds);
Mi solución completa para la eliminación de los marcadores existentes, consiguiendo una serie actualizada de los puntos a través de AJAX, agregarlos al mapa, y luego restablecer las límites de mapas.
<script type="text/javascript">
var map;
var markers = [];
$(document).ready(function() {
initialize();
setInterval(function() {
setMarkers();
}, 3000);
});
google.maps.visualRefresh = true;
function initialize()
{
var mapOptions = {
zoom: 2,
center: new google.maps.LatLng(45, -93),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
setMarkers();
}
function setMarkers()
{
removeMarkers();
var bounds = new google.maps.LatLngBounds();
$.ajax({
url: "/Your/Url?variable=123",
dataType: "json",
success: function (data) {
//Data returned is made up of string[3]
if (data != null) {
//loop through data
for (var i = 0; i < data.length; i++) {
var geoCode = new google.maps.LatLng(data[i][1], data[i][2]);
var marker = new google.maps.Marker({
position: geoCode,
map: map,
title: data[i][0],
content: '<div style="height:50px;width:200px;">' + data[i][0] + '</div>'
});
var infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.content);
infowindow.open(map, this);
});
markers.push(marker);
bounds.extend(geoCode);
}
}
map.fitBounds(bounds);
}
});
}
function removeMarkers()
{
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
}
Cuestiones relacionadas
- 1. Google Maps API V3: limite los límites del mapa
- 2. Google Maps API v3 BrowserIsCompatible
- 3. Google Maps API v2 vs Google Maps API v3?
- 4. Google maps Límite municipal API v3
- 5. Quitar marcador en Google Maps Api v3
- 6. Google Maps API v3: Administrador de dibujos
- 7. GWT + API de Google Maps v3
- 8. Google Maps API de JavaScript v3
- 9. Obtenga límites de mapas no envolventes en la API de Google Maps V3
- 10. Google Maps api V3 marcador de actualización
- 11. Google Maps API V3 Gray Áreas
- 12. google maps api v3 - streetview más cercano
- 13. jQTouch/google maps tema API v3
- 14. google maps api v3 no hay etiquetas?
- 15. Google Maps v3 API - Autocompletar (dirección)
- 16. Google maps api v3 iconos predeterminados?
- 17. google maps v3 API mouseover con polígonos?
- 18. Google maps api v3 cursores estándar
- 19. Google maps API V3 método fitBounds()
- 20. Obtener los límites de una poliine en Google Maps API v3
- 21. ¿Habilita la nueva representación GL en Google Maps API v3?
- 22. Google Map API v3 - establecer límites y centro
- 23. fitbounds() en Google maps api V3 no se ajusta a los límites
- 24. Google Earth integrado con Google Maps API v3?
- 25. Límites de país usando Google Map API v3
- 26. Google Maps Api v3 - getBounds no está definido
- 27. Distancia de direcciones en Google Maps API v3
- 28. Eliminación de un marcador en Google Maps API v3
- 29. Google Maps API v3 marcador con la etiqueta
- 30. Google Maps v3 OverlayView.getProjection()