/**
* Var 'map' is set global, used in 'heatmap_extensions.js'.
*/
var map;
function init_heatmap(){
var lat = getURLParameter('lat');
var lon = getURLParameter('lon');
var zoom = getURLParameter('zoom');
if(lat=='null' || lon=='null' || zoom=='null'){
var lat = 52.15514;
var lon = 4.48959;
var zoom = 13;
}
var projection_wgs = new OpenLayers.Projection("EPSG:4326"); // WGS 1984
map = new OpenLayers.Map('heatmap', {
theme: null,
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.Permalink(),
new OpenLayers.Control.PanZoomBar(),
new OpenLayers.Control.ZoomBox(),
new OpenLayers.Control.OverviewMap({
maximized : false,
mapOptions: { theme: null, },
}),
new OpenLayers.Control.MousePosition({ 'displayProjection' : projection_wgs }),
/**
* Decided to disable these controls.
* The layerswitcher has been replaced with a custom one. If you want the original back,
* make sure to disable the custom one to prevent collision.
*/
//new OpenLayers.Control.PanZoomBav(),
//new OpenLayers.Control.ScaleLine(),
//new OpenLayers.Control.LayerSwitcher(),
],
maxExtent: new OpenLayers.Bounds(-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892),
numZoomLevels:16,
maxResolution:156543.0339,
units:'m',
projection: "EPSG:900913",
displayProjection: new OpenLayers.Projection("EPSG:4326")
});
map.events.register('click', map, GetMousePos);
function GetMousePos(pos) {
var pix = map.getLonLatFromPixel(new OpenLayers.Pixel(pos.xy.x,pos.xy.y));
var mousepos = OpenLayers.Layer.SphericalMercator.inverseMercator(pix.lon, pix.lat);
var zoomlevel = map.getZoom();
getNodeList(zoom, mousepos);
}
layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
map.addLayer(layerMapnik);
layerHeatmap2 = new OpenLayers.Layer.OSM.Overlay2("All Access points", {isBaseLayer: false, visibility: false});
//map.addLayer(layerHeatmap2);
signallayer = new OpenLayers.Layer.OSM.Overlay4("signallayer", {isBaseLayer: false, visibility: false});
map.addLayer(signallayer);
layerHeatmap3 = new OpenLayers.Layer.OSM.Overlay3("Wireless Leiden Coverage", {isBaseLayer: false, visibility: true});
map.addLayer(layerHeatmap3);
layerHeatmap = new OpenLayers.Layer.OSM.Overlay1("Original Heatmap generator", {isBaseLayer: false, visibility: false});
//map.addLayer(layerHeatmap);
// create the layer styleMap by giving the default style a context
var colors = ["red", "green", "blue"];
var context = {
getSize: function(feature) {
var resolution = map.getResolution();
var scale = map.getZoom();
var base = 1;
if (scale > 16) {
base = 5;
} else if (scale > 14) {
base = 20;
} else {
base = 50;
}
return (base / map.getResolution());
}
};
var template = {
pointRadius: "${getSize}", // using context.getSize(feature)
fillColor: "lightgreen", // using context.getColor(feature)
strokeWidth: 0.5,
};
var style = new OpenLayers.Style(template, {context: context});
var geojson = new OpenLayers.Layer.GML("GeoJSON", "feature/nodes.json", {
projection: new OpenLayers.Projection("EPSG:4326"),
styleMap: new OpenLayers.StyleMap(style),
format: OpenLayers.Format.GeoJSON
});
map.addLayer(geojson);
var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
map.setCenter (lonLat, zoom);
/**
* Layers above are put in switcher, category 'default', with code below.
* TODO: Make process for putting layers into layerswitcher dynamic instead of putting every layer there manually.
*/
//$("#default").append("" + layerHeatmap.name + " ");
//$("#default").append("" + layerHeatmap2.name + " ");
$("#default").append("Replaced during init ");
$("#default").append("" + layerHeatmap3.name + " ");
}