From e3b5c1b134517b0e98253c718f1a8a74c6b3757d Mon Sep 17 00:00:00 2001
From: Brandon Bergren <bdragon@rtk0.net>
Date: Thu, 31 Mar 2011 16:20:31 -0500
Subject: [PATCH] Add "recenter" event to allow using a change or globalChange
 to setCenter the map.

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

diff --git a/js/gmap.js b/js/gmap.js
index 9529586..470da5c 100755
--- a/js/gmap.js
+++ b/js/gmap.js
@@ -208,6 +208,23 @@ Drupal.gmap.addHandler('gmap', function (elem) {
     obj.map.panTo(new GLatLng(obj.vars.latitude, obj.vars.longitude));
   });
 
+  // Respond to incoming recenter commands.
+  _ib.recenter = obj.bind("recenter", function (vars) {
+    if (vars) {
+      if (vars.bounds) {
+        obj.vars.latitude = vars.bounds.getCenter().lat();
+        obj.vars.longitude = vars.bounds.getCenter().lng();
+        obj.vars.zoom = obj.map.getBoundsZoomLevel(vars.bounds);
+      }
+      else {
+        obj.vars.latitude = vars.latitude;
+        obj.vars.longitude = vars.longitude;
+        obj.vars.zoom = vars.zoom;
+      }
+    }
+    obj.map.setCenter(new GLatLng(obj.vars.latitude, obj.vars.longitude), obj.vars.zoom);
+  });
+
   // Respond to incoming map type changes
   _ib.mtc = obj.bind("maptypechange", function () {
     var i;
-- 
GitLab