web/data/cubicweb.gmap.js
brancholdstable
changeset 8462 a14b6562082b
parent 8164 1de67012837b
--- 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);