From 9015160199506f271f8758c9b284b1d56bae860b Mon Sep 17 00:00:00 2001 From: Gehad elrobey Date: Thu, 14 Aug 2014 06:32:47 +0300 Subject: HTML: Add coordinates to the HTML exports - Export dive coordinates (if exist) to JSON file. - Add dive coordinates to list view and detailed dive view. - Add hyperlink that opens the dive location in a new tab viewed in Google maps. Signed-off-by: Gehad elrobey Signed-off-by: Miika Turkia Signed-off-by: Dirk Hohndel --- theme/list_lib.js | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) (limited to 'theme') diff --git a/theme/list_lib.js b/theme/list_lib.js index abd790178..c5171ce11 100644 --- a/theme/list_lib.js +++ b/theme/list_lib.js @@ -208,7 +208,7 @@ function getExpanded(dive) { var res = '
' + translate.Date + ': ' + dive.date + '     ' + translate.Time + ': ' + dive.time + - '     ' + translate.Location + ': ' + '' + dive.location + '' + + '     ' + translate.Locaiton + ': ' + '' + dive.location + '' + getDiveCoor(dive) + '
' + translate.Rating + ':' + putRating(dive.rating) + '   ' + translate.Visibility + ':' + putRating(dive.visibility) + '
' + @@ -499,7 +499,7 @@ Set.prototype.intersect = function(another_set) } var result = new Array(); for (var i = 0; i < another_set.keys.length; i++) { - if(this.contains(another_set.keys[i])) { + if (this.contains(another_set.keys[i])) { result.push(another_set.keys[i]); } }; @@ -896,6 +896,21 @@ function get_bookmarks_HTML(dive) return result; } +function getDiveCoorString(coordinates){ + res = ""; + lat = coordinates.lat; + lon = coordinates.lon; + res += float_to_deg(lat) + ' , ' + float_to_deg(lon); + return res; +} + +function getDiveCoor(dive) +{ + if (!dive.coordinates) + return ""; + return '     ' + translate.Coordinates + ': ' + '' + getDiveCoorString(dive.coordinates) + ''; +} + /** *Return HTML main data of a dive */ @@ -903,8 +918,8 @@ function get_dive_HTML(dive) { var res = '

' + translate.Dive_information + '

' + translate.Date + ': ' + dive.date + '     ' + translate.Time + ': ' + dive.time + - '     ' + translate.Location + ': ' + '' + dive.location + '' + - '
' + getDiveCoor(dive) + + '
' + translate.Rating + ':' + putRating(dive.rating) + + '     ' + translate.Locaiton + ': ' + '' + dive.location + '
' + translate.Rating + ':' + putRating(dive.rating) + '   ' + translate.Visibility + ':' + putRating(dive.visibility) + '
' + '
' + translate.Air_Temp + ': ' + dive.temperature.air + @@ -1000,6 +1015,14 @@ function int_to_time(n) return Math.floor((n) / 60) + ":" + format_two_digit((n) % (60)) + " min"; } +function float_to_deg(flt){ + var deg = 0 | flt; + flt = (flt < 0 ? flt =- flt : flt); + var min = 0 | flt % 1 * 60; + var sec = (0 | flt * 60 % 1 * 6000) / 100; + return deg + "° " + min + "' " + sec + "\""; +} + /** *Main canvas draw function *this calls the axis and grid initialization functions. -- cgit v1.2.3-70-g09d2