Tengo un problema con un mapa en el que he usado los métodos de mapa fitBounds
, que debe dar el zoom adecuado y centrar el mapa dándole un latón formación. Aquí está el código:Google maps ajuste automático (centro automático y autozoom) no funciona
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?sensor=false">
</script>
<div id="map_canvas">
<script type="text/javascript">
var map;
var bounds = new google.maps.LatLngBounds(null);
function initialize() {
var mapOptions = {
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
<?php
foreach ($this->getProductCollection() as $_e):
$event = Mage::getModel('catalog/product')->load($_e->getId());
?>
var loc = new google.maps.LatLng("<?php echo $event->getEventLocationLatitude(); ?>","<?php echo $event->getEventLocationLongitude(); ?>");
bounds.extend(loc);
addMarker(loc, '<?php echo $event->getName(); ?>', "active");
bounds.extend(loc);
<?php endforeach; ?>
map.fitBounds(bounds);
map.panToBounds(bounds);
}
function addMarker(location, name, active) {
var marker = new google.maps.Marker({
position: location,
map: map,
title: name,
status: active
});
}
jQuery.noConflict();
jQuery(document).ready(function(){
initialize();
});
</script>
Los marcadores se colocan correctamente en el mapa, pero me da el zoom máximo disponible:
Cualquier ayuda?
El panToBounds * * llamada es un poco redundante, pero supongo que fue solo intento de hacerla funcionar. También llama a * bounds.extend() * dos veces, pero no debería volver a ser un problema. Cuando comprueba sus * límites *, ¿contiene el valor correcto? –
Ignora el php y mira solo lo que ve el navegador. Haga "ver fuente" en su navegador y publique ese código en su lugar. – Marcelo