X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/c8ee1351049ef1bb4d7b50d071b2a96154266d1d..fdd5d2d7791f9138c339c9f18bcaa8946bd18d0c:/public/javascripts/map.js?ds=sidebyside diff --git a/public/javascripts/map.js b/public/javascripts/map.js index 608f4c264..a52cd0a70 100644 --- a/public/javascripts/map.js +++ b/public/javascripts/map.js @@ -1,6 +1,7 @@ var epsg4326 = new OpenLayers.Projection("EPSG:4326"); var map; var markers; +var vectors; var popup; var nonamekeys = { @@ -82,6 +83,17 @@ function createMap(divName, options) { projection: "EPSG:900913" }); map.addLayer(markers); + + vectors = new OpenLayers.Layer.Vector("Vectors", { + displayInLayerSwitcher: false, + numZoomLevels: numZoomLevels, + maxExtent: new OpenLayers.Bounds(-20037508,-20037508,20037508,20037508), + maxResolution: 156543, + units: "m", + projection: "EPSG:900913" + }); + map.addLayer(vectors); + return map; } @@ -106,6 +118,19 @@ function addMarkerToMap(position, icon, description) { return marker; } +function addBoxToMap(boxbounds) { + box = new OpenLayers.Feature.Vector( + boxbounds.toGeometry().transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()) ); + + box.style = { + 'strokeWidth': 3, + 'strokeColor': '#0000ff', + 'fillOpacity': 0, + }; + vectors.addFeatures(box); + return box; +} + function openMapPopup(marker, description) { closeMapPopup(); @@ -129,6 +154,10 @@ function removeMarkerFromMap(marker){ markers.removeMarker(marker); } +function removeBoxFromMap(box){ + vectors.removeFeature(box); +} + function getMapCenter(center, zoom) { return map.getCenter().clone().transform(map.getProjectionObject(), epsg4326); } @@ -144,7 +173,7 @@ function setMapExtent(extent) { map.zoomToExtent(extent.clone().transform(epsg4326, map.getProjectionObject())); } -function getMapExtent(extent) { +function getMapExtent() { return map.getExtent().clone().transform(map.getProjectionObject(), epsg4326); }