diff --git a/scripts/dashboard/dashboard.py b/scripts/dashboard/dashboard.py index 4d92e69..c45f18f 100644 --- a/scripts/dashboard/dashboard.py +++ b/scripts/dashboard/dashboard.py @@ -144,6 +144,7 @@ def about(): return render_template('about.html', title = dashboard_title, logo = logo, contact_name = contact_name, contact_call = contact_call, contact_email = contact_email, contact_website = contact_website) @app.route('/view_map') def view_map(): + reload_time = request.args.get('reload') track_call = request.args.get('track') user_loc = ast.literal_eval(os.popen('cat /tmp/gps_data_user_loc.txt').read()) last_known_list = [] @@ -158,24 +159,61 @@ def view_map(): if 'W' in user_coord['lon']: user_lon = -user_lon if user_coord['call'] not in last_known_list and user_coord['call'] == track_call: - folium_map = folium.Map(location=[user_lat, user_lon], zoom_start=15) + folium_map = folium.Map(location=[user_lat, user_lon], tiles="Stamen Toner", zoom_start=15) marker_cluster = MarkerCluster().add_to(folium_map) - folium.Marker([user_lat, user_lon], popup="" + 'Last Location: \n' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map) + # folium.Marker([user_lat, user_lon], popup="" + 'Last Location: \n' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map) + folium.Marker([user_lat, user_lon], popup=""" + + + + + + + + + + + + +
Last Location:
"""+ str(user_coord['call']) +"""
"""+ user_coord['time'] +"""
+
+ """, icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map) last_known_list.append(user_coord['call']) if user_coord['call'] in last_known_list and user_coord['call'] == track_call: #folium.Marker([user_lat, user_lon], popup="" + '' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", tooltip=str(user_coord['call'])).add_to(marker_cluster) - folium.CircleMarker([user_lat, user_lon], popup="" + '' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", tooltip=str(user_coord['call']), fill=True, fill_color="#3186cc", radius=4).add_to(marker_cluster) + folium.CircleMarker([user_lat, user_lon], popup=""" + + + + + + + + + +
""" + user_coord['call'] + """
""" + user_coord['time'] + """
+ """, tooltip=str(user_coord['call']), fill=True, fill_color="#3186cc", radius=4).add_to(marker_cluster) #return folium_map._repr_html_() - return '{} {}'.format(""" - - - Tracking """ + track_call + """

Following """ + track_call + """

-

Page automatically reloads every 2 minutes.

-

-

""", folium_map._repr_html_()) + if not reload_time: + reload_time = 120 + return '{} {}'.format(''' + + + """ + dashboard_title + """ - Tracking """+ track_call + """

""" + dashboard_title + """ - Tracking """ + track_call + """

+

Page automatically reloads every """ + str(reload_time) + """ seconds.

+

+ +

+

""", folium_map._repr_html_()) if not track_call: - folium_map = folium.Map(location=map_center, zoom_start=int(zoom_level)) + folium_map = folium.Map(location=map_center, tiles="Stamen Toner", zoom_start=int(zoom_level)) marker_cluster = MarkerCluster().add_to(folium_map) for user_coord in user_loc: user_lat = aprs_to_latlon(float(re.sub('[A-Za-z]','', user_coord['lat']))) @@ -185,11 +223,43 @@ def view_map(): if 'W' in user_coord['lon']: user_lon = -user_lon if user_coord['call'] not in last_known_list: - folium.Marker([user_lat, user_lon], popup="" + 'Last Location: \n' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + '\nTrack Station""", icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map) + #folium.Marker([user_lat, user_lon], popup="" + 'Last Location: \n' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + '\nTrack Station""", icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map) + folium.Marker([user_lat, user_lon], popup=""" + + + + + + + + + + + + + + + +
Last Location:
""" + user_coord['call'] + """
""" + user_coord['time'] + """
Track Station
+ +
""", icon=folium.Icon(color="red", icon="record"), tooltip=str(user_coord['call'])).add_to(folium_map) last_known_list.append(user_coord['call']) if user_coord['call'] in last_known_list: #folium.Marker([user_lat, user_lon], popup="" + '' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", tooltip=str(user_coord['call'])).add_to(marker_cluster) - folium.CircleMarker([user_lat, user_lon], popup="" + '' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", tooltip=str(user_coord['call']), fill=True, fill_color="#3186cc", radius=4).add_to(marker_cluster) + #folium.CircleMarker([user_lat, user_lon], popup="" + '' + str(user_coord['call']) + '' + '\n' + user_coord['time'] + "", tooltip=str(user_coord['call']), fill=True, fill_color="#3186cc", radius=4).add_to(marker_cluster) + folium.CircleMarker([user_lat, user_lon], popup=""" + + + + + + + + + +
""" + user_coord['call'] + """
""" + user_coord['time'] + """
+ """, tooltip=str(user_coord['call']), fill=True, fill_color="#3186cc", radius=4).add_to(marker_cluster) + return folium_map._repr_html_() @app.route('/map/') def map():