diff options
Diffstat (limited to 'tools/mmd/MmdWidgets.py')
-rw-r--r-- | tools/mmd/MmdWidgets.py | 133 |
1 files changed, 74 insertions, 59 deletions
diff --git a/tools/mmd/MmdWidgets.py b/tools/mmd/MmdWidgets.py index e245397..4cdedef 100644 --- a/tools/mmd/MmdWidgets.py +++ b/tools/mmd/MmdWidgets.py @@ -295,73 +295,88 @@ def osmWidget (session): user_location = session.user.getDefaultLocation () if not user_location: user_location = Location () - minutes_preview = 180 - html = ''' - <div id="osm"></div> - <script src="http://www.openlayers.org/api/OpenLayers.js"></script> - <script type="text/javascript"> - // satellite and user position - var from = new OpenLayers.Projection ("EPSG:4326"); - var to = new OpenLayers.Projection ("EPSG:900913"); - var sat_position = new OpenLayers.LonLat ({0}, {1}).transform (from, to); - var user_location = new OpenLayers.LonLat ({2}, {3}).transform (from, to); - - // create a map - var map = new OpenLayers.Map ("osm"); - map.addLayer (new OpenLayers.Layer.OSM ()); - - // create a markers - var markersLayer = new OpenLayers.Layer.Markers ("Markers"); - var sat = new OpenLayers.Marker (sat_position); - var user = new OpenLayers.Marker (user_location); - user.setOpacity (0.5); - map.addLayer (markersLayer); - markersLayer.addMarker (sat); - markersLayer.addMarker (user); - - // array build by python ;) - {4} - - // points/polygons - var lineLayer = new OpenLayers.Layer.Vector ("Polygons"); - map.addLayer (lineLayer); - // map.addControl (new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path)); - var Features = new Array (); - // var colors = new Array ('#ff0000', '#00ff00', '#0000ff'); - - for (var i = 0; i < curves.length; i++) - {{ - var points = new Array (); - for (var j = 0; j < curves[i].length; j++) - {{ - points.push (new OpenLayers.Geometry.Point (curves[i][j].lon, curves[i][j].lat)); - }} - var c = i % 3; - var lineStyle = {{strokeColor: '#003366', strokeOpacity: 1, strokeWidth: 1}}; - Features.push (new OpenLayers.Feature.Vector (new OpenLayers.Geometry.LineString (points), null, lineStyle)) - }} - - lineLayer.addFeatures (Features); - - // zoom to world view - map.zoomTo (1); - - </script> - <div class="info"> - The map shows the satellite's expected ground track for the next {5} minutes. - </div> + <iframe src="http://hofos.at/tracker?name={0}&longitude={1}&latitude={2}&altitude={3}" width="540px" height="400px" frameborder="0" scrolling="no"></iframe> '''.format ( - session.satellite.longitude, - session.satellite.latitude, + user_location.name, user_location.longitude, user_location.latitude, - session.satellite.getTrajectoryAsJavaArray ('curves', minutes_preview), - minutes_preview + user_location.altitude ) return html +# def osmWidget (session): +# user_location = session.user.getDefaultLocation () +# if not user_location: +# user_location = Location () +# minutes_preview = 180 +# +# html = ''' +# <div id="osm"></div> +# <script src="http://www.openlayers.org/api/OpenLayers.js"></script> +# <script type="text/javascript"> +# // satellite and user position +# var from = new OpenLayers.Projection ("EPSG:4326"); +# var to = new OpenLayers.Projection ("EPSG:900913"); +# var sat_position = new OpenLayers.LonLat ({0}, {1}).transform (from, to); +# var user_location = new OpenLayers.LonLat ({2}, {3}).transform (from, to); +# +# // create a map +# var map = new OpenLayers.Map ("osm"); +# map.addLayer (new OpenLayers.Layer.OSM ()); +# +# // create a markers +# var markersLayer = new OpenLayers.Layer.Markers ("Markers"); +# var sat = new OpenLayers.Marker (sat_position); +# var user = new OpenLayers.Marker (user_location); +# user.setOpacity (0.5); +# map.addLayer (markersLayer); +# markersLayer.addMarker (sat); +# markersLayer.addMarker (user); +# +# // array build by python ;) +# {4} +# +# // points/polygons +# var lineLayer = new OpenLayers.Layer.Vector ("Polygons"); +# map.addLayer (lineLayer); +# // map.addControl (new OpenLayers.Control.DrawFeature(lineLayer, OpenLayers.Handler.Path)); +# var Features = new Array (); +# // var colors = new Array ('#ff0000', '#00ff00', '#0000ff'); +# +# for (var i = 0; i < curves.length; i++) +# {{ +# var points = new Array (); +# for (var j = 0; j < curves[i].length; j++) +# {{ +# points.push (new OpenLayers.Geometry.Point (curves[i][j].lon, curves[i][j].lat)); +# }} +# var c = i % 3; +# var lineStyle = {{strokeColor: '#003366', strokeOpacity: 1, strokeWidth: 1}}; +# Features.push (new OpenLayers.Feature.Vector (new OpenLayers.Geometry.LineString (points), null, lineStyle)) +# }} +# +# lineLayer.addFeatures (Features); +# +# // zoom to world view +# map.zoomTo (1); +# +# </script> +# <div class="info"> +# The map shows the satellite's expected ground track for the next {5} minutes. +# </div> +# '''.format ( +# session.satellite.longitude, +# session.satellite.latitude, +# user_location.longitude, +# user_location.latitude, +# session.satellite.getTrajectoryAsJavaArray ('curves', minutes_preview), +# minutes_preview +# ) +# +# return html + def statusWidget (session): if session.status == 'auth': inout = '''Status: logged in as {0}. <span id="logout"><a href="?cmd=logout">logout</a></span>'''.format (session.user.email) |