Add a Null HordeMap.Geocoder driver and add to Kronolith
authorMichael J. Rubinsky <mrubinsk@horde.org>
Fri, 12 Feb 2010 20:47:40 +0000 (15:47 -0500)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Fri, 12 Feb 2010 21:40:01 +0000 (16:40 -0500)
Returns error for geocoding requests and lat/lng pair for reverse geocoding requests

horde/js/hordemap/map.js
kronolith/config/conf.xml
kronolith/js/kronolith.js

index a5f695b..0dec891 100644 (file)
@@ -130,7 +130,33 @@ HordeMap = {
         }
     },
 
-    Geocoder: {
-        Horde: {} // TODO
-    }
+    /**
+     * Base Geocoder implementations.
+     * The Horde Class will implement a geocoding service utilizing the various
+     * Horde_Ajax_Imple_Geocoder_* classes. Mapping providers that include
+     * geocoding services will have HordeMap.Geocoder implementations in their
+     * respective *.js files.  The Null driver provides fallback implementaions
+     * for those without geocoder support.
+     *
+     */
+    Geocoder: {}
 };
+
+HordeMap.Geocoder.Horde = Class.create({});
+HordeMap.Geocoder.Null = Class.create({
+
+    initialize: function(opts)
+    {
+    },
+
+    geocode: function(address, callback, onErrorCallback)
+    {
+        return onErrorCallback('No geocoding support');
+    },
+
+    reverseGeocode: function(lonlat, completeCallback, errorCallback)
+    {
+        var ll = { lon: lonlat.lon, lat: lonlat.lat, address: lonlat.lon + ' ' + lonlat.lat};
+        return completeCallback([ll]);
+    }
+});
index 393ca2b..e9c094e 100644 (file)
     <configenum default="false" name="geocoder" desc="Which Geocoder service
     should we use?">
      <values>
-      <value desc="None" default="true">false</value>
+      <value desc="None" default="true">Null</value>
       <value desc="Google">Google</value>
       <value desc="Virtual Earth/Bing">Ve</value>
       <value desc="Yahoo">Yahoo</value>
     <configenum default="false" name="geocoder" desc="Which Geocoder service
     should we use?">
      <values>
-      <value desc="None">false</value>
+      <value desc="None">Null</value>
       <value desc="SAPO" default="true">SAPO</value>
       <value desc="Google">Google</value>
       <value desc="Virtual Earth/Bing">Ve</value>
index 66a6d08..6b41422 100644 (file)
@@ -3731,7 +3731,7 @@ KronolithCore = {
 
     onGeocodeError: function(r)
     {
-        KronolithCore.showNotifications([ { type: 'horde.error', message: Kronolith.text.geocode_error } ]);
+        KronolithCore.showNotifications([ { type: 'horde.error', message: Kronolith.text.geocode_error + ' ' + r} ]);
     },