source: src/django_gheat/website/static/heatmap.js@ 9201

Last change on this file since 9201 was 9201, checked in by dennisw, 14 years ago

Better mousebounds with nodelist. Some delay with mouseposition though.

File size: 2.4 KB
Line 
1function init(){
2
3 var projection_wgs = new OpenLayers.Projection("EPSG:4326"); // WGS 1984
4
5 map = new OpenLayers.Map('heatmap', {
6 controls: [
7 new OpenLayers.Control.Navigation(),
8 new OpenLayers.Control.PanZoomBar(),
9 new OpenLayers.Control.ScaleLine(),
10 new OpenLayers.Control.LayerSwitcher(),
11 new OpenLayers.Control.MousePosition({ 'displayProjection' : projection_wgs }),
12 ],
13 maxExtent: new OpenLayers.Bounds(-20037508.3427892,-20037508.3427892,20037508.3427892,20037508.3427892),
14 numZoomLevels:16,
15 maxResolution:156543.0339,
16 units:'m',
17 projection: "EPSG:900913",
18 displayProjection: new OpenLayers.Projection("EPSG:4326")
19 });
20
21 map.events.register('mouseover', map, GetMousePos);
22 function GetMousePos(pos) {
23 var pix = map.getLonLatFromPixel(new OpenLayers.Pixel(pos.xy.x,pos.xy.y));
24 var mousepos = OpenLayers.Layer.SphericalMercator.inverseMercator(pix.lon, pix.lat);
25 var zoomlevel = map.getZoom();
26 getNodeList(zoom, mousepos);
27 }
28
29 layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
30 map.addLayer(layerMapnik);
31
32 layerHeatmap2 = new OpenLayers.Layer.OSM.Overlay2("All Access points", {isBaseLayer: false, visibility: true});
33 map.addLayer(layerHeatmap2);
34
35 layerHeatmap3 = new OpenLayers.Layer.OSM.Overlay3("Wireless Leiden Only", {isBaseLayer: false, visibility: true});
36 map.addLayer(layerHeatmap3);
37
38 layerHeatmap = new OpenLayers.Layer.OSM.Overlay1("Original Heatmap generator", {isBaseLayer: false, visibility: false});
39 map.addLayer(layerHeatmap);
40
41 var lon = 4.48319;
42 var lat = 52.14068;
43 var zoom = 16;
44
45 var lonLat = new OpenLayers.LonLat(lon, lat).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject());
46 map.setCenter (lonLat, zoom);
47}
48
49function getNodeList(zoomlevel, mousepos){
50 var nodelist;
51 if (window.XMLHttpRequest){
52 // code for IE7+, Firefox, Chrome, Opera, Safari
53 nodelist=new XMLHttpRequest();
54 }
55 else{
56 // code for IE6, IE5
57 nodelist=new ActiveXObject("Microsoft.XMLHTTP");
58 }
59
60 nodelist.onreadystatechange=function(){
61 if (nodelist.readyState==4 && nodelist.status==200){
62 json=eval('(' + nodelist.responseText + ')');
63 var list = '<br>';
64 for (var i=0; i<json.length; i++){
65 list += json[i].fields.ssid + '<br>';
66 }
67 document.getElementById('nodelist').innerHTML=list;
68 }
69 }
70
71 nodelist.open("GET","/website/nodelist/" + zoomlevel + "," + mousepos.lat + "," + mousepos.lon,true);
72 nodelist.send();
73}
Note: See TracBrowser for help on using the repository browser.