From 57705aac8586291055e80e77b7a2f44acd4660a4 Mon Sep 17 00:00:00 2001
From: Brandon Bergren <bdragon@rtk0.net>
Date: Wed, 26 Jan 2011 21:38:48 +0000
Subject: [PATCH] Add support for extent widget.

---
 js/gmap.js | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/js/gmap.js b/js/gmap.js
index c193b5f..045ec5c 100755
--- a/js/gmap.js
+++ b/js/gmap.js
@@ -441,6 +441,27 @@ Drupal.gmap.addHandler('latlon', function (elem) {
   });
 });
 
+////////////////////////////////////////
+//          Extent widget             //
+////////////////////////////////////////
+Drupal.gmap.addHandler('extent', function (elem) {
+  var obj = this;
+  // Respond to incoming extent changes.
+  var binding = obj.bind("move", function () {
+    var b = obj.map.getBounds();
+    elem.value = '' + b.getSouthWest().lng() + ',' + b.getSouthWest().lat() + ',' + b.getNorthEast().lng() + ',' + b.getNorthEast().lat();
+  });
+  // Send out outgoing extent changes.
+  jQuery(elem).change(function () {
+    var t = this.value.split(',');
+    var b = new GLatLngBounds(new GLatLng(Number(t[1]), Number(t[0])), new GLatLng(Number(t[3]), Number(t[2])));
+    obj.vars.latitude = b.getCenter().lat();
+    obj.vars.longitude = b.getCenter().lng();
+    obj.vars.zoom = obj.map.getBoundsZoomLevel(b);
+    obj.map.setCenter(new GLatLng(obj.vars.latitude, obj.vars.longitude), obj.vars.zoom);
+  });
+});
+
 ////////////////////////////////////////
 //          Maptype widget            //
 ////////////////////////////////////////
-- 
GitLab