source: src/django_gheat/website/static/heatmap_extensions_test.js@ 9240

Last change on this file since 9240 was 9239, checked in by dennisw, 15 years ago

Used Rick's last Rev to make the filters work better. Will fix rest later.

Added jquery-1.6.1 to static, no more loading from sites like googleapis.com.

File size: 3.4 KB
Line 
1// Uses zoomlevel en mouseposition to call the nodelist.py view. View returns nodes in json format which is read and printed in document element.
2function getNodeList(zoomlevel, mousepos) {
3 $.getJSON("/website/nodelist/" + zoomlevel + "," + mousepos.lat + "," + mousepos.lon,
4 function(json) {
5 content = 'Wireless Leiden nodes on mouseposition:<br /><b>';
6 $.each(json, function(i,json){
7 content += json.fields.ssid;
8 });
9 content += '</br>';
10 $("#node_list").html(content);
11 }
12 );
13}
14
15// set filter values
16$(document).ready(function() {
17
18 // Fastest?: http://stackoverflow.com/questions/170986/what-is-the-best-way-to-add-options-to-a-select-from-an-array-with-jquery
19 $.getJSON("/website/foofilter/",
20 function(json) {
21 $.each(json, function(i,json){
22 $("<option value='" + json.gebruiker + "'>" + json.gebruiker + "</option>").appendTo("#select_user");
23 $.each(json.meetrondje, function(m, meetrondje){
24 $("<option class='" + json.gebruiker + "' value='" + meetrondje.naam + "'>"+ meetrondje.naam + "</option>").appendTo("#select_dataset");
25 $.each(meetrondje.nodes, function(n, nodes){
26 $("<option class='" + meetrondje.naam + "' value='" + nodes + "'>" + nodes + "</option>").appendTo("#select_node");
27 });
28// $("<option>" + meetrondje.datum + "</option>").appendTo("#select_date");
29 });
30 });
31// Initiate the chain
32 $("#select_dataset").chained("#select_user");
33 $("#select_node").chained("#select_dataset");
34 }
35 );
36});
37
38// add filter
39$(function(){
40 $('#add_filter').click(function(){
41
42 user = $('#select_user option:selected').text();
43 dataset = $('#select_dataset option:selected').text();
44 wlnode = $('#select_node option:selected').text();
45 enc = $('#select_enc option:selected').text();
46 date = $('#select_date option:selected').text();
47 colour = encodeURIComponent(document.getElementById("colour").value);
48 lname = encodeURIComponent(document.getElementById("lname").value);
49
50 if (user != 'All'){user='&meetrondje__gebruiker__naam='+user;}
51 else{user='';}
52 if (dataset != 'All'){dataset='&meetrondje__naam='+dataset;}
53 else{dataset='';}
54 if (wlnode != 'All'){wlnode='&accespoint__ssid='+wlnode;}
55 else{wlnode='';}
56 if (enc != ''){enc='&accespoint__encryptie='+enc;}
57 if (date != 'All'){date='&meetrondje__datum='+date;}
58 else{date='';}
59 if (colour != ''){colour='colour='+colour;}
60 else {colour = '&colour='+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256)+','+Math.floor(Math.random()*256);}
61 if (lname != ''){lname=lname;}
62 else {lname = 'Custom Filter';}
63
64 var baseurl = "/website/tile/${z}/${x},${y}.png?";
65
66 OpenLayers.Layer.OSM.Overlay = OpenLayers.Class(OpenLayers.Layer.OSM, {
67 initialize: function(name, options) {
68 var url = [
69 baseurl + colour + user + dataset + wlnode + enc + date
70 ];
71 document.getElementById('filter_text').innerHTML+="<br />Added: " + url;
72 options = OpenLayers.Util.extend({ numZoomLevels: 21 }, options);
73 var newArguments = [name, url, options];
74 OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
75 },
76 CLASS_NAME: "OpenLayers.Layer.Overlay"
77 });
78
79 filterlayer = new OpenLayers.Layer.OSM.Overlay(lname, {isBaseLayer: false, visibility: true});
80 map.addLayer(filterlayer);
81 });
82});
Note: See TracBrowser for help on using the repository browser.