Updates distances, loading cursor
diff --git a/asterix-examples/src/main/resources/black-cherry/cherry.tpl b/asterix-examples/src/main/resources/black-cherry/cherry.tpl
index 74dfe99..2a63e89 100755
--- a/asterix-examples/src/main/resources/black-cherry/cherry.tpl
+++ b/asterix-examples/src/main/resources/black-cherry/cherry.tpl
@@ -11,7 +11,7 @@
   <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" type="text/css">
 
   <!-- Bootstrap Javascript -->
-  <script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places" type="text/javascript"></script>
+  <script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places,drawing,geometry" type="text/javascript"></script>
 
   <script src="http://code.jquery.com/jquery.min.js"></script>
   <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
@@ -301,4 +301,4 @@
 
   </div><!-- End tab list -->
 </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/asterix-examples/src/main/resources/black-cherry/static/js/cherry.js b/asterix-examples/src/main/resources/black-cherry/static/js/cherry.js
index fb8ba0d..8beda60 100755
--- a/asterix-examples/src/main/resources/black-cherry/static/js/cherry.js
+++ b/asterix-examples/src/main/resources/black-cherry/static/js/cherry.js
@@ -210,6 +210,7 @@
 
         $("#report-message").html('');
         $("#submit-button").attr("disabled", true);
+        $("body").css("cursor", "progress");
         
         var kwterm = $("#keyword-textbox").val();
         var startdp = $("#start-date").datepicker("getDate");
@@ -502,6 +503,7 @@
     
     $('#async_container_' + handle_id).append('<br/>');
     
+    $("body").css("cursor", "default");
     $("#submit-button").attr("disabled", false);
 }
 
@@ -613,6 +615,8 @@
         $("#legend-max").html(maxWeight);
         $("#rainbow-legend-container").show();   
     });
+    
+    $("body").css("cursor", "default");
 }
 
 /**
@@ -621,6 +625,9 @@
 * @params {object} marker_borders a set of bounds for a region from a previous api result
 */
 function onMapPointDrillDown(marker_borders) {
+
+    $("body").css("cursor", "progress");
+
     var zoneData = APIqueryTracker["data"];
     
     var zswBounds = new google.maps.LatLng(marker_borders.latSW, marker_borders.lngSW);
@@ -965,6 +972,8 @@
         // Add marker to index of tweets
         map_tweet_markers.push(map_tweet_m); 
     });
+    
+    $("body").css("cursor", "default");
 }
 
 /**
@@ -1114,7 +1123,7 @@
     map_tweet_markers = [];
     
     $("#rainbow-legend-container").hide();
-    
+  
     $("#submit-button").attr("disabled", false);
 }
 
@@ -1157,30 +1166,14 @@
     var scale = 500 + 500*(spatialCell.weight / wLimit);
     
     // Return proportionate value so that circles mostly line up.
-    return scale * Math.min(distanceBetweenPoints_(point_center, point_left), distanceBetweenPoints_(point_center, point_top));
+    return scale * Math.min(distanceBetweenPoints(point_center, point_left), distanceBetweenPoints(point_center, point_top));
 }
 
 /**
- * Calculates the distance between two latlng locations in km.
- * @see http://www.movable-type.co.uk/scripts/latlong.html
- *
- * @param {google.maps.LatLng} p1 The first lat lng point.
- * @param {google.maps.LatLng} p2 The second lat lng point.
- * @return {number} The distance between the two points in km.
- * @private
+* Calculates the distance between two latlng locations in km, using Google Geometry API.
+* @param p1, a LatLng
+* @param p2, a LatLng
 */
-function distanceBetweenPoints_(p1, p2) {
-  if (!p1 || !p2) {
-    return 0;
-  }
-
-  var R = 6371; // Radius of the Earth in km
-  var dLat = (p2.lat() - p1.lat()) * Math.PI / 180;
-  var dLon = (p2.lng() - p1.lng()) * Math.PI / 180;
-  var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
-    Math.cos(p1.lat() * Math.PI / 180) * Math.cos(p2.lat() * Math.PI / 180) *
-    Math.sin(dLon / 2) * Math.sin(dLon / 2);
-  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
-  var d = R * c;
-  return d;
+function distanceBetweenPoints (p1, p2) {
+  return 0.001 * google.maps.geometry.spherical.computeDistanceBetween(p1, p2);
 };