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
RevLine 
[9139]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 });
[9175]20
[9201]21 map.events.register('mouseover', map, GetMousePos);
[9175]22 function GetMousePos(pos) {
[9196]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);
[9175]27 }
28
[9139]29 layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
30 map.addLayer(layerMapnik);
[9147]31
[9177]32 layerHeatmap2 = new OpenLayers.Layer.OSM.Overlay2("All Access points", {isBaseLayer: false, visibility: true});
[9147]33 map.addLayer(layerHeatmap2);
[9166]34
35 layerHeatmap3 = new OpenLayers.Layer.OSM.Overlay3("Wireless Leiden Only", {isBaseLayer: false, visibility: true});
36 map.addLayer(layerHeatmap3);
[9190]37
38 layerHeatmap = new OpenLayers.Layer.OSM.Overlay1("Original Heatmap generator", {isBaseLayer: false, visibility: false});
39 map.addLayer(layerHeatmap);
[9139]40
[9197]41 var lon = 4.48319;
42 var lat = 52.14068;
[9139]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}
[9175]48
[9196]49function getNodeList(zoomlevel, mousepos){
[9177]50 var nodelist;
51 if (window.XMLHttpRequest){
52 // code for IE7+, Firefox, Chrome, Opera, Safari
53 nodelist=new XMLHttpRequest();
[9175]54 }
[9177]55 else{
56 // code for IE6, IE5
57 nodelist=new ActiveXObject("Microsoft.XMLHTTP");
[9175]58 }
59
[9177]60 nodelist.onreadystatechange=function(){
61 if (nodelist.readyState==4 && nodelist.status==200){
[9197]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;
[9175]68 }
69 }
[9177]70
[9196]71 nodelist.open("GET","/website/nodelist/" + zoomlevel + "," + mousepos.lat + "," + mousepos.lon,true);
[9177]72 nodelist.send();
[9175]73}
Note: See TracBrowser for help on using the repository browser.