diff options
Diffstat (limited to 'modules/freifunk/luasrc/view')
-rw-r--r-- | modules/freifunk/luasrc/view/freifunk-map/frame.htm | 10 | ||||
-rw-r--r-- | modules/freifunk/luasrc/view/freifunk-map/map.htm | 19 |
2 files changed, 24 insertions, 5 deletions
diff --git a/modules/freifunk/luasrc/view/freifunk-map/frame.htm b/modules/freifunk/luasrc/view/freifunk-map/frame.htm index 909b27065..b2e168363 100644 --- a/modules/freifunk/luasrc/view/freifunk-map/frame.htm +++ b/modules/freifunk/luasrc/view/freifunk-map/frame.htm @@ -12,10 +12,18 @@ <% if has_latlon then %> <iframe style="width:100%; height:640px; border:none" src="<%=luci.dispatcher.build_url("freifunk/map/content")%>"></iframe> + <h3><%:Legend%>:</h3> + <ul> + <li><strong><span style="color:#00cc00"><%:Green%></span></strong>:<%:Very good (ETX < 2)%></li> + <li><strong><span style="color:#ffcb05"><%:Yellow%></span></strong>:<%:Good (2 < ETX < 4)%></li> + <li><strong><span style="color:#ff6600"><%:Orange%></span></strong>:<%:Still usable (4 < ETX < 10)%></li> + <li><strong><span style="color:#bb3333"><%:Red%></span></strong>:<%:Bad (ETX > 10)%></li> + </ul> + <% else %> <h2><%:Map Error%></h2> <p><%_The OLSRd service is not configured to capture position data from the network.<br /> Please make sure that the nameservice plugin is properly configured and that the <em>latlon_file</em> option is enabled.%></p> <% end %> - <%+footer%> + diff --git a/modules/freifunk/luasrc/view/freifunk-map/map.htm b/modules/freifunk/luasrc/view/freifunk-map/map.htm index f373a7a6b..02b1afdab 100644 --- a/modules/freifunk/luasrc/view/freifunk-map/map.htm +++ b/modules/freifunk/luasrc/view/freifunk-map/map.htm @@ -43,11 +43,22 @@ if (null != alias[fromip]) fromip = alias[fromip]; if (null != points[fromip] && null != points[toip]) { - var w = 1; - if (etx < 4) w++; - if (etx < 2) w++; + var color; + var red = 240; + var green = 0; + var blue = 0; + var w = 1 + + if (etx < 100) {red=252;green=102;blue=0;w=2}; + if (etx < 10) {red=255;green=203;blue=5;w=3}; + if (etx < 4) {red=240;green=255;blue=0;w=4}; + if (etx < 2) {red=0;green=204;blue=0;w=5}; + if (etx < 1) {red=80;green=0;blue=0;w=1}; + map.AddPolyline(new VEPolyline('id'+lineid, [points[fromip], points[toip]], - new VEColor(102,Math.floor(lq*255.0),Math.floor(nlq*255.0),1.0), w)); + new VEColor(red, green, blue, 0.5), w)); + + } else { |