diff --git a/rowers/interactiveplots.py b/rowers/interactiveplots.py
index 25f5d708..b605dec1 100644
--- a/rowers/interactiveplots.py
+++ b/rowers/interactiveplots.py
@@ -686,6 +686,65 @@ def interactive_histoall(theworkouts):
script, div = components(plot)
return [script,div]
+def leaflet_chart(lat,lon,name=""):
+ if lat.empty or lon.empty:
+ return [0,"invalid coordinate data"]
+
+ latmean = lat.mean()
+ lonmean = lon.mean()
+ latbegin = lat[lat.index[0]]
+ longbegin = lon[lon.index[0]]
+ latend = lat[lat.index[-1]]
+ longend = lon[lon.index[-1]]
+
+ coordinates = zip(lat,lon)
+
+ scoordinates = "["
+
+ for x,y in coordinates:
+ scoordinates += """[{x},{y}],
+ """.format(
+ x=x,
+ y=y
+ )
+
+ scoordinates += "]"
+
+ script = """
+
+ """.format(
+ latmean=latmean,
+ lonmean=lonmean,
+ latbegin = latbegin,
+ latend=latend,
+ longbegin=longbegin,
+ longend=longend,
+ scoordinates=scoordinates,
+ )
+
+ div = """
+
"""
+
+ return script,div
+
def googlemap_chart(lat,lon,name=""):
if lat.empty or lon.empty:
return [0,"invalid coordinate data"]
diff --git a/rowers/templates/workout_form.html b/rowers/templates/workout_form.html
index ba87418d..87eb4b26 100644
--- a/rowers/templates/workout_form.html
+++ b/rowers/templates/workout_form.html
@@ -225,36 +225,12 @@
#map_canvas {position: relative; top: 0; right: 0; bottom: 0; left: 0;}
-
+
+
+ {{ mapdiv|safe }}
+
-
-
+ {{ mapscript|safe }}
diff --git a/rowers/views.py b/rowers/views.py
index 4b8269c5..86636673 100644
--- a/rowers/views.py
+++ b/rowers/views.py
@@ -6220,36 +6220,19 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
if hascoordinates:
+ mapscript,mapdiv = leaflet_chart(rowdata.df[' latitude'],
+ rowdata.df[' longitude'],
+ row.name)
+
#res = googlemap_chart(rowdata.df[' latitude'],
# rowdata.df[' longitude'],
# row.name)
#gmscript = res[0]
#gmdiv = res[1]
- latmean = rowdata.df[' latitude'].mean()
- longmean = rowdata.df[' longitude'].mean()
- latbegin = rowdata.df[' latitude'][rowdata.df.index[0]]
- latend = rowdata.df[' latitude'][rowdata.df.index[-1]]
- longbegin = rowdata.df[' longitude'][rowdata.df.index[0]]
- longend = rowdata.df[' longitude'][rowdata.df.index[1]]
- coordinates = pd.DataFrame({
- 'x':rowdata.df[' latitude'].values,
- 'y':rowdata.df[' longitude'].values,
- }).to_json()
else:
- latmean = 51.505
- longmean = -0.09
- latbegin = 0
- latend = 0
- longbegin = 0
- longend = 0
- coordinates = pd.DataFrame({
- 'x':[0,0],
- 'y':[0,0]
- }).to_json()
-
- #gmscript = ""
- #gmdiv = ""
+ mapscript = ""
+ mapdiv = ""
# render page
@@ -6259,11 +6242,8 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
'workout':row,
'teams':get_my_teams(request.user),
'graphs1':g[0:3],
- 'latmean':latmean,
- 'longmean':longmean,
- 'latbegin':latbegin,
- 'longbegin':longbegin,
- 'coordinates':coordinates,
+ 'mapscript':mapscript,
+ 'mapdiv':mapdiv,
})
else:
@@ -6273,11 +6253,8 @@ def workout_edit_view(request,id=0,message="",successmessage=""):
'workout':row,
'graphs1':g[0:3],
'graphs2':g[3:6],
- 'latmean':latmean,
- 'longmean':longmean,
- 'latbegin':latbegin,
- 'longbegin':longbegin,
- 'coordinates':coordinates,
+ 'mapscript':mapscript,
+ 'mapdiv':mapdiv,
})