diff --git a/gmap.module b/gmap.module
index af2d10f..8562250 100755
--- a/gmap.module
+++ b/gmap.module
@@ -252,6 +252,7 @@ function _gmap_base_js() {
   $query = array(
     'v' => variable_get('gmap_api_version', GMAP_API_VERSION),
     'language' => $langcode,
+    'libraries' => 'weather',  // JVO+ weather layer
     'sensor' => 'false',
   );
   if ($key = gmap_get_key()) {
diff --git a/js/gmap.js b/js/gmap.js
index f4662a5..bdb436b 100644
--- a/js/gmap.js
+++ b/js/gmap.js
@@ -357,6 +357,16 @@ Drupal.gmap.addHandler('gmap', function (elem) {
   obj.bind("boot", function () {
     obj.map = new google.maps.Map(elem, obj.opts);
     //console.log(obj.map);
+
+    // @see https://developers.google.com/maps/documentation/javascript/reference#WeatherLayerOptions
+    var weatherLayer = new google.maps.weather.WeatherLayer({
+      //  temperatureUnits: google.maps.weather.TemperatureUnit.FAHRENHEIT
+      temperatureUnits: google.maps.weather.TemperatureUnit.CELSIUS
+    });
+    weatherLayer.setMap(obj.map);
+
+    var cloudLayer = new google.maps.weather.CloudLayer();
+    cloudLayer.setMap(obj.map);
   });
 
   obj.bind("init", function () {
@@ -418,7 +428,12 @@ Drupal.gmap.addHandler('gmap', function (elem) {
         obj.change("maptypechange", _ib.mtc);
       }
     });
-    
+
+// Show weather details
+google.maps.event.addListener(weatherLayer, 'click', function(e) {
+  alert('The current temperature at ' + e.featureDetails.location + ' is '
+        + e.featureDetails.current.temperature + ' degrees.');
+});    
     /*
     google.maps.event.addListener(map, 'click', function(event) {
       alert(Drupal.gmap.getIcon("big blue", 0));
