diff options
Diffstat (limited to 'www/js')
-rw-r--r-- | www/js/map-OpenLayers.js | 35 | ||||
-rw-r--r-- | www/js/map-OpenStreetMap.js | 4 | ||||
-rw-r--r-- | www/js/map-bing-ol.js | 3 |
3 files changed, 40 insertions, 2 deletions
diff --git a/www/js/map-OpenLayers.js b/www/js/map-OpenLayers.js index 1abffeb..69ec91e 100644 --- a/www/js/map-OpenLayers.js +++ b/www/js/map-OpenLayers.js @@ -326,6 +326,41 @@ OpenLayers.Control.Crosshairs.prototype = CLASS_NAME: "OpenLayers.Control.Crosshairs" }); +OpenLayers.Control.PanZoomFMS = OpenLayers.Class(OpenLayers.Control.PanZoom, { + buttonDown: function (evt) { + if (!OpenLayers.Event.isLeftClick(evt)) { + return; + } + + switch (this.action) { + case "panup": + this.map.pan(0, -this.getSlideFactor("h")); + break; + case "pandown": + this.map.pan(0, this.getSlideFactor("h")); + break; + case "panleft": + this.map.pan(-this.getSlideFactor("w"), 0); + break; + case "panright": + this.map.pan(this.getSlideFactor("w"), 0); + break; + case "zoomin": + this.map.zoomIn(); + break; + case "zoomout": + this.map.zoomOut(); + break; + case "zoomworld": + this.map.zoomTo(0); + break; + } + + OpenLayers.Event.stop(evt); + } +}); + + /* Overriding Permalink so that it can pass the correct zoom to OSM */ OpenLayers.Control.PermalinkFMS = OpenLayers.Class(OpenLayers.Control.Permalink, { updateLink: function() { diff --git a/www/js/map-OpenStreetMap.js b/www/js/map-OpenStreetMap.js index 5ef2405..f864848 100644 --- a/www/js/map-OpenStreetMap.js +++ b/www/js/map-OpenStreetMap.js @@ -5,8 +5,10 @@ function set_map_config(perm) { } fixmystreet.controls = [ new OpenLayers.Control.ArgParser(), + //new OpenLayers.Control.Navigation(), new OpenLayers.Control.Permalink(permalink_id), - new OpenLayers.Control.PermalinkFMS('osm_link', 'http://www.openstreetmap.org/') + new OpenLayers.Control.PermalinkFMS('osm_link', 'http://www.openstreetmap.org/'), + new OpenLayers.Control.PanZoomFMS({id: 'fms_pan_zoom' }) ]; } diff --git a/www/js/map-bing-ol.js b/www/js/map-bing-ol.js index 8ded5b3..9e9354d 100644 --- a/www/js/map-bing-ol.js +++ b/www/js/map-bing-ol.js @@ -14,7 +14,8 @@ function set_map_config(perm) { new OpenLayers.Control.Attribution(), new OpenLayers.Control.ArgParser(), fixmystreet.nav_control, - new OpenLayers.Control.Permalink(permalink_id) + new OpenLayers.Control.Permalink(permalink_id), + new OpenLayers.Control.PanZoomFMS({id: 'fms_pan_zoom' }) ]; fixmystreet.map_type = OpenLayers.Layer.Bing; } |