123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>Map</title>
- </head>
- <body style="margin:0">
- <script src="//dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1&s=1" type="text/javascript"></script>
- <script type="text/javascript">
- var alias = new Array;
- var points = new Array;
- var unkpos = new Array;
- var lineid = 0;
- onload=new Function("if(null!=window.ffmapinit)ffmapinit();");
- function Mid(mainip,aliasip)
- {
- alias[aliasip]=mainip;
- }
- function Node(mainip,lat,lon,ishna,hnaip,name)
- {
- points[mainip] = new VELatLong(lat, lon);
- map.AddPushpin(new VEPushpin(mainip, points[mainip],
- '<%=luci.config.main.resourcebase%>/freifunk-map/'+(ishna?'hna':'node')+'.gif', 'Node:'+name,
- '<br><img src="<%=luci.config.main.resourcebase%>/freifunk-map/'+(ishna?'hna':'node')+'.gif">'+
- '<br>IP:'+mainip+'<br>DefGW:'+hnaip));
- }
- function Self(mainip,lat,lon,ishna,hnaip,name)
- {
- //map.SetDashboardSize(VEDashboardSize.Small);
- map.LoadMap(new VELatLong(lat, lon), 15, VEMapStyle.Hybrid);
- map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);
- map.ShowMiniMap(14, 474);
- Node(mainip,lat,lon,ishna,hnaip,name);
- }
- function Link(fromip,toip,lq,nlq,etx)
- {
- if (0==lineid && null!=window.ffmapstatic) ffmapstatic();
- if (null != alias[toip]) toip = alias[toip];
- if (null != alias[fromip]) fromip = alias[fromip];
- if (null != points[fromip] && null != points[toip])
- {
- 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(red, green, blue, 0.5), w));
- }
- else
- {
- if (null == points[toip]) unkpos[toip] = '';
- if (null == points[fromip]) unkpos[fromip] = '';
- }
- lineid++;
- }
- function PLink(fromip,toip,lq,nlq,etx,lata,lona,ishnaa,latb,lonb,ishnab)
- {
- Link(fromip,toip,lq,nlq,etx);
- }
- function ffmapinit()
- {
- if(null!=window.map)map.Dispose();
- var INFINITE = 99.99;
- map = new VEMap('ffmap');
- <%
- local fd
- local uci = require "luci.model.uci".cursor()
- uci:foreach("olsrd", "LoadPlugin", function(s)
- if s.library == "olsrd_nameservice.so.0.3" and s.latlon_file then
- fd = io.open(s.latlon_file)
- end
- end)
- if fd then
- local data = fd:read("*a")
- fd:close()
- if data then
- local line
- for line in data:gmatch("[^\n]+") do
- if line:match(";$") then
- write(line .. "\n")
- else
- break
- end
- end
- end
- end
- %>
- }
- function ffgoto(ip)
- {
- map.SetCenter(points[ip]);
- }
- </script>
- <div id="ffmap" style="position:relative; width:100%; height:640px;"></div>
- </body>
- </html>
|