Merge branch 'jordan' of ssh://git.onelab.eu/git/myslice into jordan
[myslice.git] / plugins / googlemap / googlemap.js
index 2ab99da..2b0b88a 100644 (file)
@@ -1,12 +1,11 @@
 /**
- * MySlice GoogleMap plugin
- * URL: http://trac.myslice.info
  * Description: display a query result in a googlemap
- * Author: The MySlice Team
  * Copyright (c) 2012 UPMC Sorbonne Universite - INRIA
  * License: GPLv3
  */
 
+// xxx TODO -- this one could use a bit of cleaning like what was done for the first plugins
+// especially wrt using 'instance' and 'data' in such a confusing way
 
 (function( jQuery ){
 
@@ -30,9 +29,9 @@
             $this.data('markerCluster', null);
             $this.data('markers', []);
 
-            var myLatlng = new google.maps.LatLng(34.397, 150.644);
+            var myLatlng = new google.maps.LatLng(options.latitude, options.longitude);
             var myOptions = {
-              zoom: 2,
+              zoom: options.zoom,
               center: myLatlng,
               mapTypeId: google.maps.MapTypeId.ROADMAP
             }
                 GoogleMap : GoogleMap
             });
 
+            /* Events */
+            $this.on('show.GoogleMaps', methods.show);
+
+
             /* Subscribe to query updates */
             jQuery.subscribe('/results/' + options.query_uuid + '/changed', {instance: $this}, update_map);
             jQuery.subscribe('/update-set/' + options.query_uuid, {instance: $this}, on_resource_changed);
            instance_.closest('.need-spin').spin(false);
 
 
-            if (!rows) {
-                alert('error');
+            if (rows === undefined || !rows || rows.length==0) {
+               messages.warning ("Empty result in googlemap.update_map - nothing to show");
                 return;
             }