diff -r 1bb43e31032d -r a14b6562082b web/data/cubicweb.gmap.js --- a/web/data/cubicweb.gmap.js Tue Feb 14 15:14:22 2012 +0100 +++ b/web/data/cubicweb.gmap.js Tue Jul 10 15:07:23 2012 +0200 @@ -23,10 +23,25 @@ var jsonurl = wdgnode.getAttribute('cubicweb:loadurl'); var self = this; // bind this to a local variable jQuery.getJSON(jsonurl, function(geodata) { + var zoomLevel; + var center; + var latlngbounds = new GLatLngBounds( ); + for (var i = 0; i < geodata.markers.length; i++) { + var marker = geodata.markers[i]; + var latlng = new GLatLng(marker.latitude, marker.longitude); + latlngbounds.extend( latlng ); + } + if (geodata.zoomlevel) { + zoomLevel = geodata.zoomlevel; + } else { + zoomLevel = map.getBoundsZoomLevel( latlngbounds ) - 1; + } if (geodata.center) { - var zoomLevel = geodata.zoomlevel; - map.setCenter(new GLatLng(geodata.center.latitude, geodata.center.longitude), zoomLevel); + center = new GLatng(geodata.center.latitude, geodata.center.longitude); + } else { + center = latlngbounds.getCenter(); } + map.setCenter(center, zoomLevel); for (var i = 0; i < geodata.markers.length; i++) { var marker = geodata.markers[i]; self.createMarker(map, marker, i + 1, uselabel);