====== GPX Viewer ======
{{ :res:plugins:arvid:gpx_screenshot.png?200|Screenshot of the GPX Viewer plugin in action - click for full size}}This plugin adds Jürgen Berkemeier's free JavaScript library [[https://www.j-berkemeier.de/GPXViewer/|GPX Viewer]] to FlatPress.
It adds a BBCode tag "gpx" to include your uploaded GPX file into your blog entry or static page.
**Important:** The GPX Viewer library is free for non-commercial use. If you want to use it in a commercial environment, please contact its author [[https://www.j-berkemeier.de/|Jürgen Berkemeier]].
Author of the FlatPress plugin is [[https://www.arvidzimmermann.de|Arvid Zimmermann]].
===== Download =====
* GPX Viewer v1.2: {{ :res:plugins:arvid:gpx1.2.zip |}}
Unzip, and upload the contained folder ''gpx'' to your ''fp-plugins'' folder.
Then go to your blog's Admin Area -> //Plugins//, and activate the GPX Viewer plugin.
===== Usage =====
==== Simple usage ====
Upload a GPX file to your FlatPress instance. Then simply insert into your static page or blog entry:
[gpx="attachs/file.gpx"]
==== Multiple tracks ====
It is possible to display multiple tracks at once; simply note them comma-separated:
[gpx="attachs/file1.gpx, attachs/file2.gpx"]
==== All tracks ====
If you'd like to display the tracks of ALL uploaded GPX files on one single map, use the wildcard descriptor "attachs/*.gpx":
[gpx="attachs/*.gpx"]
==== Individual map layer ====
You can set the default map type in the plugin's settings. Nevertheless, each GPX track can be displayed with an individual map layer:
[gpx="attachs/file.gpx" maptype="opentopo"]
See all available values for the "maptype" attribut in the select box of the plugin settings.
==== Hide height profile ====
The height profile beneath the map is shown by default. You may wish to hide it for individual maps:
[gpx="attachs/file.gpx" heightprofile="false"]
===== HTML+CSS =====
The plugin's output consists of two parts: The map itself and a height profile plot.
The map is displayed as ''div class="gpxmap"'', the height profile plot as ''div class="gpxheightprofile"''. Those two are packed together in a ''div class="gpx"'':
You find the default CSS defintions for these classes in //res/gpxplugin.css//.
===== Customization =====
The GPX Viewer library allows to change appearance of the map and height profile (such as colors and other behaviour) via JavaScript control variables.
The file //res/costumsettings.js// contains a few of them to start with; you find them all on the [[https://www.j-berkemeier.de/GPXViewer/#ctrls|GPX Viewer documentation page]].
===== License =====
* [[https://www.j-berkemeier.de/GPXViewer/|GPX Viewer]] library by [[https://www.j-berkemeier.de/|Jürgen Berkemeier]]: CC BY-NC-SA 4.0. If you want to use it for commercial purposes, please contact the author.
* GPX Viewer uses the [[https://leafletjs.com|Leaflet API]] by Vladimir Agafonkin, which is licensed under BSD 2-Clause "Simplified" License.
* The GPX data is shown on [[https://www.openstreetmap.org/|OpenStreetMap]] map material, [[https://www.openstreetmap.org/copyright/|licensed under ODbL]].
* The FlatPress plugin code around all this by [[https://arvidzimmermann.de|Arvid Zimmermann]] is licensed under GPLv3.
===== Development =====
Feel free to send Pull Requests [[https://codeberg.org/azett/flatpress_gpx|on Codeberg]].
===== Changelog =====
See the detailed changelog [[https://codeberg.org/azett/flatpress_gpx/src/branch/main/CHANGELOG.md|on Codeberg]].