21 var map = new GMap2(wdgnode); |
21 var map = new GMap2(wdgnode); |
22 map.addControl(new GSmallMapControl()); |
22 map.addControl(new GSmallMapControl()); |
23 var jsonurl = wdgnode.getAttribute('cubicweb:loadurl'); |
23 var jsonurl = wdgnode.getAttribute('cubicweb:loadurl'); |
24 var self = this; // bind this to a local variable |
24 var self = this; // bind this to a local variable |
25 jQuery.getJSON(jsonurl, function(geodata) { |
25 jQuery.getJSON(jsonurl, function(geodata) { |
|
26 var zoomLevel; |
|
27 var center; |
|
28 var latlngbounds = new GLatLngBounds( ); |
|
29 for (var i = 0; i < geodata.markers.length; i++) { |
|
30 var marker = geodata.markers[i]; |
|
31 var latlng = new GLatLng(marker.latitude, marker.longitude); |
|
32 latlngbounds.extend( latlng ); |
|
33 } |
|
34 if (geodata.zoomlevel) { |
|
35 zoomLevel = geodata.zoomlevel; |
|
36 } else { |
|
37 zoomLevel = map.getBoundsZoomLevel( latlngbounds ) - 1; |
26 if (geodata.center) { |
38 if (geodata.center) { |
27 var zoomLevel = geodata.zoomlevel; |
39 center = new GLatng(geodata.center.latitude, geodata.center.longitude); |
28 map.setCenter(new GLatLng(geodata.center.latitude, geodata.center.longitude), zoomLevel); |
40 } else { |
|
41 center = latlngbounds.getCenter(); |
|
42 } |
|
43 map.setCenter(center, zoomLevel); |
29 } |
44 } |
30 for (var i = 0; i < geodata.markers.length; i++) { |
45 for (var i = 0; i < geodata.markers.length; i++) { |
31 var marker = geodata.markers[i]; |
46 var marker = geodata.markers[i]; |
32 self.createMarker(map, marker, i + 1, uselabel); |
47 self.createMarker(map, marker, i + 1, uselabel); |
33 } |
48 } |