* Speed improvement

* Rewritten js classes
* Added Temperature chart
* Added HTML5 Gps position (you can now follow the gpx with your mobile phone/tablet/pc)
This commit is contained in:
bastianonm 2014-03-14 13:38:36 +00:00
parent c3d9848749
commit 410253dd4a
5 changed files with 1305 additions and 1070 deletions

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
Tags: maps, gpx, gps, graph, chart, google maps, track, garmin, image, nextgen-gallery, nextgen, exif, OpenStreetMap, OpenCycleMap, Hike&Bike, heart rate, heartrate, cadence Tags: maps, gpx, gps, graph, chart, google maps, track, garmin, image, nextgen-gallery, nextgen, exif, OpenStreetMap, OpenCycleMap, Hike&Bike, heart rate, heartrate, cadence
Requires at least: 2.0.0 Requires at least: 2.0.0
Tested up to: 3.8 Tested up to: 3.8
Stable tag: 1.2.6 Stable tag: 1.3.0
Draws a gpx track with altitude graph. You can also display your nextgen gallery images in the map. Draws a gpx track with altitude graph. You can also display your nextgen gallery images in the map.
@ -14,11 +14,18 @@ Draws a gpx track with altitude graph. You can also display your nextgen gallery
This plugin has, as input, the GPX file with the track you've made and as output it shows the map of the track and an interactive altitude graph (where available). This plugin has, as input, the GPX file with the track you've made and as output it shows the map of the track and an interactive altitude graph (where available).
Fully configurable: Fully configurable:
- Custom colors - Custom colors
- Custom icons - Custom icons
- Multiple language support - Multiple language support
Supported charts:
- Altitude
- Speed
- Heart Rate
- Temperature
- Cadence
- Grade
NextGen Gallery Integration: NextGen Gallery Integration:
Display your NextGen Gallery images inside the map! Display your NextGen Gallery images inside the map!
@ -180,6 +187,11 @@ Yes!
1. Altitude & Speed & Hearth rate 1. Altitude & Speed & Hearth rate
== Changelog == == Changelog ==
= 1.3.0 =
* Speed improvement
* Rewritten js classes
* Added Temperature chart
* Added HTML5 Gps position (you can now follow the gpx with your mobile phone/tablet/pc)
= 1.2.6 = = 1.2.6 =
* Speed improvement * Speed improvement
= 1.2.5 = = 1.2.5 =

View File

@ -3,7 +3,7 @@
Plugin Name: WP-GPX-Maps Plugin Name: WP-GPX-Maps
Plugin URI: http://www.devfarm.it/ Plugin URI: http://www.devfarm.it/
Description: Draws a gpx track with altitude graph Description: Draws a gpx track with altitude graph
Version: 1.2.6 Version: 1.3.0
Author: Bastianon Massimo Author: Bastianon Massimo
Author URI: http://www.pedemontanadelgrappa.it/ Author URI: http://www.pedemontanadelgrappa.it/
*/ */
@ -14,6 +14,7 @@ include 'wp-gpx-maps_utils.php';
include 'wp-gpx-maps_admin.php'; include 'wp-gpx-maps_admin.php';
add_shortcode('sgpx','handle_WP_GPX_Maps_Shortcodes'); add_shortcode('sgpx','handle_WP_GPX_Maps_Shortcodes');
add_shortcode('sgpxf','handle_WP_GPX_Maps_folder_Shortcodes');
register_activation_hook(__FILE__,'WP_GPX_Maps_install'); register_activation_hook(__FILE__,'WP_GPX_Maps_install');
register_deactivation_hook( __FILE__, 'WP_GPX_Maps_remove'); register_deactivation_hook( __FILE__, 'WP_GPX_Maps_remove');
add_filter('plugin_action_links', 'WP_GPX_Maps_action_links', 10, 2); add_filter('plugin_action_links', 'WP_GPX_Maps_action_links', 10, 2);
@ -59,7 +60,7 @@ function enqueue_WP_GPX_Maps_scripts()
wp_enqueue_script( 'highcharts' ); wp_enqueue_script( 'highcharts' );
wp_deregister_script( 'WP-GPX-Maps' ); wp_deregister_script( 'WP-GPX-Maps' );
wp_register_script( 'WP-GPX-Maps', plugins_url('/WP-GPX-Maps.js', __FILE__), array('jquery','googlemaps','highcharts'), "1.2.3"); wp_register_script( 'WP-GPX-Maps', plugins_url('/WP-GPX-Maps.js', __FILE__), array('jquery','googlemaps','highcharts'), "1.3.0");
wp_enqueue_script( 'WP-GPX-Maps' ); wp_enqueue_script( 'WP-GPX-Maps' );
} }
@ -100,6 +101,84 @@ function findValue($attr, $attributeName, $optionName, $defaultValue)
return $val; return $val;
} }
function handle_WP_GPX_Maps_folder_Shortcodes($attr, $content=''){
$folder = findValue($attr, "folder", "", "");
$pointsoffset = findValue($attr, "pointsoffset", "wpgpxmaps_pointsoffset", 10);
$distanceType = findValue($attr, "distanceType", "wpgpxmaps_distance_type", 0);
$donotreducegpx = findValue($attr, "donotreducegpx", "wpgpxmaps_donotreducegpx", false);
$uom = findValue($attr, "uom", "wpgpxmaps_unit_of_measure", "0");
// fix folder path
$sitePath = sitePath();
$folder = trim($folder);
$folder = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $folder);
$folder = $sitePath . $folder;
$files = scandir($folder);
foreach($files as $file) {
if (substr($file, - 4) == ".gpx" ) {
$gpx = $folder . DIRECTORY_SEPARATOR . $file;
$points = getPoints($gpx, $pointsoffset, $donotreducegpx, $distanceType);
$points_maps = '';
$points_graph_dist = '';
$points_graph_ele = '';
if (is_array ($points_x_lat))
foreach(array_keys($points_x_lat) as $i) {
$_lat = (float)$points_x_lat[$i];
$_lon = (float)$points_x_lon[$i];
if ( $_lat == 0 && $_lon == 0 )
{
$points_maps .= 'null,';
$points_graph_dist .= 'null,';
$points_graph_ele .= 'null,';
}
else {
$points_maps .= '['.number_format((float)$points_x_lat[$i], 7 , '.' , '' ).','.number_format((float)$points_x_lon[$i], 7 , '.' , '' ).'],';
$_ele = (float)$points->ele[$i];
$_dist = (float)$points->dist[$i];
if ($uom == '1')
{
// Miles and feet
$_dist *= 0.000621371192;
$_ele *= 3.2808399;
} else if ($uom == '2')
{
// meters / kilometers
$_dist = (float)($_dist / 1000);
} else if ($uom == '3')
{
// meters / kilometers / nautical miles
$_dist = (float)($_dist / 1000 / 1.852);
} else if ($uom == '4')
{
// meters / miles
$_dist *= 0.000621371192;
}
$points_graph_dist .= number_format ( $_dist , 2 , '.' , '' ).',';
$points_graph_ele .= number_format ( $_ele , 2 , '.' , '' ).',';
}
}
print_r($points);
}
}
}
function handle_WP_GPX_Maps_Shortcodes($attr, $content='') function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
{ {
@ -112,6 +191,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$gh = findValue($attr, "gheight", "wpgpxmaps_graph_height", "200px"); $gh = findValue($attr, "gheight", "wpgpxmaps_graph_height", "200px");
$showCad = findValue($attr, "showcad", "wpgpxmaps_show_cadence", false); $showCad = findValue($attr, "showcad", "wpgpxmaps_show_cadence", false);
$showHr = findValue($attr, "showhr", "wpgpxmaps_show_hr", false); $showHr = findValue($attr, "showhr", "wpgpxmaps_show_hr", false);
$showAtemp = findValue($attr, "showatemp", "wpgpxmaps_show_atemp", false);
$showW = findValue($attr, "waypoints", "wpgpxmaps_show_waypoint", false); $showW = findValue($attr, "waypoints", "wpgpxmaps_show_waypoint", false);
$showEle = findValue($attr, "showele", "wpgpxmaps_show_elevation", "true"); $showEle = findValue($attr, "showele", "wpgpxmaps_show_elevation", "true");
$showSpeed = findValue($attr, "showspeed", "wpgpxmaps_show_speed", false); $showSpeed = findValue($attr, "showspeed", "wpgpxmaps_show_speed", false);
@ -125,8 +205,9 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$color_graph = findValue($attr, "glinecolor", "wpgpxmaps_graph_line_color", "#3366cc"); $color_graph = findValue($attr, "glinecolor", "wpgpxmaps_graph_line_color", "#3366cc");
$color_graph_speed = findValue($attr, "glinecolorspeed", "wpgpxmaps_graph_line_color_speed", "#ff0000"); $color_graph_speed = findValue($attr, "glinecolorspeed", "wpgpxmaps_graph_line_color_speed", "#ff0000");
$color_graph_hr = findValue($attr, "glinecolorhr", "wpgpxmaps_graph_line_color_hr", "#ff77bd"); $color_graph_hr = findValue($attr, "glinecolorhr", "wpgpxmaps_graph_line_color_hr", "#ff77bd");
$color_graph_atemp = findValue($attr, "glinecoloratemp", "wpgpxmaps_graph_line_color_atemp", "#ff77bd");
$color_graph_cad = findValue($attr, "glinecolorcad", "wpgpxmaps_graph_line_color_cad", "#beecff"); $color_graph_cad = findValue($attr, "glinecolorcad", "wpgpxmaps_graph_line_color_cad", "#beecff");
$color_graph_grade = findValue($attr, "glinecolorgrade", "wpgpxmaps_graph_line_color_grade", "#beecff"); $color_graph_grade = findValue($attr, "glinecolorgrade", "wpgpxmaps_graph_line_color_grade", "#beecff");
$chartFrom1 = findValue($attr, "chartfrom1", "wpgpxmaps_graph_offset_from1", ""); $chartFrom1 = findValue($attr, "chartfrom1", "wpgpxmaps_graph_offset_from1", "");
$chartTo1 = findValue($attr, "chartto1", "wpgpxmaps_graph_offset_to1", ""); $chartTo1 = findValue($attr, "chartto1", "wpgpxmaps_graph_offset_to1", "");
@ -140,7 +221,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$ngImages = findValue($attr, "ngimages", "wpgpxmaps_map_ngImages", ""); $ngImages = findValue($attr, "ngimages", "wpgpxmaps_map_ngImages", "");
$download = findValue($attr, "download", "wpgpxmaps_download", ""); $download = findValue($attr, "download", "wpgpxmaps_download", "");
$dtoffset = findValue($attr, "dtoffset", "wpgpxmaps_dtoffset", 0); $dtoffset = findValue($attr, "dtoffset", "wpgpxmaps_dtoffset", 0);
$distanceType = findValue($attr, "distanceType", "wpgpxmaps_distance_type", 0); $distanceType = findValue($attr, "distanceType", "wpgpxmaps_distance_type", 0);
$skipcache = findValue($attr, "skipcache", "wpgpxmaps_skipcache", ""); $skipcache = findValue($attr, "skipcache", "wpgpxmaps_skipcache", "");
@ -153,12 +234,15 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$p_avg_speed = findValue($attr, "summaryavgspeed", "wpgpxmaps_summary_avg_speed", false); $p_avg_speed = findValue($attr, "summaryavgspeed", "wpgpxmaps_summary_avg_speed", false);
$p_total_time = findValue($attr, "summarytotaltime", "wpgpxmaps_summary_total_time", false); $p_total_time = findValue($attr, "summarytotaltime", "wpgpxmaps_summary_total_time", false);
$usegpsposition = findValue($attr, "usegpsposition", "wpgpxmaps_usegpsposition", false);
$currentpositioncon = findValue($attr, "currentpositioncon", "wpgpxmaps_currentpositioncon", "");
$colors_map = "\"".implode("\",\"",(explode(" ",$color_map)))."\""; $colors_map = "\"".implode("\",\"",(explode(" ",$color_map)))."\"";
$gpxurl = $gpx; $gpxurl = $gpx;
$cacheFileName = "$gpx,$w,$mh,$mt,$gh,$showEle,$showW,$showHr,$showCad,$donotreducegpx,$pointsoffset,$showSpeed,$showGrade,$uomspeed,$uom,$distanceType,v1.1.38"; $cacheFileName = "$gpx,$w,$mh,$mt,$gh,$showEle,$showW,$showHr,$showAtemp,$showCad,$donotreducegpx,$pointsoffset,$showSpeed,$showGrade,$uomspeed,$uom,$distanceType,v1.2.7";
$cacheFileName = md5($cacheFileName); $cacheFileName = md5($cacheFileName);
@ -183,6 +267,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$points_graph_ele = $cache_obj["points_graph_ele"]; $points_graph_ele = $cache_obj["points_graph_ele"];
$points_graph_speed = $cache_obj["points_graph_speed"]; $points_graph_speed = $cache_obj["points_graph_speed"];
$points_graph_hr = $cache_obj["points_graph_hr"]; $points_graph_hr = $cache_obj["points_graph_hr"];
$points_graph_atemp = $cache_obj["points_graph_atemp"];
$points_graph_cad = $cache_obj["points_graph_cad"]; $points_graph_cad = $cache_obj["points_graph_cad"];
$points_graph_grade = $cache_obj["points_graph_grade"]; $points_graph_grade = $cache_obj["points_graph_grade"];
$waypoints = $cache_obj["waypoints"]; $waypoints = $cache_obj["waypoints"];
@ -204,6 +289,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$points_graph_ele = ''; $points_graph_ele = '';
$points_graph_speed = ''; $points_graph_speed = '';
$points_graph_hr = ''; $points_graph_hr = '';
$points_graph_atemp = '';
$points_graph_cad = ''; $points_graph_cad = '';
$points_graph_grade = ''; $points_graph_grade = '';
$waypoints= ''; $waypoints= '';
@ -246,6 +332,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$points_graph_ele = ''; $points_graph_ele = '';
$points_graph_speed = ''; $points_graph_speed = '';
$points_graph_hr = ''; $points_graph_hr = '';
$points_graph_atemp = '';
$points_graph_cad = ''; $points_graph_cad = '';
$points_graph_grade = ''; $points_graph_grade = '';
$waypoints = ''; $waypoints = '';
@ -281,6 +368,9 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
if ($showHr == true) if ($showHr == true)
$points_graph_hr .= 'null,'; $points_graph_hr .= 'null,';
if ($showAtemp == true)
$points_graph_atemp .= 'null,';
if ($showCad == true) if ($showCad == true)
$points_graph_cad .= 'null,'; $points_graph_cad .= 'null,';
@ -327,6 +417,10 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$points_graph_hr .= number_format ( $points->hr[$i] , 2 , '.' , '' ).','; $points_graph_hr .= number_format ( $points->hr[$i] , 2 , '.' , '' ).',';
} }
if ($showAtemp == true) {
$points_graph_atemp .= number_format ( $points->atemp[$i] , 1 , '.' , '' ).',';
}
if ($showCad == true) { if ($showCad == true) {
$points_graph_cad .= number_format ( $points->cad[$i] , 2 , '.' , '' ).','; $points_graph_cad .= number_format ( $points->cad[$i] , 2 , '.' , '' ).',';
} }
@ -401,6 +495,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$points_graph_ele = preg_replace($p, "", $points_graph_ele); $points_graph_ele = preg_replace($p, "", $points_graph_ele);
$points_graph_speed = preg_replace($p, "", $points_graph_speed); $points_graph_speed = preg_replace($p, "", $points_graph_speed);
$points_graph_hr = preg_replace($p, "", $points_graph_hr); $points_graph_hr = preg_replace($p, "", $points_graph_hr);
$points_graph_atemp = preg_replace($p, "", $points_graph_atemp);
$points_graph_cad = preg_replace($p, "", $points_graph_cad); $points_graph_cad = preg_replace($p, "", $points_graph_cad);
$points_graph_grade = preg_replace($p, "", $points_graph_grade); $points_graph_grade = preg_replace($p, "", $points_graph_grade);
@ -418,8 +513,11 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
if (preg_match("/^(0,?)+$/", $points_graph_hr)) if (preg_match("/^(0,?)+$/", $points_graph_hr))
$points_graph_hr = ""; $points_graph_hr = "";
if (preg_match("/^(0,?)+$/", $points_graph_cad)) if (preg_match("/^(0,?)+$/", $points_graph_hr))
$points_graph_cad = ""; $points_graph_hr = "";
if (preg_match("/^(0,?)+$/", $points_graph_atemp))
$points_graph_atemp = "";
if (preg_match("/^(0,?)+$/", $points_graph_grade)) if (preg_match("/^(0,?)+$/", $points_graph_grade))
$points_graph_grade = ""; $points_graph_grade = "";
@ -451,6 +549,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
"points_graph_ele" => $points_graph_ele, "points_graph_ele" => $points_graph_ele,
"points_graph_speed" => $points_graph_speed, "points_graph_speed" => $points_graph_speed,
"points_graph_hr" => $points_graph_hr, "points_graph_hr" => $points_graph_hr,
"points_graph_atemp" => $points_graph_atemp,
"points_graph_cad" => $points_graph_cad, "points_graph_cad" => $points_graph_cad,
"points_graph_grade" => $points_graph_grade, "points_graph_grade" => $points_graph_grade,
"waypoints" => $waypoints, "waypoints" => $waypoints,
@ -474,7 +573,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
$r = $post->ID."_".rand(1,5000000); $r = $post->ID."_".rand(1,5000000);
$output = ' $output = '
<div id="wpgpxmaps_'.$r.'" class="wpgpxmaps"> <div id="" class="wpgpxmaps">
<div id="map_'.$r.'" style="width:'.$w.'; height:'.$mh.'"></div> <div id="map_'.$r.'" style="width:'.$w.'; height:'.$mh.'"></div>
<div id="hchart_'.$r.'" class="plot" style="width:'.$w.'; height:'.$gh.'"></div> <div id="hchart_'.$r.'" class="plot" style="width:'.$w.'; height:'.$gh.'"></div>
<div id="ngimages_'.$r.'" class="ngimages" style="display:none">'.$ngimgs_data.'</div> <div id="ngimages_'.$r.'" class="ngimages" style="display:none">'.$ngimgs_data.'</div>
@ -482,14 +581,14 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
</div> </div>
'. $error .' '. $error .'
<script type="text/javascript"> <script type="text/javascript">
jQuery(document).ready(function() { jQuery("#wpgpxmaps_'.$r.'").wpgpxmaps({ targetId : "'.$r.'",
wpgpxmaps({ targetId : "'.$r.'",
mapType : "'.$mt.'", mapType : "'.$mt.'",
mapData : ['.$points_maps.'], mapData : ['.$points_maps.'],
graphDist : ['.($hideGraph ? '' : $points_graph_dist).'], graphDist : ['.($hideGraph ? '' : $points_graph_dist).'],
graphEle : ['.($hideGraph ? '' : $points_graph_ele).'], graphEle : ['.($hideGraph ? '' : $points_graph_ele).'],
graphSpeed : ['.($hideGraph ? '' : $points_graph_speed).'], graphSpeed : ['.($hideGraph ? '' : $points_graph_speed).'],
graphHr : ['.($hideGraph ? '' : $points_graph_hr).'], graphHr : ['.($hideGraph ? '' : $points_graph_hr).'],
graphAtemp : ['.($hideGraph ? '' : $points_graph_atemp).'],
graphCad : ['.($hideGraph ? '' : $points_graph_cad).'], graphCad : ['.($hideGraph ? '' : $points_graph_cad).'],
graphGrade : ['.($hideGraph ? '' : $points_graph_grade).'], graphGrade : ['.($hideGraph ? '' : $points_graph_grade).'],
waypoints : ['.$waypoints.'], waypoints : ['.$waypoints.'],
@ -501,6 +600,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
color4 : "'.$color_graph_hr.'", color4 : "'.$color_graph_hr.'",
color5 : "'.$color_graph_cad.'", color5 : "'.$color_graph_cad.'",
color6 : "'.$color_graph_grade.'", color6 : "'.$color_graph_grade.'",
color7 : "'.$color_graph_atemp.'",
chartFrom1 : "'.$chartFrom1.'", chartFrom1 : "'.$chartFrom1.'",
chartTo1 : "'.$chartTo1.'", chartTo1 : "'.$chartTo1.'",
chartFrom2 : "'.$chartFrom2.'", chartFrom2 : "'.$chartFrom2.'",
@ -509,6 +609,8 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
endIcon : "'.$endIcon.'", endIcon : "'.$endIcon.'",
currentIcon : "'.$currentIcon.'", currentIcon : "'.$currentIcon.'",
waypointIcon : "'.$waypointIcon.'", waypointIcon : "'.$waypointIcon.'",
currentpositioncon : "'.$currentpositioncon.'",
usegpsposition : "'.$usegpsposition.'",
zoomOnScrollWheel : "'.$zoomOnScrollWheel.'", zoomOnScrollWheel : "'.$zoomOnScrollWheel.'",
ngGalleries : ['.$ngGalleries.'], ngGalleries : ['.$ngGalleries.'],
ngImages : ['.$ngImages.'], ngImages : ['.$ngImages.'],
@ -518,6 +620,7 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
speed : "'.__("Speed", "wp-gpx-maps").'", speed : "'.__("Speed", "wp-gpx-maps").'",
grade : "'.__("Grade", "wp-gpx-maps").'", grade : "'.__("Grade", "wp-gpx-maps").'",
heartRate : "'.__("Heart rate", "wp-gpx-maps").'", heartRate : "'.__("Heart rate", "wp-gpx-maps").'",
atemp : "'.__("Temperature", "wp-gpx-maps").'",
cadence : "'.__("Cadence", "wp-gpx-maps").'", cadence : "'.__("Cadence", "wp-gpx-maps").'",
goFullScreen : "'.__("Go Full Screen", "wp-gpx-maps").'", goFullScreen : "'.__("Go Full Screen", "wp-gpx-maps").'",
exitFullFcreen : "'.__("Exit Full Screen", "wp-gpx-maps").'", exitFullFcreen : "'.__("Exit Full Screen", "wp-gpx-maps").'",
@ -526,7 +629,6 @@ function handle_WP_GPX_Maps_Shortcodes($attr, $content='')
backToCenter : "'.__("Back to center", "wp-gpx-maps").'" backToCenter : "'.__("Back to center", "wp-gpx-maps").'"
} }
}); });
});
</script>'; </script>';
// print summary // print summary
@ -686,7 +788,9 @@ function WP_GPX_Maps_install() {
add_option("wpgpxmaps_map_waypoint_icon", '', '', 'yes'); add_option("wpgpxmaps_map_waypoint_icon", '', '', 'yes');
add_option("wpgpxmaps_map_nggallery", '', '', 'yes'); add_option("wpgpxmaps_map_nggallery", '', '', 'yes');
add_option("wpgpxmaps_show_hr", '', '', 'yes'); add_option("wpgpxmaps_show_hr", '', '', 'yes');
add_option("wpgpxmaps_show_atemp", '', '', 'yes');
add_option("wpgpxmaps_graph_line_color_hr", '#ff77bd', '', 'yes'); add_option("wpgpxmaps_graph_line_color_hr", '#ff77bd', '', 'yes');
add_option("wpgpxmaps_graph_line_color_atemp", '#ff77bd', '', 'yes');
add_option('wpgpxmaps_show_cadence','','','yes'); add_option('wpgpxmaps_show_cadence','','','yes');
add_option('wpgpxmaps_zoomonscrollwheel','','','yes'); add_option('wpgpxmaps_zoomonscrollwheel','','','yes');
add_option('wpgpxmaps_download','','','yes'); add_option('wpgpxmaps_download','','','yes');
@ -718,7 +822,9 @@ function WP_GPX_Maps_remove() {
delete_option('wpgpxmaps_map_waypoint_icon'); delete_option('wpgpxmaps_map_waypoint_icon');
delete_option('wpgpxmaps_map_nggallery'); delete_option('wpgpxmaps_map_nggallery');
delete_option('wpgpxmaps_show_hr'); delete_option('wpgpxmaps_show_hr');
delete_option('wpgpxmaps_show_atemp');
delete_option('wpgpxmaps_graph_line_color_hr'); delete_option('wpgpxmaps_graph_line_color_hr');
delete_option('wpgpxmaps_graph_line_color_atemp');
delete_option('wpgpxmaps_show_cadence'); delete_option('wpgpxmaps_show_cadence');
delete_option('wpgpxmaps_graph_line_color_cad'); delete_option('wpgpxmaps_graph_line_color_cad');
delete_option('wpgpxmaps_zoomonscrollwheel'); delete_option('wpgpxmaps_zoomonscrollwheel');

View File

@ -18,6 +18,8 @@
$showEle = get_option("wpgpxmaps_show_elevation"); $showEle = get_option("wpgpxmaps_show_elevation");
$showSpeed = get_option('wpgpxmaps_show_speed'); $showSpeed = get_option('wpgpxmaps_show_speed');
$showHr = get_option('wpgpxmaps_show_hr'); $showHr = get_option('wpgpxmaps_show_hr');
$showAtemp = get_option('wpgpxmaps_show_atemp');
$showCad = get_option('wpgpxmaps_show_cadence'); $showCad = get_option('wpgpxmaps_show_cadence');
$showGrade = get_option('wpgpxmaps_show_grade'); $showGrade = get_option('wpgpxmaps_show_grade');
$zoomonscrollwheel = get_option("wpgpxmaps_zoomonscrollwheel"); $zoomonscrollwheel = get_option("wpgpxmaps_zoomonscrollwheel");
@ -33,6 +35,8 @@
$avg_speed = get_option("wpgpxmaps_summary_avg_speed"); $avg_speed = get_option("wpgpxmaps_summary_avg_speed");
$total_time = get_option("wpgpxmaps_summary_total_time"); $total_time = get_option("wpgpxmaps_summary_total_time");
$usegpsposition = get_option("wpgpxmaps_usegpsposition");
$distanceType = get_option("wpgpxmaps_distance_type"); $distanceType = get_option("wpgpxmaps_distance_type");
if (empty($showEle)) if (empty($showEle))
@ -93,11 +97,18 @@
<input name="wpgpxmaps_download" type="checkbox" value="true" <?php if($download == true){echo('checked');} ?> onchange="this.value = (this.checked)" /> <i>Allow users to download your GPX file</i> <input name="wpgpxmaps_download" type="checkbox" value="true" <?php if($download == true){echo('checked');} ?> onchange="this.value = (this.checked)" /> <i>Allow users to download your GPX file</i>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Use browser GPS position:</th>
<td>
<input name="wpgpxmaps_usegpsposition" type="checkbox" value="true" <?php if($usegpsposition == true){echo('checked');} ?> onchange="this.value = (this.checked)" /> <i>Allow users to use browser GPS in order to display their current position on map</i>
</td>
</tr>
</table> </table>
<p class="submit"> <p class="submit">
<input type="hidden" name="action" value="update" /> <input type="hidden" name="action" value="update" />
<input name="page_options" type="hidden" value="wpgpxmaps_height,wpgpxmaps_graph_height,wpgpxmaps_width,wpgpxmaps_download,wpgpxmaps_skipcache,wpgpxmaps_distance_type" /> <input name="page_options" type="hidden" value="wpgpxmaps_height,wpgpxmaps_graph_height,wpgpxmaps_width,wpgpxmaps_download,wpgpxmaps_skipcache,wpgpxmaps_distance_type,wpgpxmaps_usegpsposition" />
<input type="submit" class="button-primary" value="<?php _e('Save Changes', "wp_gpx_maps") ?>" /> <input type="submit" class="button-primary" value="<?php _e('Save Changes', "wp_gpx_maps") ?>" />
</p> </p>
@ -235,6 +246,13 @@
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Current GPS Position Icon:</th>
<td>
<input name="wpgpxmaps_currentpositioncon" value="<?php echo get_option('wpgpxmaps_currentpositioncon'); ?>" style="width:400px" /> <em>(Url to image) Leave empty for default</em>
</td>
</tr>
<tr> <tr>
<th scope="row">Custom Waypoint Icon:</th> <th scope="row">Custom Waypoint Icon:</th>
<td> <td>
@ -246,7 +264,7 @@
<p class="submit"> <p class="submit">
<input type="hidden" name="action" value="update" /> <input type="hidden" name="action" value="update" />
<input name="page_options" type="hidden" value="wpgpxmaps_show_waypoint,wpgpxmaps_map_line_color,wpgpxmaps_map_type,wpgpxmaps_map_start_icon,wpgpxmaps_map_end_icon,wpgpxmaps_map_current_icon,wpgpxmaps_zoomonscrollwheel,wpgpxmaps_map_waypoint_icon" /> <input name="page_options" type="hidden" value="wpgpxmaps_show_waypoint,wpgpxmaps_map_line_color,wpgpxmaps_map_type,wpgpxmaps_map_start_icon,wpgpxmaps_map_end_icon,wpgpxmaps_map_current_icon,wpgpxmaps_zoomonscrollwheel,wpgpxmaps_map_waypoint_icon,wpgpxmaps_currentpositioncon" />
<input type="submit" class="button-primary" value="<?php _e('Save Changes', "wp_gpx_maps") ?>" /> <input type="submit" class="button-primary" value="<?php _e('Save Changes', "wp_gpx_maps") ?>" />
</p> </p>
@ -259,6 +277,13 @@
<h3 class="title">Chart</h3> <h3 class="title">Chart</h3>
<table class="form-table"> <table class="form-table">
<tr>
<th scope="row">Show altitude:</th>
<td>
<input type="checkbox" <?php if($showEle == "true"){echo('checked');} ?> onchange="wpgpxmaps_show_elevation.value = this.checked" onload="wpgpxmaps_show_elevation.value = this.checked" /> <i>Show Altitude</i>
<input name="wpgpxmaps_show_elevation" type="hidden" value="<?php echo $showEle; ?>">
</td>
</tr>
<tr> <tr>
<tr> <tr>
<th scope="row">Altitude line color:</th> <th scope="row">Altitude line color:</th>
@ -287,14 +312,6 @@
<em>(leave empty for auto scale)</em> <em>(leave empty for auto scale)</em>
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Show elevation:</th>
<td>
<input type="checkbox" <?php if($showEle == "true"){echo('checked');} ?> onchange="wpgpxmaps_show_elevation.value = this.checked" onload="wpgpxmaps_show_elevation.value = this.checked" /> <i>Show elevation</i>
<input name="wpgpxmaps_show_elevation" type="hidden" value="<?php echo $showEle; ?>">
</td>
</tr>
<tr> <tr>
<th scope="row">Show speed:</th> <th scope="row">Show speed:</th>
<td> <td>
@ -342,6 +359,21 @@
<input name="wpgpxmaps_graph_line_color_hr" type="color" data-hex="true" value="<?php echo get_option('wpgpxmaps_graph_line_color_hr'); ?>" /> <input name="wpgpxmaps_graph_line_color_hr" type="color" data-hex="true" value="<?php echo get_option('wpgpxmaps_graph_line_color_hr'); ?>" />
</td> </td>
</tr> </tr>
<tr>
<th scope="row">Show Temperature (where aviable):</th>
<td>
<input name="wpgpxmaps_show_atemp" type="checkbox" value="true" <?php if($showAtemp == true){echo('checked');} ?> onchange="this.value = (this.checked)" /> <i>Show Temperature</i>
</td>
</tr>
<tr>
<th scope="row">Temperature line color:</th>
<td>
<input name="wpgpxmaps_graph_line_color_atemp" type="color" data-hex="true" value="<?php echo get_option('wpgpxmaps_graph_line_color_atemp'); ?>" />
</td>
</tr>
<tr> <tr>
<th scope="row">Show Cadence (where aviable):</th> <th scope="row">Show Cadence (where aviable):</th>
<td> <td>
@ -375,7 +407,7 @@
<p class="submit"> <p class="submit">
<input type="hidden" name="action" value="update" /> <input type="hidden" name="action" value="update" />
<input name="page_options" type="hidden" value="wpgpxmaps_unit_of_measure,wpgpxmaps_graph_line_color,wpgpxmaps_show_elevation,wpgpxmaps_show_speed,wpgpxmaps_graph_line_color_speed,wpgpxmaps_show_hr,wpgpxmaps_graph_line_color_hr,wpgpxmaps_unit_of_measure_speed,wpgpxmaps_graph_offset_from1,wpgpxmaps_graph_offset_to1,wpgpxmaps_graph_offset_from2,wpgpxmaps_graph_offset_to2,wpgpxmaps_graph_line_color_cad,wpgpxmaps_show_cadence,wpgpxmaps_show_grade,wpgpxmaps_graph_line_color_grade" /> <input name="page_options" type="hidden" value="wpgpxmaps_unit_of_measure,wpgpxmaps_graph_line_color,wpgpxmaps_show_elevation,wpgpxmaps_show_speed,wpgpxmaps_graph_line_color_speed,wpgpxmaps_show_hr,wpgpxmaps_graph_line_color_hr,wpgpxmaps_unit_of_measure_speed,wpgpxmaps_graph_offset_from1,wpgpxmaps_graph_offset_to1,wpgpxmaps_graph_offset_from2,wpgpxmaps_graph_offset_to2,wpgpxmaps_graph_line_color_cad,wpgpxmaps_show_cadence,wpgpxmaps_show_grade,wpgpxmaps_graph_line_color_grade,wpgpxmaps_show_atemp,wpgpxmaps_graph_line_color_atemp" />
<input type="submit" class="button-primary" value="<?php _e('Save Changes', "wp_gpx_maps") ?>" /> <input type="submit" class="button-primary" value="<?php _e('Save Changes', "wp_gpx_maps") ?>" />
</p> </p>

View File

@ -117,6 +117,7 @@
unset($points->dist[$i]); unset($points->dist[$i]);
unset($points->speed[$i]); unset($points->speed[$i]);
unset($points->hr[$i]); unset($points->hr[$i]);
unset($points->atemp[$i]);
unset($points->cad[$i]); unset($points->cad[$i]);
unset($points->grade[$i]); unset($points->grade[$i]);
} }
@ -137,6 +138,7 @@
$points->dist = array(); $points->dist = array();
$points->speed = array(); $points->speed = array();
$points->hr = array(); $points->hr = array();
$points->atemp = array();
$points->cad = array(); $points->cad = array();
$points->grade = array(); $points->grade = array();
@ -195,6 +197,7 @@
$time = $trkpt->time; $time = $trkpt->time;
$speed = (float)$trkpt->speed; $speed = (float)$trkpt->speed;
$hr = 0; $hr = 0;
$atemp = 0;
$cad = 0; $cad = 0;
$grade = 0; $grade = 0;
@ -211,6 +214,14 @@
} }
} }
$_atemp = @$trkpt->xpath('extensions/gpxtpx:TrackPointExtension/gpxtpx:atemp/text() | extensions/TrackPointExtension/atemp/text()');
if ($_atemp)
{
foreach ($_atemp as $node) {
$atemp = (float)$node;
}
}
$_cad = @$trkpt->xpath('extensions/gpxtpx:TrackPointExtension/gpxtpx:cad/text() | extensions/TrackPointExtension/cad/text()'); $_cad = @$trkpt->xpath('extensions/gpxtpx:TrackPointExtension/gpxtpx:cad/text() | extensions/TrackPointExtension/cad/text()');
if ($_cad) if ($_cad)
{ {
@ -224,15 +235,16 @@
{ {
//Base Case //Base Case
array_push($points->dt, strtotime($time)); array_push($points->dt, strtotime($time));
array_push($points->lat, (float)$lat); array_push($points->lat, (float)$lat);
array_push($points->lon, (float)$lon); array_push($points->lon, (float)$lon);
array_push($points->ele, (float)round($ele,2)); array_push($points->ele, (float)round($ele,2));
array_push($points->dist, (float)round($dist,2)); array_push($points->dist, (float)round($dist,2));
array_push($points->speed, 0); array_push($points->speed, 0);
array_push($points->hr, $hr); array_push($points->hr, $hr);
array_push($points->cad, $cad); array_push($points->atemp, $atemp);
array_push($points->grade, $grade); array_push($points->cad, $cad);
array_push($points->grade, $grade);
$lastLat=$lat; $lastLat=$lat;
$lastLon=$lon; $lastLon=$lon;
@ -297,7 +309,10 @@
array_push($points->ele, (float)round($ele, 2) ); array_push($points->ele, (float)round($ele, 2) );
array_push($points->dist, (float)round($dist, 2) ); array_push($points->dist, (float)round($dist, 2) );
array_push($points->speed, (float)round($avgSpeed, 1) ); array_push($points->speed, (float)round($avgSpeed, 1) );
array_push($points->hr, $hr); array_push($points->hr, $hr);
array_push($points->atemp, $atemp);
array_push($points->cad, $cad); array_push($points->cad, $cad);
array_push($points->grade, (float)round($grade, 2) ); array_push($points->grade, (float)round($grade, 2) );
@ -322,6 +337,7 @@
array_push($points->dist, null); array_push($points->dist, null);
array_push($points->speed, null); array_push($points->speed, null);
array_push($points->hr, null); array_push($points->hr, null);
array_push($points->atemp, null);
array_push($points->cad, null); array_push($points->cad, null);
array_push($points->grade, null); array_push($points->grade, null);
@ -340,6 +356,7 @@
array_pop($points->dist, null); array_pop($points->dist, null);
array_pop($points->speed, null); array_pop($points->speed, null);
array_pop($points->hr, null); array_pop($points->hr, null);
array_pop($points->atemp, null);
array_pop($points->cad, null); array_pop($points->cad, null);
array_pop($points->grade, null); array_pop($points->grade, null);
@ -389,6 +406,7 @@
array_push($points->dist, 0 ); array_push($points->dist, 0 );
array_push($points->speed, 0 ); array_push($points->speed, 0 );
array_push($points->hr, 0 ); array_push($points->hr, 0 );
array_push($points->atemp, 0 );
array_push($points->cad, 0 ); array_push($points->cad, 0 );
array_push($points->grade, 0 ); array_push($points->grade, 0 );
$lastLat=$lat; $lastLat=$lat;
@ -409,6 +427,7 @@
array_push($points->dist, 0 ); array_push($points->dist, 0 );
array_push($points->speed, 0 ); array_push($points->speed, 0 );
array_push($points->hr, 0 ); array_push($points->hr, 0 );
array_push($points->atemp, 0 );
array_push($points->cad, 0 ); array_push($points->cad, 0 );
array_push($points->grade, 0 ); array_push($points->grade, 0 );
} }
@ -454,6 +473,7 @@
array_push($points->dist, 0 ); array_push($points->dist, 0 );
array_push($points->speed, 0 ); array_push($points->speed, 0 );
array_push($points->hr, 0 ); array_push($points->hr, 0 );
array_push($points->atemp, 0 );
array_push($points->cad, 0 ); array_push($points->cad, 0 );
array_push($points->grade, 0 ); array_push($points->grade, 0 );
$lastLat=$lat; $lastLat=$lat;
@ -474,6 +494,7 @@
array_push($points->dist, 0 ); array_push($points->dist, 0 );
array_push($points->speed, 0 ); array_push($points->speed, 0 );
array_push($points->hr, 0 ); array_push($points->hr, 0 );
array_push($points->atemp, 0 );
array_push($points->cad, 0 ); array_push($points->cad, 0 );
array_push($points->grade, 0 ); array_push($points->grade, 0 );
} }