108 lines
2.8 KiB
HTML
108 lines
2.8 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<title>Map</title>
|
|
</head>
|
|
|
|
<body style="margin:0">
|
|
<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.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 w = 1;
|
|
if (etx < 4) w++;
|
|
if (etx < 2) w++;
|
|
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));
|
|
}
|
|
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>
|