--- 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);