var epsg4326 = new OpenLayers.Projection("EPSG:4326");
var map;
var markers;
+var vectors;
var popup;
+var nonamekeys = {
+ 'openstreetmap.org': '2f59745a6b525b4ebdb100891d5b6711',
+ 'www.openstreetmap.org': 'fd093e52f0965d46bb1c6c6281022199',
+ 'openstreetmap.com': '4c60e7f5f31c576a9bb8da71c8d61152',
+ 'www.openstreetmap.com': '142f25a0770a51a9a400b3513834a199',
+ 'openstreetmap.net': '687c58fd1d715596bfc94abe653d8ac0',
+ 'www.openstreetmap.net': '0bd1654141c85d30b9c2ccdb5302f2e4'
+};
+
OpenLayers._getScriptLocation = function () {
+ // Should really have this file as an erb, so that this can return
+ // the real rails root
return "/openlayers/";
}
],
units: "m",
maxResolution: 156543.0339,
- numZoomLevels: 20
+ numZoomLevels: 20,
+ displayProjection: new OpenLayers.Projection("EPSG:4326")
});
var mapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik", {
});
map.addLayer(cyclemap);
+ var nonamekey = nonamekeys[document.domain];
+ var noname = new OpenLayers.Layer.OSM("NoName", [
+ "http://a.tile.cloudmade.com/" + nonamekey + "/3/256/",
+ "http://b.tile.cloudmade.com/" + nonamekey + "/3/256/",
+ "http://c.tile.cloudmade.com/" + nonamekey + "/3/256/"
+ ], {
+ displayOutsideMaxExtent: true,
+ wrapDateLine: true,
+ numZoomLevels: 19
+ });
+ map.addLayer(noname);
+
var maplint = new OpenLayers.Layer.OSM.Maplint("Maplint", {
displayOutsideMaxExtent: true,
wrapDateLine: true
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;
}
return marker;
}
+function addBoxToMap(boxbounds) {
+ var geometry = boxbounds.toGeometry().transform(epsg4326, map.getProjectionObject());
+ var box = new OpenLayers.Feature.Vector(geometry, {}, {
+ strokeWidth: 3,
+ strokeColor: '#0000ff',
+ fillOpacity: 0,
+ });
+
+ vectors.addFeatures(box);
+
+ return box;
+}
+
function openMapPopup(marker, description) {
closeMapPopup();
markers.removeMarker(marker);
}
+function removeBoxFromMap(box){
+ vectors.removeFeature(box);
+}
+
function getMapCenter(center, zoom) {
return map.getCenter().clone().transform(map.getProjectionObject(), epsg4326);
}
function setMapCenter(center, zoom) {
+ zoom = parseInt(zoom);
+ var numzoom = map.getNumZoomLevels();
+ if (zoom >= numzoom) zoom = numzoom - 1;
map.setCenter(center.clone().transform(epsg4326, map.getProjectionObject()), zoom);
}
map.zoomToExtent(extent.clone().transform(epsg4326, map.getProjectionObject()));
}
-function getMapExtent(extent) {
+function getMapExtent() {
return map.getExtent().clone().transform(map.getProjectionObject(), epsg4326);
}