Replacing with updated code

This commit is contained in:
Eric van der Vlist 2025-03-21 13:59:24 +01:00
parent 989e2fa726
commit df0ffd7a3e
162 changed files with 106542 additions and 81710 deletions

View File

@ -1,32 +0,0 @@
{
"rules": {
"camelcase": 0,
"quotes": [2, "single", "avoid-escape"],
"no-mixed-spaces-and-tabs": [2, "smart-tabs"],
"space-before-function-paren": 2,
"space-in-parens": 2,
"object-curly-spacing": [2, "never"],
"array-bracket-spacing": 2,
"computed-property-spacing": 2,
"space-before-blocks": 2,
"keyword-spacing": 2,
"no-lonely-if": 2,
"comma-style": 2,
"no-underscore-dangle": 0,
"no-constant-condition": 0,
"no-multi-spaces": 0,
"strict": 0,
"key-spacing": 0,
"no-shadow": 0,
"no-unused-vars": 2
},
"globals": {
"L": true,
"module": false,
"define": false,
"require": true
},
"env": {
"browser": true
}
}

8
.gitignore vendored
View File

@ -1,2 +1,6 @@
/nbproject/
*.clpprj
################################################################################
# Il file gitignore è stato creato automaticamente da Microsoft(R) Visual Studio.
################################################################################
/.vs
node_modules

View File

@ -1,7 +0,0 @@
{
"commitMessage": "version %s",
"tagName": "%s",
"scripts": {
"postcommit": "git push && git push --tags && npm publish"
}
}

7
Chart.min.js vendored

File diff suppressed because one or more lines are too long

View File

@ -1,8 +0,0 @@
.fullscreen-icon { background-image: url(icon-fullscreen.png); }
.leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
.leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }

202
Control.FullScreen.js vendored
View File

@ -1,202 +0,0 @@
(function () {
L.Control.FullScreen = L.Control.extend({
options: {
position: 'topleft',
title: 'Full Screen',
titleCancel: 'Exit Full Screen',
forceSeparateButton: false,
forcePseudoFullscreen: false,
fullscreenElement: false
},
onAdd: function (map) {
var className = 'leaflet-control-zoom-fullscreen', container, content = '';
if (map.zoomControl && !this.options.forceSeparateButton) {
container = map.zoomControl._container;
} else {
container = L.DomUtil.create('div', 'leaflet-bar');
}
if (this.options.content) {
content = this.options.content;
} else {
className += ' fullscreen-icon';
}
this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this);
this._map.on('enterFullscreen exitFullscreen', this._toggleTitle, this);
return container;
},
_createButton: function (title, className, content, container, fn, context) {
this.link = L.DomUtil.create('a', className, container);
this.link.href = '#';
this.link.title = title;
this.link.innerHTML = content;
L.DomEvent
.addListener(this.link, 'click', L.DomEvent.stopPropagation)
.addListener(this.link, 'click', L.DomEvent.preventDefault)
.addListener(this.link, 'click', fn, context);
L.DomEvent
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
.addListener(container, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
L.DomEvent
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
.addListener(document, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
return this.link;
},
toggleFullScreen: function () {
var map = this._map;
map._exitFired = false;
if (map._isFullscreen) {
if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
fullScreenApi.cancelFullScreen();
} else {
L.DomUtil.removeClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen');
}
map.fire('exitFullscreen');
map._exitFired = true;
map._isFullscreen = false;
}
else {
if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
fullScreenApi.requestFullScreen(this.options.fullscreenElement ? this.options.fullscreenElement : map._container);
} else {
L.DomUtil.addClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen');
}
map.fire('enterFullscreen');
map._isFullscreen = true;
}
},
_toggleTitle: function () {
this.link.title = this._map._isFullscreen ? this.options.title : this.options.titleCancel;
},
_handleFullscreenChange: function () {
var map = this._map;
map.invalidateSize();
if (!fullScreenApi.isFullScreen() && !map._exitFired) {
map.fire('exitFullscreen');
map._exitFired = true;
map._isFullscreen = false;
}
}
});
L.Map.addInitHook(function () {
if (this.options.fullscreenControl) {
this.fullscreenControl = L.control.fullscreen(this.options.fullscreenControlOptions);
this.addControl(this.fullscreenControl);
}
});
L.control.fullscreen = function (options) {
return new L.Control.FullScreen(options);
};
/*
Native FullScreen JavaScript API
-------------
Assumes Mozilla naming conventions instead of W3C for now
source : http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
*/
var
fullScreenApi = {
supportsFullScreen: false,
isFullScreen: function () { return false; },
requestFullScreen: function () {},
cancelFullScreen: function () {},
fullScreenEventName: '',
prefix: ''
},
browserPrefixes = 'webkit moz o ms khtml'.split(' ');
// check for native support
if (typeof document.exitFullscreen !== 'undefined') {
fullScreenApi.supportsFullScreen = true;
} else {
// check for fullscreen support by vendor prefix
for (var i = 0, il = browserPrefixes.length; i < il; i++) {
fullScreenApi.prefix = browserPrefixes[i];
if (typeof document[fullScreenApi.prefix + 'CancelFullScreen'] !== 'undefined') {
fullScreenApi.supportsFullScreen = true;
break;
}
}
if (typeof document['msExitFullscreen'] !== 'undefined') {
fullScreenApi.prefix = 'ms';
fullScreenApi.supportsFullScreen = true;
}
}
// update methods to do something useful
if (fullScreenApi.supportsFullScreen) {
if (fullScreenApi.prefix === 'ms') {
fullScreenApi.fullScreenEventName = 'MSFullscreenChange';
} else {
fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';
}
fullScreenApi.isFullScreen = function () {
switch (this.prefix) {
case '':
return document.fullscreen;
case 'webkit':
return document.webkitIsFullScreen;
case 'ms':
return document.msFullscreenElement;
default:
return document[this.prefix + 'FullScreen'];
}
};
fullScreenApi.requestFullScreen = function (el) {
switch (this.prefix) {
case '':
return el.requestFullscreen();
case 'ms':
return el.msRequestFullscreen();
default:
return el[this.prefix + 'RequestFullScreen']();
}
};
fullScreenApi.cancelFullScreen = function () {
switch (this.prefix) {
case '':
return document.exitFullscreen();
case 'ms':
return document.msExitFullscreen();
default:
return document[this.prefix + 'CancelFullScreen']();
}
};
}
// jQuery plugin
if (typeof jQuery !== 'undefined') {
jQuery.fn.requestFullScreen = function () {
return this.each(function () {
var el = jQuery(this);
if (fullScreenApi.supportsFullScreen) {
fullScreenApi.requestFullScreen(el);
}
});
};
}
// export api
window.fullScreenApi = fullScreenApi;
})();

19
LICENSE
View File

@ -1,19 +0,0 @@
Copyright (c) 2013, Bruno Bergot
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,27 +0,0 @@
.leaflet-marker-photo {
border: 2px solid #fff;
box-shadow: 3px 3px 10px #888;
}
.leaflet-marker-photo div {
width: 100%;
height: 100%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
.leaflet-marker-photo b {
position: absolute;
top: -7px;
right: -11px;
color: #555;
background-color: #fff;
border-radius: 8px;
height: 12px;
min-width: 12px;
line-height: 12px;
text-align: center;
padding: 3px;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}

View File

@ -1,83 +0,0 @@
L.Photo = L.FeatureGroup.extend({
options: {
icon: {
iconSize: [40, 40]
}
},
initialize: function (photos, options) {
L.setOptions(this, options);
L.FeatureGroup.prototype.initialize.call(this, photos);
},
addLayers: function (photos) {
if (photos) {
for (var i = 0, len = photos.length; i < len; i++) {
this.addLayer(photos[i]);
}
}
return this;
},
addLayer: function (photo) {
L.FeatureGroup.prototype.addLayer.call(this, this.createMarker(photo));
},
createMarker: function (photo) {
var marker = L.marker(photo, {
icon: L.divIcon(L.extend({
html: '<div style="background-image: url(' + photo.thumbnail + ');"></div>',
className: 'leaflet-marker-photo'
}, photo, this.options.icon)),
title: photo.caption || ''
});
marker.photo = photo;
return marker;
}
});
L.photo = function (photos, options) {
return new L.Photo(photos, options);
};
if (L.MarkerClusterGroup) {
L.Photo.Cluster = L.MarkerClusterGroup.extend({
options: {
featureGroup: L.photo,
maxClusterRadius: 100,
showCoverageOnHover: false,
iconCreateFunction: function(cluster) {
return new L.DivIcon(L.extend({
className: 'leaflet-marker-photo',
html: '<div style="background-image: url(' + cluster.getAllChildMarkers()[0].photo.thumbnail + ');"></div><b>' + cluster.getChildCount() + '</b>'
}, this.icon));
},
icon: {
iconSize: [40, 40]
}
},
initialize: function (options) {
options = L.Util.setOptions(this, options);
L.MarkerClusterGroup.prototype.initialize.call(this);
this._photos = options.featureGroup(null, options);
},
add: function (photos) {
this.addLayer(this._photos.addLayers(photos));
return this;
},
clear: function () {
this._photos.clearLayers();
this.clearLayers();
}
});
L.photo.cluster = function (options) {
return new L.Photo.Cluster(options);
};
}

View File

@ -1,60 +0,0 @@
.marker-cluster-small {
background-color: rgba(181, 226, 140, 0.6);
}
.marker-cluster-small div {
background-color: rgba(110, 204, 57, 0.6);
}
.marker-cluster-medium {
background-color: rgba(241, 211, 87, 0.6);
}
.marker-cluster-medium div {
background-color: rgba(240, 194, 12, 0.6);
}
.marker-cluster-large {
background-color: rgba(253, 156, 115, 0.6);
}
.marker-cluster-large div {
background-color: rgba(241, 128, 23, 0.6);
}
/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
background-color: rgb(181, 226, 140);
}
.leaflet-oldie .marker-cluster-small div {
background-color: rgb(110, 204, 57);
}
.leaflet-oldie .marker-cluster-medium {
background-color: rgb(241, 211, 87);
}
.leaflet-oldie .marker-cluster-medium div {
background-color: rgb(240, 194, 12);
}
.leaflet-oldie .marker-cluster-large {
background-color: rgb(253, 156, 115);
}
.leaflet-oldie .marker-cluster-large div {
background-color: rgb(241, 128, 23);
}
.marker-cluster {
background-clip: padding-box;
border-radius: 20px;
}
.marker-cluster div {
width: 30px;
height: 30px;
margin-left: 5px;
margin-top: 5px;
text-align: center;
border-radius: 15px;
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
line-height: 30px;
}

View File

@ -1,14 +0,0 @@
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}
.leaflet-cluster-spider-leg {
/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

389
README.md
View File

@ -1,389 +0,0 @@
# WP GPX Maps
Contributors: bastianonm, Stephan Klein, Michel Selerin, TosattoSimonePio, Kniebremser
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd_s-xclick&hosted_button_id=8VHWLRW6JBTML
Tags: maps, gpx, gps, graph, chart, leaflet, track, garmin, image, nextgen-gallery, nextgen, exif, OpenStreetMap, OpenCycleMap, Hike&Bike, heart rate, heartrate, cadence
Requires at least: 4.6.0
Tested up to: 5.2.2
Requires PHP: 5.6.20
Stable tag: 1.7.00
Draws a GPX track with altitude graph. You can also display your nextgen gallery images in the map.
## Description
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:
- Custom colors
- Custom icons
- Multiple language support
Supported charts:
- Altitude
- Speed
- Heart rate
- Temperature
- Cadence
- Grade
NextGen Gallery Integration:
Display your NextGen Gallery images inside the map!
Even if you don't have a GPS camera, this plugin can retrive the image position starting from the image date and your GPX file.
Post Attachments Integration:
This version is extended by: <a href"https://klein-gedruckt.de/2015/03/wordpress-plugin-wp-gpx-maps/" target="_blank" rel="noopener noreferrer">Stephan Klein</a> and supports displaying all images attached to a post without using NGG.
Try this plugin: <a href"https://devfarm.it/wp-gpx-maps-demo/" target="_blank" rel="noopener noreferrer">https://devfarm.it/wp-gpx-maps-demo/</a>
Support:
If you need help, please use: <a href"http://www.devfarm.it/forums/forum/wp-gpx-maps/" target="_blank" rel="noopener noreferrer">www.devfarm.it Support Forum</a>
Would you like to help fix bugs or further develop the plugin? On <a href"https://github.com/devfarm-it/wp-gpx-maps" target="_blank" rel="noopener noreferrer">Github</a> you can contribuite easly with your code.
Translations:
Translators are welcome to contribute to the plugin. Please use the <a href"https://translate.wordpress.org/projects/wp-plugins/wp-gpx-maps/)" target="_blank" rel="noopener noreferrer">WordPress translation website</a>.
The language files in the plugin contain 18 translatable texts for 13 languages:
- Catalan ca
- Dutch nl_NL
- English (default)
- French fr_FR
- Hungarian hu_HU
- Italian it_IT
- Norwegian nb_NO
- Polish pl_PL
- Portuguese (Brazilian) pt_BR
- Russian ru_RU
- Spanish es_ES
- Swedish sv_SE
- Turkish tr_TR
- Bulgarian bg_BG
- Slovak cs_CZ
- Norwegian nb_NO
- Japanese ja_JP
(Many thanks to all guys who helped me with the translations)
Currently are 230 texts are translatable in the plugin.
With your help, the plugin can be translated into any language. For updating the language file you no longer need to wait for a new version of the plugin.
Are 95% WordPress generates a new language file for your language.
If the translation is available via WP Translate, the language file will be deleted in the next version of the plugin.
Please also help with the translation of the readme. The more languages that are available, the wider the spread of the plugin will be.
Supported GPX namespaces are:
1. http://www.topografix.com/GPX/1/0
1. <a href"http://www.topografix.com/GPX/1/1" target="_blank" rel="noopener noreferrer">www.topografix.com/GPX/1/1</a>
1. http://www.garmin.com/xmlschemas/GpxExtensions/v3
1. http://www.garmin.com/xmlschemas/TrackPointExtension/v1
Thanks to: <a href"http://www.securcube.net/" target="_blank" rel="noopener noreferrer">www.securcube.net</a>, <a href="http://www.devfarm.it/" target="_blank" rel="noopener noreferrer">www.devfarm.it</a>
Icons made by <a href"https://www.freepik.com/" target="_blank" rel="noopener noreferrer">Freepik</a> from <a href="https://www.flaticon.com/" target="_blank" rel="noopener noreferrer">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" target="_blank" rel="noopener noreferrer">Creative Commons BY 3.0</a>
## Installation
1. Use the classic wordpress plugin installer or copy the plugins folder to the `/wp-content/plugins/` directory
1. Activate the plugin through the 'Plugins' menu in WordPress
1. Add the shortcode [sgpx gpx"&gt;relative path to your gpx&lt;"] or [sgpx gpx="&gt;http://somesite.com/files/yourfile.gpx&lt;"]
## Frequently Asked Questions
### Which shortcode attributes are available?
You can use the following shortcodes:
1. gpx: Relative path to the GPX file
1. width: Map width (value in percent)
1. mheight: Map height (value in pixeln)
1. gheight: Graph height (value in pixeln)
1. skipcache: Do not use cache. If TRUE might be very slow (default is false)
1. download: Allow users to download your GPX file (default is false)
1. summary: Print summary details of your GPX track (default is false)
1. summarytotlen: Print total distance in summary table (default is false)
1. summarymaxele: Print max elevation in summary table (default is false)
1. summaryminele: Print min Elevation in summary table (default is false)
1. summaryeleup: Print total climbing in summary table (default is false)
1. summaryeledown: Print total descent in summary table (default is false)
1. summaryavgspeed: Print average Speed in summary table (default is false)
1. summarytotaltime: Print total time in summary table (default is false)
1. mtype: Map available types are: HYBRID, ROADMAP, SATELLITE, TERRAIN, OSM1 (Open Street Map), OSM2 (Open Cycle Map), OSM4 (Open Cycle Map - Transport), OSM5 (Open Cycle Map - Landscape), OSM6 (MapToolKit - Terrain), OSM7 (Open Street Map - Humanitarian map style), OSM 9 (Hike & Bike), OSM10 (Open Sea Map)
1. mlinecolor: Map line color (default is #3366cc)
1. zoomonscrollwheel: Zoom on map when mouse scroll wheel (default is false)
1. waypoints: Print the gpx waypoints inside the map (default is false)
1. startIcon: Start track icon
1. endIcon: End track icon
1. currentIcon: Current position icon (when mouse hover)
1. waypointicon: Custom waypoint icon
1. showele: Show elevation data inside the chart (default is true)
1. uom: Distance/altitude possible unit of measure (0 meters, 1 = feet/miles, 2 = meters/kilometers, 3 = meters/nautical miles, 4 = meters/miles, 5 = feet/nautical miles)
1. glinecolor: Altitude line color (default is #3366cc)
1. chartFrom1: Minimun value for altitude chart
1. chartTo1: Maxumin value for altitude chart
1. showspeed: Show speed inside the chart (default is false)
1. glinecolorspeed: Speed line color (default is #ff0000)
1. uomspeed: Unit of measure for speed (0 m/s, 1 = km/h, 2 = miles/h, 3 = min/km, 4 = min/miles, 5 = Nautical Miles/Hour (Knots), 6 = min/100 meters)
1. chartFrom2: Minimun value for speed chart
1. chartTo2: Maxumin value for speed chart
1. showhr: Show heart rate inside the chart (default is false)
1. glinecolorhr: Heart rate line color (default is #ff77bd)
1. showatemp: Show temperature inside the chart (default is false)
1. glinecoloratemp: Temperature line color (default is #ff77bd)
1. showcad: Show cadence inside the chart (default is false)
1. glinecolorcad: Cadence line color (default is #beecff)
1. showgrade: Show grade inside the chart (default is false)
1. glinecolorgrade: Grade line color (default is #beecff)
1. nggalleries: NextGen Gallery id or a list of Galleries id separated by a comma
1. ngimages: NextGen Image id or a list of Images id separated by a comma
1. attachments: Show all images that are attached to post (default is false)
1. dtoffset: The difference (in seconds) between your gpx tool date and your camera date
1. pointsoffset: Skip points closer than XX meters (default is 10)
1. donotreducegpx: Print all the point without reduce it (default is false)
### What happening if I've a very large GPX files?
This plugin will print a small amout of points to speedup javascript and pageload.
### Is it free?
Yes!
## Screenshots
1. Simple GPX
1. GPX with waypoints
1. Admin area - List of tracks
1. Admin area - Settings
1. Altitude & Speed
1. Altitude & Speed & Heart rate
## Changelog
### X.X.XX
* Added: PHP version notices, WordPress 5.3 requires PHP 5.6.20
* Added: Missing entries for add and delete options
* Changed: Style for output moved in a seperate file
* Tweak: Small design optimizations in the admin area
* Tweak: Small code adjustments (WPCS)
* Upgrade: bootstrap-table to 1.13.2
* Removed: german language file (now over translate.wordpress.org)
### 1.7.00
* Added: Authors can upload GPX tracks in a folder called as *your user name*, inside [../wp-upload dir/gpx/[*your user name*] (thanks to wildcomputations)
* Added: Authors an Admins can see the current values for shortcodes in help tab
* Added: Button to instant copy the shortcode of the selected GPX file in the tab track
* Added: different size logos for the plugin store (icon.svg, icon128x128.png and icon256x256.png) [inside ../plugins/wp-gpx-maps/assets]
* Changed: Settings tab is for non-Admin users is not more visible
* Tweak: Help tab is easier to read
* Tweak: Plugin is now complete translatable (Backend + Frontend)
* Tweak: WordPress coding standards
* Upgrade: Leaflet to 1.5.1
* Upgrade: leaflet.fullscreen to 1.4.5
* Upgrade: Chart.min.js to 2.8.0
### 1.6.07
* resolve admin error
### 1.6.06
* Added average values under the graph (thanks to cyclinggeorgian)
### 1.6.04
* NGG gallery is working
* Getting HR, Cad and Temp working again (thanks to cyclinggeorgian)
* Fix javascript errors
* Fix multiple traks gpx
### 1.6.03
* Fix syntax error causing graph not to display (thanks to nickstabler)
### 1.6.02
* Resolved errors with start and end icons
### 1.6.01
* Removed Gogole maps. Leafletjs instead.
* -- NextGen Gallery is not working, due next gen image format changed -- I'll fix soon
### 1.5.05
* renamed javascript functions to avoid collision with other plugins
* reduced chart line thickness
### 1.5.04
* fix uom
* fix file not found
### 1.5.03
* fix random error
### 1.5.02
* Security improvements
### 1.5.01
* Improved security
* Included javascript
* Multiple file upload
* Implemented sorting in file list
* Renamed internal function to improve wp compatibility
### 1.5.00
* replaced highcharts with chartjs. This is a forced choice due highcharts license issue, view: https://devfarm.it/wordpress-plugin/wordpress-plugin-directory-notice-wp-gpx-maps-temporarily-disabled/
### 1.3.16
* Added Norwegian nb_NO translation (thanks to thordivel)
* Added Japanese ja_JP translation (thanks to dentos)
### 1.3.15
* Switched to HTTPS where possible (thanks to delitestudio)
### 1.3.14
* Added Thunderforest Api Key on settings: for OpenCycleMap
### 1.3.13
* Added google maps api key on settings
* Removed parameter 'sensor' on google maps js
* Added unit of measure of speed for swimmers: min/100 meters
### 1.3.12
* Fix incompatibility with Debian PHP7 (thanks to phbaer) https://github.com/devfarm-it/wp-gpx-maps/pull/5
### 1.3.10
* Improved german translations (thanks to Konrad) http://tadesse.de/7882/2015-wanderung-ostrov-tisa-ii/
### 1.3.9
* Retrieve waypoints in JSON, possibility to add a custom marker (Changed by Michel Selerin)
### 1.3.8
* Improved Google Maps visualization
### 1.3.7
* NextGen Gallery's Attachment support. Thanks to Stephan Klein (https://klein-gedruckt.de/2015/03/wordpress-plugin-wp-gpx-maps/)
### 1.3.6
* Fix: remote file download issue
* Fix: download file link with WPML
* Improved cache with filetime (thanks to David)
### 1.3.5
* Fix: Garmin cadence again
* Fix: WP Tabs
### 1.3.4
* Fix: Garmin cadence
* Infowindows closing on mouseout
### 1.3.3
* Add feet/Nautical Miles units (thanks to elperepat)
* Update OpenStreetMaps Credits
* WP Tabs fix
### 1.3.2
* fix: left axis not visible (downgrade highcharts to v3.0.10)
* fix: fullscreen map js error
### 1.3.1
* fix: http/https javascript registration
* fix: full screen map css issue
### 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
* Speed improvement
### 1.2.5
* Added Catalan translation, thanks to Edgar
* Updated Spanish translation, thanks to Dani
* Added different types of distance: Normal, Flat (don't consider altitude) and Climb distance
### 1.2.4
* Added Bulgarian translation, thanks to Svilen Savov
* Added possibility to hide the elevation chart
### 1.2.2
* Smaller map type selector
* New map: MapToolKit - Terrain
* Fix: Google maps exception for NextGen Gallery
### 1.2.1
* Fix: NextGen Gallery 1.9 compatibility
### 1.2.0
* NextGen Gallery 2 support
* NextGen Gallery Pro support
### 1.1.46
* Added meters/miles chart unit of measure
* Added Russian translation, thanks to G.A.P
### 1.1.45
* Added nautical miles as distance (Many thanks to Anders)
### 1.1.44
* Added Chart zoom feature
* Some small bug fixes
### 1.1.43
* Added Portuguese (Brazilian) translation, thanks to André Ramos
* new map: Open Cycle Map - Transport
* new map: Open Cycle Map - Landscape
### 1.1.42
* qTranslate compatible
### 1.1.41
* Added Polish translation, thanks to Sebastian
* Fix: Spanish translation
* Minor javascript improvement
### 1.1.40
* Improved italian translation
* Added grade chart (beta)
### 1.1.39
* Added French translation, thanks to Hervé
* Added Nautical Miles per Hour (Knots) unit of measure
### 1.1.38
* Fix: garmin gpx cadence and heart rate
* Updated Turkish translation, thanks to Edip
* Added Hungarian translation, thanks to Tami
### 1.1.36
* Even Editor and Author users can upload their own gpx. Administrators can see all the administrators gpx. The other users can see only their uploads
### 1.1.35
* Fix: In the post list, sometime, the maps was not displaying correctly ( the php rand() function was not working?? )
* Various improvements for multi track gpx. Thanks to GPSracks.tv
* Summary table is now avaiable even without chart. Thanks to David
### 1.1.34
* 2 decimals for unit of measure min/km and min/mi
* translation file updated (a couple of phrases added)
* File list reverse order (from the newer to the older)
* nggallery integration: division by zero fixed
### 1.1.33
* Decimals reducted to 1 for unit of measure min/km and min/mi
* map zoom and center position is working with waypoints only files
* automatic scale works again (thanks to MArkus)
### 1.1.32
* You can exclude cache (slower and not recommended)
* You can decide what show in the summary table
* German translation (thanks to Ali)
### 1.1.31
* Fixed fullscreen map image slideshow
### 1.1.30
* Multi track gpx support
* Next Gen Gallery images positions derived from date. You can adjust the date with the shortcode attribute dtoffset
* If you set Chart Height (shortcode gheight) 0 means hide the graph
* Fix: All images should work, independent from browser cache
### 1.1.29
* Decimal separator is working with all the browsers
* minutes per mile and minutes per kilometer was wrong
### 1.1.28
* Decimal and thousand separator derived from browser language
* Added summary table (see settings): Total distance, Max elevation, Min elevation, Total climbing, Total descent, Average speed
* Added 2 speed units of measure: minutes per mile and minutes per kilometer
### 1.1.26
* Multilanguage implementation (only front-end). I've implemented the italian one, I hope somebody will help me with other languages..
* Map Full screen mode (I'm sure it's not working in ie6. don't even ask!)
* Added waypoint custom icon
### 1.1.25
* Added possibility to download your gpx
### 1.1.23
* Security fix, please update!
### 1.1.22
* enable map zoom on scroll wheel (check settings)
* test attributes in get params
### 1.1.21
* google maps images fixed (templates with bad css)
* upgrade to google maps 3.9
### 1.1.20
* google maps images fixed in <a href"http://wordpress.org/extend/themes/yoko">Yoko theme</a>
### 1.1.19
* include jQuery if needed
### 1.1.17
* Remove zero values from cadence and heart rate charts
* nextgen gallery improvement
### 1.1.16
* Cadence chart (where available)
* minor bug fixes
### 1.1.15
* migration from google chart to highcharts. Highcharts are much better than google chart! This is the base for a new serie of improvements. Stay in touch for the next releases!
* heart rate chart (where available)
### 1.1.14
* added css to avoid map bars display issue
### 1.1.13
* added new types of maps: Open Street Map, Open Cycle Map, Hike & Bike.
* fixed nextgen gallery caching problem
### 1.1.12
* nextgen gallery display bug fixes
## Upgrade Notice

View File

@ -1,27 +1,27 @@
.leaflet-marker-photo {
border: 2px solid #fff;
box-shadow: 3px 3px 10px #888;
}
.leaflet-marker-photo div {
width: 100%;
height: 100%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
.leaflet-marker-photo b {
position: absolute;
top: -7px;
right: -11px;
color: #555;
background-color: #fff;
border-radius: 8px;
height: 12px;
min-width: 12px;
line-height: 12px;
text-align: center;
padding: 3px;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
.leaflet-marker-photo {
border: 2px solid #fff;
box-shadow: 3px 3px 10px #888;
}
.leaflet-marker-photo div {
width: 100%;
height: 100%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
.leaflet-marker-photo b {
position: absolute;
top: -7px;
right: -11px;
color: #555;
background-color: #fff;
border-radius: 8px;
height: 12px;
min-width: 12px;
line-height: 12px;
text-align: center;
padding: 3px;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}

View File

@ -1,83 +1,83 @@
L.Photo = L.FeatureGroup.extend({
options: {
icon: {
iconSize: [40, 40]
}
},
initialize: function (photos, options) {
L.setOptions(this, options);
L.FeatureGroup.prototype.initialize.call(this, photos);
},
addLayers: function (photos) {
if (photos) {
for (var i = 0, len = photos.length; i < len; i++) {
this.addLayer(photos[i]);
}
}
return this;
},
addLayer: function (photo) {
L.FeatureGroup.prototype.addLayer.call(this, this.createMarker(photo));
},
createMarker: function (photo) {
var marker = L.marker(photo, {
icon: L.divIcon(L.extend({
html: '<div style="background-image: url(' + photo.thumbnail + ');"></div>',
className: 'leaflet-marker-photo'
}, photo, this.options.icon)),
title: photo.caption || ''
});
marker.photo = photo;
return marker;
}
});
L.photo = function (photos, options) {
return new L.Photo(photos, options);
};
if (L.MarkerClusterGroup) {
L.Photo.Cluster = L.MarkerClusterGroup.extend({
options: {
featureGroup: L.photo,
maxClusterRadius: 100,
showCoverageOnHover: false,
iconCreateFunction: function(cluster) {
return new L.DivIcon(L.extend({
className: 'leaflet-marker-photo',
html: '<div style="background-image: url(' + cluster.getAllChildMarkers()[0].photo.thumbnail + ');"></div><b>' + cluster.getChildCount() + '</b>'
}, this.icon));
},
icon: {
iconSize: [40, 40]
}
},
initialize: function (options) {
options = L.Util.setOptions(this, options);
L.MarkerClusterGroup.prototype.initialize.call(this);
this._photos = options.featureGroup(null, options);
},
add: function (photos) {
this.addLayer(this._photos.addLayers(photos));
return this;
},
clear: function () {
this._photos.clearLayers();
this.clearLayers();
}
});
L.photo.cluster = function (options) {
return new L.Photo.Cluster(options);
};
L.Photo = L.FeatureGroup.extend({
options: {
icon: {
iconSize: [40, 40]
}
},
initialize: function (photos, options) {
L.setOptions(this, options);
L.FeatureGroup.prototype.initialize.call(this, photos);
},
addLayers: function (photos) {
if (photos) {
for (var i = 0, len = photos.length; i < len; i++) {
this.addLayer(photos[i]);
}
}
return this;
},
addLayer: function (photo) {
L.FeatureGroup.prototype.addLayer.call(this, this.createMarker(photo));
},
createMarker: function (photo) {
var marker = L.marker(photo, {
icon: L.divIcon(L.extend({
html: '<div style="background-image: url(' + photo.thumbnail + ');"></div>',
className: 'leaflet-marker-photo'
}, photo, this.options.icon)),
title: photo.caption || ''
});
marker.photo = photo;
return marker;
}
});
L.photo = function (photos, options) {
return new L.Photo(photos, options);
};
if (L.MarkerClusterGroup) {
L.Photo.Cluster = L.MarkerClusterGroup.extend({
options: {
featureGroup: L.photo,
maxClusterRadius: 100,
showCoverageOnHover: false,
iconCreateFunction: function(cluster) {
return new L.DivIcon(L.extend({
className: 'leaflet-marker-photo',
html: '<div style="background-image: url(' + cluster.getAllChildMarkers()[0].photo.thumbnail + ');"></div><b>' + cluster.getChildCount() + '</b>'
}, this.icon));
},
icon: {
iconSize: [40, 40]
}
},
initialize: function (options) {
options = L.Util.setOptions(this, options);
L.MarkerClusterGroup.prototype.initialize.call(this);
this._photos = options.featureGroup(null, options);
},
add: function (photos) {
this.addLayer(this._photos.addLayers(photos));
return this;
},
clear: function () {
this._photos.clearLayers();
this.clearLayers();
}
});
L.photo.cluster = function (options) {
return new L.Photo.Cluster(options);
};
}

View File

@ -1,60 +1,60 @@
.marker-cluster-small {
background-color: rgba(181, 226, 140, 0.6);
}
.marker-cluster-small div {
background-color: rgba(110, 204, 57, 0.6);
}
.marker-cluster-medium {
background-color: rgba(241, 211, 87, 0.6);
}
.marker-cluster-medium div {
background-color: rgba(240, 194, 12, 0.6);
}
.marker-cluster-large {
background-color: rgba(253, 156, 115, 0.6);
}
.marker-cluster-large div {
background-color: rgba(241, 128, 23, 0.6);
}
/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
background-color: rgb(181, 226, 140);
}
.leaflet-oldie .marker-cluster-small div {
background-color: rgb(110, 204, 57);
}
.leaflet-oldie .marker-cluster-medium {
background-color: rgb(241, 211, 87);
}
.leaflet-oldie .marker-cluster-medium div {
background-color: rgb(240, 194, 12);
}
.leaflet-oldie .marker-cluster-large {
background-color: rgb(253, 156, 115);
}
.leaflet-oldie .marker-cluster-large div {
background-color: rgb(241, 128, 23);
}
.marker-cluster {
background-clip: padding-box;
border-radius: 20px;
}
.marker-cluster div {
width: 30px;
height: 30px;
margin-left: 5px;
margin-top: 5px;
text-align: center;
border-radius: 15px;
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
line-height: 30px;
.marker-cluster-small {
background-color: rgba(181, 226, 140, 0.6);
}
.marker-cluster-small div {
background-color: rgba(110, 204, 57, 0.6);
}
.marker-cluster-medium {
background-color: rgba(241, 211, 87, 0.6);
}
.marker-cluster-medium div {
background-color: rgba(240, 194, 12, 0.6);
}
.marker-cluster-large {
background-color: rgba(253, 156, 115, 0.6);
}
.marker-cluster-large div {
background-color: rgba(241, 128, 23, 0.6);
}
/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
background-color: rgb(181, 226, 140);
}
.leaflet-oldie .marker-cluster-small div {
background-color: rgb(110, 204, 57);
}
.leaflet-oldie .marker-cluster-medium {
background-color: rgb(241, 211, 87);
}
.leaflet-oldie .marker-cluster-medium div {
background-color: rgb(240, 194, 12);
}
.leaflet-oldie .marker-cluster-large {
background-color: rgb(253, 156, 115);
}
.leaflet-oldie .marker-cluster-large div {
background-color: rgb(241, 128, 23);
}
.marker-cluster {
background-clip: padding-box;
border-radius: 20px;
}
.marker-cluster div {
width: 30px;
height: 30px;
margin-left: 5px;
margin-top: 5px;
text-align: center;
border-radius: 15px;
font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
line-height: 30px;
}

View File

@ -1,14 +1,14 @@
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}
.leaflet-cluster-spider-leg {
/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
-webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
-moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
-o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}
.leaflet-cluster-spider-leg {
/* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
-webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
-moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
-o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,32 +1,32 @@
{
"rules": {
"camelcase": 0,
"quotes": [2, "single", "avoid-escape"],
"no-mixed-spaces-and-tabs": [2, "smart-tabs"],
"space-before-function-paren": 2,
"space-in-parens": 2,
"object-curly-spacing": [2, "never"],
"array-bracket-spacing": 2,
"computed-property-spacing": 2,
"space-before-blocks": 2,
"keyword-spacing": 2,
"no-lonely-if": 2,
"comma-style": 2,
"no-underscore-dangle": 0,
"no-constant-condition": 0,
"no-multi-spaces": 0,
"strict": 0,
"key-spacing": 0,
"no-shadow": 0,
"no-unused-vars": 2
},
"globals": {
"L": true,
"module": false,
"define": false,
"require": true
},
"env": {
"browser": true
}
}
{
"rules": {
"camelcase": 0,
"quotes": [2, "single", "avoid-escape"],
"no-mixed-spaces-and-tabs": [2, "smart-tabs"],
"space-before-function-paren": 2,
"space-in-parens": 2,
"object-curly-spacing": [2, "never"],
"array-bracket-spacing": 2,
"computed-property-spacing": 2,
"space-before-blocks": 2,
"keyword-spacing": 2,
"no-lonely-if": 2,
"comma-style": 2,
"no-underscore-dangle": 0,
"no-constant-condition": 0,
"no-multi-spaces": 0,
"strict": 0,
"key-spacing": 0,
"no-shadow": 0,
"no-unused-vars": 2
},
"globals": {
"L": true,
"module": false,
"define": false,
"require": true
},
"env": {
"browser": true
}
}

View File

@ -1,7 +0,0 @@
{
"commitMessage": "version %s",
"tagName": "%s",
"scripts": {
"postcommit": "git push && git push --tags && npm publish"
}
}

View File

@ -1,8 +1,8 @@
.fullscreen-icon { background-image: url(icon-fullscreen.png); }
.leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
.leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.fullscreen-icon { background-image: url(icon-fullscreen.png); }
.leaflet-retina .fullscreen-icon { background-image: url(icon-fullscreen-2x.png); background-size: 26px 26px; }
/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
.leaflet-container:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-container:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }

View File

@ -1,202 +1,202 @@
(function () {
L.Control.FullScreen = L.Control.extend({
options: {
position: 'topleft',
title: 'Full Screen',
titleCancel: 'Exit Full Screen',
forceSeparateButton: false,
forcePseudoFullscreen: false,
fullscreenElement: false
},
onAdd: function (map) {
var className = 'leaflet-control-zoom-fullscreen', container, content = '';
if (map.zoomControl && !this.options.forceSeparateButton) {
container = map.zoomControl._container;
} else {
container = L.DomUtil.create('div', 'leaflet-bar');
}
if (this.options.content) {
content = this.options.content;
} else {
className += ' fullscreen-icon';
}
this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this);
this._map.on('enterFullscreen exitFullscreen', this._toggleTitle, this);
return container;
},
_createButton: function (title, className, content, container, fn, context) {
this.link = L.DomUtil.create('a', className, container);
this.link.href = '#';
this.link.title = title;
this.link.innerHTML = content;
L.DomEvent
.addListener(this.link, 'click', L.DomEvent.stopPropagation)
.addListener(this.link, 'click', L.DomEvent.preventDefault)
.addListener(this.link, 'click', fn, context);
L.DomEvent
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
.addListener(container, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
L.DomEvent
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
.addListener(document, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
return this.link;
},
toggleFullScreen: function () {
var map = this._map;
map._exitFired = false;
if (map._isFullscreen) {
if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
fullScreenApi.cancelFullScreen();
} else {
L.DomUtil.removeClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen');
}
map.fire('exitFullscreen');
map._exitFired = true;
map._isFullscreen = false;
}
else {
if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
fullScreenApi.requestFullScreen(this.options.fullscreenElement ? this.options.fullscreenElement : map._container);
} else {
L.DomUtil.addClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen');
}
map.fire('enterFullscreen');
map._isFullscreen = true;
}
},
_toggleTitle: function () {
this.link.title = this._map._isFullscreen ? this.options.title : this.options.titleCancel;
},
_handleFullscreenChange: function () {
var map = this._map;
map.invalidateSize();
if (!fullScreenApi.isFullScreen() && !map._exitFired) {
map.fire('exitFullscreen');
map._exitFired = true;
map._isFullscreen = false;
}
}
});
L.Map.addInitHook(function () {
if (this.options.fullscreenControl) {
this.fullscreenControl = L.control.fullscreen(this.options.fullscreenControlOptions);
this.addControl(this.fullscreenControl);
}
});
L.control.fullscreen = function (options) {
return new L.Control.FullScreen(options);
};
/*
Native FullScreen JavaScript API
-------------
Assumes Mozilla naming conventions instead of W3C for now
source : http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
*/
var
fullScreenApi = {
supportsFullScreen: false,
isFullScreen: function () { return false; },
requestFullScreen: function () {},
cancelFullScreen: function () {},
fullScreenEventName: '',
prefix: ''
},
browserPrefixes = 'webkit moz o ms khtml'.split(' ');
// check for native support
if (typeof document.exitFullscreen !== 'undefined') {
fullScreenApi.supportsFullScreen = true;
} else {
// check for fullscreen support by vendor prefix
for (var i = 0, il = browserPrefixes.length; i < il; i++) {
fullScreenApi.prefix = browserPrefixes[i];
if (typeof document[fullScreenApi.prefix + 'CancelFullScreen'] !== 'undefined') {
fullScreenApi.supportsFullScreen = true;
break;
}
}
if (typeof document['msExitFullscreen'] !== 'undefined') {
fullScreenApi.prefix = 'ms';
fullScreenApi.supportsFullScreen = true;
}
}
// update methods to do something useful
if (fullScreenApi.supportsFullScreen) {
if (fullScreenApi.prefix === 'ms') {
fullScreenApi.fullScreenEventName = 'MSFullscreenChange';
} else {
fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';
}
fullScreenApi.isFullScreen = function () {
switch (this.prefix) {
case '':
return document.fullscreen;
case 'webkit':
return document.webkitIsFullScreen;
case 'ms':
return document.msFullscreenElement;
default:
return document[this.prefix + 'FullScreen'];
}
};
fullScreenApi.requestFullScreen = function (el) {
switch (this.prefix) {
case '':
return el.requestFullscreen();
case 'ms':
return el.msRequestFullscreen();
default:
return el[this.prefix + 'RequestFullScreen']();
}
};
fullScreenApi.cancelFullScreen = function () {
switch (this.prefix) {
case '':
return document.exitFullscreen();
case 'ms':
return document.msExitFullscreen();
default:
return document[this.prefix + 'CancelFullScreen']();
}
};
}
// jQuery plugin
if (typeof jQuery !== 'undefined') {
jQuery.fn.requestFullScreen = function () {
return this.each(function () {
var el = jQuery(this);
if (fullScreenApi.supportsFullScreen) {
fullScreenApi.requestFullScreen(el);
}
});
};
}
// export api
window.fullScreenApi = fullScreenApi;
})();
(function () {
L.Control.FullScreen = L.Control.extend({
options: {
position: 'topleft',
title: 'Full Screen',
titleCancel: 'Exit Full Screen',
forceSeparateButton: false,
forcePseudoFullscreen: false,
fullscreenElement: false
},
onAdd: function (map) {
var className = 'leaflet-control-zoom-fullscreen', container, content = '';
if (map.zoomControl && !this.options.forceSeparateButton) {
container = map.zoomControl._container;
} else {
container = L.DomUtil.create('div', 'leaflet-bar');
}
if (this.options.content) {
content = this.options.content;
} else {
className += ' fullscreen-icon';
}
this._createButton(this.options.title, className, content, container, this.toggleFullScreen, this);
this._map.on('enterFullscreen exitFullscreen', this._toggleTitle, this);
return container;
},
_createButton: function (title, className, content, container, fn, context) {
this.link = L.DomUtil.create('a', className, container);
this.link.href = '#';
this.link.title = title;
this.link.innerHTML = content;
L.DomEvent
.addListener(this.link, 'click', L.DomEvent.stopPropagation)
.addListener(this.link, 'click', L.DomEvent.preventDefault)
.addListener(this.link, 'click', fn, context);
L.DomEvent
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
.addListener(container, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
.addListener(container, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
L.DomEvent
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.stopPropagation)
.addListener(document, fullScreenApi.fullScreenEventName, L.DomEvent.preventDefault)
.addListener(document, fullScreenApi.fullScreenEventName, this._handleFullscreenChange, context);
return this.link;
},
toggleFullScreen: function () {
var map = this._map;
map._exitFired = false;
if (map._isFullscreen) {
if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
fullScreenApi.cancelFullScreen();
} else {
L.DomUtil.removeClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen');
}
map.fire('exitFullscreen');
map._exitFired = true;
map._isFullscreen = false;
}
else {
if (fullScreenApi.supportsFullScreen && !this.options.forcePseudoFullscreen) {
fullScreenApi.requestFullScreen(this.options.fullscreenElement ? this.options.fullscreenElement : map._container);
} else {
L.DomUtil.addClass(this.options.fullscreenElement ? this.options.fullscreenElement : map._container, 'leaflet-pseudo-fullscreen');
}
map.fire('enterFullscreen');
map._isFullscreen = true;
}
},
_toggleTitle: function () {
this.link.title = this._map._isFullscreen ? this.options.title : this.options.titleCancel;
},
_handleFullscreenChange: function () {
var map = this._map;
map.invalidateSize();
if (!fullScreenApi.isFullScreen() && !map._exitFired) {
map.fire('exitFullscreen');
map._exitFired = true;
map._isFullscreen = false;
}
}
});
L.Map.addInitHook(function () {
if (this.options.fullscreenControl) {
this.fullscreenControl = L.control.fullscreen(this.options.fullscreenControlOptions);
this.addControl(this.fullscreenControl);
}
});
L.control.fullscreen = function (options) {
return new L.Control.FullScreen(options);
};
/*
Native FullScreen JavaScript API
-------------
Assumes Mozilla naming conventions instead of W3C for now
source : http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
*/
var
fullScreenApi = {
supportsFullScreen: false,
isFullScreen: function () { return false; },
requestFullScreen: function () {},
cancelFullScreen: function () {},
fullScreenEventName: '',
prefix: ''
},
browserPrefixes = 'webkit moz o ms khtml'.split(' ');
// check for native support
if (typeof document.exitFullscreen !== 'undefined') {
fullScreenApi.supportsFullScreen = true;
} else {
// check for fullscreen support by vendor prefix
for (var i = 0, il = browserPrefixes.length; i < il; i++) {
fullScreenApi.prefix = browserPrefixes[i];
if (typeof document[fullScreenApi.prefix + 'CancelFullScreen'] !== 'undefined') {
fullScreenApi.supportsFullScreen = true;
break;
}
}
if (typeof document['msExitFullscreen'] !== 'undefined') {
fullScreenApi.prefix = 'ms';
fullScreenApi.supportsFullScreen = true;
}
}
// update methods to do something useful
if (fullScreenApi.supportsFullScreen) {
if (fullScreenApi.prefix === 'ms') {
fullScreenApi.fullScreenEventName = 'MSFullscreenChange';
} else {
fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';
}
fullScreenApi.isFullScreen = function () {
switch (this.prefix) {
case '':
return document.fullscreen;
case 'webkit':
return document.webkitIsFullScreen;
case 'ms':
return document.msFullscreenElement;
default:
return document[this.prefix + 'FullScreen'];
}
};
fullScreenApi.requestFullScreen = function (el) {
switch (this.prefix) {
case '':
return el.requestFullscreen();
case 'ms':
return el.msRequestFullscreen();
default:
return el[this.prefix + 'RequestFullScreen']();
}
};
fullScreenApi.cancelFullScreen = function () {
switch (this.prefix) {
case '':
return document.exitFullscreen();
case 'ms':
return document.msExitFullscreen();
default:
return document[this.prefix + 'CancelFullScreen']();
}
};
}
// jQuery plugin
if (typeof jQuery !== 'undefined') {
jQuery.fn.requestFullScreen = function () {
return this.each(function () {
var el = jQuery(this);
if (fullScreenApi.supportsFullScreen) {
fullScreenApi.requestFullScreen(el);
}
});
};
}
// export api
window.fullScreenApi = fullScreenApi;
})();

View File

@ -1,19 +1,19 @@
Copyright (c) 2013, Bruno Bergot
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Copyright (c) 2013, Bruno Bergot
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,73 +1,73 @@
Leaflet.Control.FullScreen
============
What ?
------
Simple plugin for Leaflet that adds fullscreen button to your maps.
Inspired by http://elidupuis.github.com/leaflet.zoomfs/
Use the native javascript fullscreen API http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
Released under the MIT License http://opensource.org/licenses/mit-license.php
How ?
------
Include Control.FullScreen.js and Control.FullScreen.css in your page:
``` html
<link rel="stylesheet" href="Control.FullScreen.css" />
<script src="Control.FullScreen.js"></script>
```
Add the fullscreen control to the map:
``` js
var map = new L.Map('map', {
fullscreenControl: true,
fullscreenControlOptions: {
position: 'topleft'
}
});
```
If your map have a zoomControl the fullscreen button will be added at the bottom of this one.
If your map doesn't have a zoomContron the fullscreen button will be added to topleft corner of the map (same as the zoomcontrol).
If you want to use the plugin on a map embedded in an iframe, don't forget to set `allowfullscreen` attribute on your iframe.
__Events and options__:
``` js
// create a fullscreen button and add it to the map
L.control.fullscreen({
position: 'topleft', // change the position of the button can be topleft, topright, bottomright or bottomleft, defaut topleft
title: 'Show me the fullscreen !', // change the title of the button, default Full Screen
titleCancel: 'Exit fullscreen mode', // change the title of the button when fullscreen is on, default Exit Full Screen
content: null, // change the content of the button, can be HTML, default null
forceSeparateButton: true, // force seperate button to detach from zoom buttons, default false
forcePseudoFullscreen: true, // force use of pseudo full screen even if full screen API is available, default false
fullscreenElement: false // Dom element to render in full screen, false by default, fallback to map._container
}).addTo(map);
// events are fired when entering or exiting fullscreen.
map.on('enterFullscreen', function(){
console.log('entered fullscreen');
});
map.on('exitFullscreen', function(){
console.log('exited fullscreen');
});
```
Where ?
------
Source code : https://github.com/brunob/leaflet.fullscreen
Downloads : https://github.com/brunob/leaflet.fullscreen/releases
Demo : http://brunob.github.com/leaflet.fullscreen/
Leaflet.Control.FullScreen
============
What ?
------
Simple plugin for Leaflet that adds fullscreen button to your maps.
Inspired by http://elidupuis.github.com/leaflet.zoomfs/
Use the native javascript fullscreen API http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
Released under the MIT License http://opensource.org/licenses/mit-license.php
How ?
------
Include Control.FullScreen.js and Control.FullScreen.css in your page:
``` html
<link rel="stylesheet" href="Control.FullScreen.css" />
<script src="Control.FullScreen.js"></script>
```
Add the fullscreen control to the map:
``` js
var map = new L.Map('map', {
fullscreenControl: true,
fullscreenControlOptions: {
position: 'topleft'
}
});
```
If your map have a zoomControl the fullscreen button will be added at the bottom of this one.
If your map doesn't have a zoomContron the fullscreen button will be added to topleft corner of the map (same as the zoomcontrol).
If you want to use the plugin on a map embedded in an iframe, don't forget to set `allowfullscreen` attribute on your iframe.
__Events and options__:
``` js
// create a fullscreen button and add it to the map
L.control.fullscreen({
position: 'topleft', // change the position of the button can be topleft, topright, bottomright or bottomleft, defaut topleft
title: 'Show me the fullscreen !', // change the title of the button, default Full Screen
titleCancel: 'Exit fullscreen mode', // change the title of the button when fullscreen is on, default Exit Full Screen
content: null, // change the content of the button, can be HTML, default null
forceSeparateButton: true, // force seperate button to detach from zoom buttons, default false
forcePseudoFullscreen: true, // force use of pseudo full screen even if full screen API is available, default false
fullscreenElement: false // Dom element to render in full screen, false by default, fallback to map._container
}).addTo(map);
// events are fired when entering or exiting fullscreen.
map.on('enterFullscreen', function(){
console.log('entered fullscreen');
});
map.on('exitFullscreen', function(){
console.log('exited fullscreen');
});
```
Where ?
------
Source code : https://github.com/brunob/leaflet.fullscreen
Downloads : https://github.com/brunob/leaflet.fullscreen/releases
Demo : http://brunob.github.com/leaflet.fullscreen/

View File

@ -1,33 +1,33 @@
{
"name": "leaflet.fullscreen",
"version": "1.4.5",
"homepage": "https://github.com/brunob/leaflet.fullscreen",
"license": "MIT",
"authors": [
"brunob <brunobergot@gmail.com>"
],
"description": "Leaflet.Control.FullScreen for Leaflet",
"main": [
"Control.FullScreen.js",
"Control.FullScreen.css",
"icon-fullscreen.png",
"icon-fullscreen-2x.png"
],
"devDependencies": {
"eslint": "2.3.0"
},
"keywords": [
"leaflet",
"plugins",
"maps",
"fullscreen"
],
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests",
"index.html"
]
}
{
"name": "leaflet.fullscreen",
"version": "1.4.5",
"homepage": "https://github.com/brunob/leaflet.fullscreen",
"license": "MIT",
"authors": [
"brunob <brunobergot@gmail.com>"
],
"description": "Leaflet.Control.FullScreen for Leaflet",
"main": [
"Control.FullScreen.js",
"Control.FullScreen.css",
"icon-fullscreen.png",
"icon-fullscreen-2x.png"
],
"devDependencies": {
"eslint": "2.3.0"
},
"keywords": [
"leaflet",
"plugins",
"maps",
"fullscreen"
],
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests",
"index.html"
]
}

View File

@ -1,51 +1,51 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Leaflet.Control.FullScreen Demo</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" />
<style type="text/css">
#map { width: 700px; height: 433px; }
.fullscreen-icon { background-image: url(icon-fullscreen.png); }
/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
#map:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
</style>
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>
<script src="Control.FullScreen.js"></script>
</head>
<body>
<div id="map"></div>
<script>
var base = new L.TileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
maxZoom: 19,
subdomains: 'abcd',
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> &copy; <a href="http://cartodb.com/attributions">CartoDB</a>'
});
var map = new L.Map('map', {
layers: [base],
center: new L.LatLng(48.5, -4.5),
zoom: 5,
fullscreenControl: true,
fullscreenControlOptions: { // optional
title:"Show me the fullscreen !",
titleCancel:"Exit fullscreen mode"
}
});
// detect fullscreen toggling
map.on('enterFullscreen', function(){
if(window.console) window.console.log('enterFullscreen');
});
map.on('exitFullscreen', function(){
if(window.console) window.console.log('exitFullscreen');
});
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Leaflet.Control.FullScreen Demo</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" />
<style type="text/css">
#map { width: 700px; height: 433px; }
.fullscreen-icon { background-image: url(icon-fullscreen.png); }
/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
#map:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
</style>
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>
<script src="Control.FullScreen.js"></script>
</head>
<body>
<div id="map"></div>
<script>
var base = new L.TileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
maxZoom: 19,
subdomains: 'abcd',
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> &copy; <a href="http://cartodb.com/attributions">CartoDB</a>'
});
var map = new L.Map('map', {
layers: [base],
center: new L.LatLng(48.5, -4.5),
zoom: 5,
fullscreenControl: true,
fullscreenControlOptions: { // optional
title:"Show me the fullscreen !",
titleCancel:"Exit fullscreen mode"
}
});
// detect fullscreen toggling
map.on('enterFullscreen', function(){
if(window.console) window.console.log('enterFullscreen');
});
map.on('exitFullscreen', function(){
if(window.console) window.console.log('exitFullscreen');
});
</script>
</body>
</html>

View File

@ -1,25 +1,25 @@
{
"name": "leaflet.fullscreen",
"version": "1.4.5",
"description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
"main": "Control.FullScreen.js",
"scripts": {
"test": "eslint --config .eslintrc Control.FullScreen.js"
},
"repository": {
"type": "git",
"url": "git://github.com/brunob/leaflet.fullscreen.git"
},
"keywords": [
"leaflet",
"plugins",
"maps",
"fullscreen"
],
"devDependencies": {
"eslint": "2.3.0"
},
"author": "b_b",
"license": "MIT License",
"readmeFilename": "README.md"
}
{
"name": "leaflet.fullscreen",
"version": "1.4.5",
"description": "Simple plugin for Leaflet that adds fullscreen button to your maps.",
"main": "Control.FullScreen.js",
"scripts": {
"test": "eslint --config .eslintrc Control.FullScreen.js"
},
"repository": {
"type": "git",
"url": "git://github.com/brunob/leaflet.fullscreen.git"
},
"keywords": [
"leaflet",
"plugins",
"maps",
"fullscreen"
],
"devDependencies": {
"eslint": "2.3.0"
},
"author": "b_b",
"license": "MIT License",
"readmeFilename": "README.md"
}

File diff suppressed because it is too large Load Diff

View File

@ -1,62 +0,0 @@
/**
* This file contains the style definitions for the admin area
*
* Content:
* --------
* 1. Over the Tabs
* 2. Tab: Tracks
* 3. Tab: Settings
* 4. Tab: Help
*/
/**
* 1.0 Over the Tabs
*/
/**
* 2.0 Tab: Tracks
*/
/**
* 3.0 Tab: Settings
*/
.wpgpxmaps-container-tab-settings {
display: block;
padding: 5px 20px 1px 20px;
}
/**
* 4.0 Tab: Tracks
*/
.wpgpxmaps-container-tab-faq {
display: block;
padding: 5px 20px 1px 20px;
}
.wpgpxmaps-tab-faq {
display: block;
padding: 5px 20px 10px 20px;
}
.wpgpxmaps-container-tab-faq table.widefat {
margin-bottom: 10px;
border-bottom: none;
border-radius: 6px;
}
.wpgpxmaps-container-tab-faq table.widefat tbody tr:hover {
background:#eeeeee;
}
.wpgpxmaps-container-tab-faq table.widefat th,
.wpgpxmaps-container-tab-faq table.widefat td {
padding: 4px 10px;
}
.wpgpxmaps-container-tab-faq table.widefat thead tr th {
font-size: 14px;
}
.wpgpxmaps-container-tab-faq table.widefat td {
width: 200px;
}

52583
assets/dist/WP-GPX-Maps.es.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/dist/WP-GPX-Maps.es.js.map vendored Normal file

File diff suppressed because one or more lines are too long

2433
assets/dist/WP-GPX-Maps.umd.js vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/dist/WP-GPX-Maps.umd.js.map vendored Normal file

File diff suppressed because one or more lines are too long

1
assets/dist/style.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@ -1 +0,0 @@
<svg height="512pt" viewBox="0 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m452 122c-27.601562 0-50 22.402344-50 50v280h100v-280c0-27.609375-22.390625-50-50-50zm0 0" fill="#ececf1"/><path d="m60 122c-27.601562 0-50 22.402344-50 50v280h100c0-10.460938 0-266.328125 0-280 0-27.609375-22.390625-50-50-50zm0 0" fill="#ececf1"/><path d="m260 322h142c0-54.882812 0-108.527344 0-120h-268s91.441406 87.089844 126 120zm0 0" fill="#7fe881"/><path d="m110 262v190c0-27.609375-22.390625-50-50-50s-50 22.390625-50 50c0 29.078125 25.246094 50 52.851562 50h47.148438l126-120zm0 0" fill="#76e2f8"/><path d="m465.320312 403.71875c-33.359374-8.617188-63.320312 16.332031-63.320312 48.28125 0-7.824219 0-35.589844 0-70h-86l-120 120h256c27.621094 0 50-22.378906 50-50 0-24.109375-16.308594-43.019531-36.679688-48.28125zm0 0" fill="#76e2f8"/><path d="m402 322v60h-86l-120 120h-86l126-120-126-120v-60h24s91.441406 87.089844 126 120zm0 0" fill="#fed2a4"/><path d="m256 10c49.710938 0 90 40.289062 90 90 0 24.488281-21.828125 66.089844-43.988281 102-22.832031 37.019531-46.011719 68-46.011719 68s-23.179688-30.980469-46.011719-68c-22.160156-35.910156-43.988281-77.511719-43.988281-102 0-49.710938 40.289062-90 90-90zm0 0" fill="#ff637b"/><path d="m256 60c22.058594 0 40 17.941406 40 40s-17.941406 40-40 40-40-17.941406-40-40 17.941406-40 40-40zm0 0" fill="#ececf1"/><path d="m452 112c-33.144531 0-60 26.847656-60 60v20h-72.3125c24.097656-41.210938 36.3125-72.117188 36.3125-92 0-55.140625-44.859375-100-100-100s-100 44.859375-100 100c0 19.882812 12.214844 50.792969 36.3125 92-8.117188 0-65.292969 0-72.3125 0v-20c0-33.085938-26.914062-60-60-60-33.144531 0-60 26.847656-60 60v56c0 5.523438 4.476562 10 10 10s10-4.476562 10-10v-56c0-22.09375 17.902344-40 40-40 22.054688 0 40 17.945312 40 40v235.316406c-10.621094-9.519531-24.648438-15.316406-40-15.316406-15.355469 0-29.375 5.804688-40 15.328125v-99.328125c0-5.523438-4.476562-10-10-10s-10 4.476562-10 10v144c0 34.308594 29.617188 60 62.851562 60h389.148438c33.085938 0 60-26.914062 60-60v-280c0-33.085938-26.914062-60-60-60zm-40 60c0-22.09375 17.902344-40 40-40 22.054688 0 40 17.945312 40 40v235.042969c-6.875-6.121094-15.152344-10.675781-24.179688-13.003907-20.042968-5.183593-40.664062-.304687-55.820312 13.230469 0-8.550781 0-223.265625 0-235.269531zm-20 140h-128c-33.511719-31.910156-97.515625-92.871094-104.996094-100h45.429688c21.832031 34.875 43.335937 63.691406 43.558594 63.992188 1.890624 2.523437 4.855468 4.007812 8.007812 4.007812s6.117188-1.484375 8.007812-4.007812c.222657-.300782 21.730469-29.117188 43.558594-63.992188h84.433594zm-136-292c44.113281 0 80 35.886719 80 80 0 37.128906-58.570312 122.988281-80 152.988281-21.765625-30.476562-80-116.199219-80-152.988281 0-44.113281 35.886719-80 80-80zm-236 432c0-22.054688 17.945312-40 40-40s40 17.945312 40 40c0 5.523438 4.476562 10 10 10s10-4.476562 10-10v-166.667969l101.5 96.667969-115.5 110h-43.148438c-22.425781 0-42.851562-16.761719-42.851562-40zm222.894531-62.757812c1.984375-1.890626 3.105469-4.507813 3.105469-7.242188s-1.121094-5.355469-3.105469-7.242188l-122.894531-117.042968v-45.714844h10c.683594.652344 118.339844 112.707031 123.105469 117.242188 1.859375 1.769531 4.328125 2.757812 6.894531 2.757812h132v40h-76c-2.652344 0-5.195312 1.054688-7.070312 2.929688l-117.074219 117.070312h-56.855469zm209.105469 102.757812h-231.855469l100-100h71.855469v60c0 5.523438 4.476562 10 10 10s10-4.476562 10-10c0-25.863281 24.21875-45.46875 50.820312-38.597656 16.238282 4.195312 29.179688 19.191406 29.179688 38.597656 0 22.054688-17.945312 40-40 40zm0 0"/><path d="m256 150c27.570312 0 50-22.429688 50-50s-22.429688-50-50-50-50 22.429688-50 50 22.429688 50 50 50zm0-80c16.542969 0 30 13.457031 30 30s-13.457031 30-30 30-30-13.457031-30-30 13.457031-30 30-30zm0 0"/><path d="m10 278c5.519531 0 10-4.480469 10-10s-4.480469-10-10-10-10 4.480469-10 10 4.480469 10 10 10zm0 0"/></svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

102
assets/src/@types/types.ts Normal file
View File

@ -0,0 +1,102 @@
interface Waypoint {
lat: number;
lon: number;
sym?: string;
type?: string;
img?: string;
name?: string;
desc?: string;
}
interface Params {
targetId: string;
mapType: string;
mapData: any[];
graphDist: any[];
graphEle: any[];
graphSpeed: any[];
graphHr: any[];
graphAtemp: any[];
graphCad: any[];
graphGrade: any[];
waypoints: Waypoint[];
unit: string;
unitspeed: string;
color1: string[];
color2: string;
color3: string;
color4: string;
color5: string;
color6: string;
color7: string;
chartFrom1: string;
chartTo1: string;
chartFrom2: string;
chartTo2: string;
startIcon: string;
waypointIcon: string;
endIcon: string;
currentIcon: string;
zoomOnScrollWheel: string;
langs: any;
pluginUrl: string;
usegpsposition: string;
currentpositioncon: string;
TFApiKey: string;
MapBoxApiKey: string;
MapBoxMapType: string;
MapBoxMapCustomType: string;
MapBox3dTerrain: boolean;
MapBoxFog: boolean;
}
interface LangTranslation {
altitude: string,
currentPosition: string,
speed: string,
grade: string,
heartRate: string,
atemp: string,
cadence: string,
goFullScreen: string,
exitFullFcreen: string,
hideImages: string,
showImages: string,
backToCenter: string
}
interface ChartUom {
suf: string;
dec: number;
}
interface ChartLabels {
label_x: ChartUom;
label_y: ChartUom;
}
type LatLng = [number, number];
interface MapEngine<T> {
map: T | null;
Bounds: Array<number[]> | null;
EventSelectChart: null | Function;
init(targetElement: HTMLElement, mapType: string, scrollWheelZoom: boolean, ApiKey: string | null | undefined, otherParams: any): void;
AppPolylines(mapData: Array<[number, number] | null>, colors: string[], currentIcon: string | null, startIcon: string | null, endIcon: string | null): void;
AddWaypoints(waypoints: any, waypointIcon: string | null): void;
MoveMarkerToPosition(LatLon: [number, number], updateChart: boolean): void;
SetCurrentGPSPosition(LatLon: [number, number], currentpositioncon: string, lng: LangTranslation): void;
AddPhotos(photos: any[]): void;
CenterMap(): void;
}

30
assets/src/Utils/Utils.ts Normal file
View File

@ -0,0 +1,30 @@
export const WPGPXMAPS = {
Utils: {
DividePolylinesPoints(mapData: any[]): any[] {
let lastCut = 0;
const result: any[] = [];
const _len = mapData.length;
for (let i = 0; i < _len; i++) {
if (mapData[i] === null) {
result.push(mapData.slice(lastCut === 0 ? 0 : lastCut + 1, i));
lastCut = i;
}
}
if ((_len - 1) !== lastCut) {
result.push(mapData.slice(lastCut));
}
return result;
},
GetItemFromArray(arr: Array<[number,number]|null>, index: number): [number,number] | null {
try {
return arr[index];
} catch (e) {
return [0, 0];
}
}
},
};

877
assets/src/WP-GPX-Maps.ts Normal file
View File

@ -0,0 +1,877 @@
/*
Plugin Name: WP-GPX-Maps
Plugin URI: http://www.devfarm.it/
Description: Draws a gpx track with altitude graph
Version: 1.6.02
Author: Bastianon Massimo
Author URI: http://www.devfarm.it/
*/
import './../../css/admin-style.css';
import './../../css/bootstrap-table.css';
import './../../css/wp-gpx-maps-output.css';
import { ActiveElement, Chart, ScaleOptions, LinearScale, ChartConfiguration, registerables, ActiveDataPoint } from 'chart.js'
import { WPGPXMAPS } from './Utils/Utils';
import { LeafletMapEngine } from './maps-engines/LeafletMapEngine';
import { MapBoxMapEngine } from './maps-engines/MapBoxMapEngine';
const wpgpxmaps_FEET_MILES = "1";
const wpgpxmaps_METERS_KILOMETERS = "2";
const wpgpxmaps_METERS_NAUTICALMILES = "3";
const wpgpxmaps_METER_MILES = "4";
const wpgpxmaps_FEET_NAUTICALMILES = "5";
const wpgpxmaps_MINUTES_PER_100METERS = "6";
const wpgpxmaps_KNOTS = "5";
const wpgpxmaps_MINUTES_PER_MILES = "4";
const wpgpxmaps_MINUTES_PER_KM = "3";
const wpgpxmaps_MILES_PER_HOURS = "2";
const wpgpxmaps_KM_PER_HOURS = "1";
export class WPGPXMaps {
private params: Params;
public map : MapEngine<any>|null = null;
public myChart: Chart|null = null;
constructor(params: Params) {
this.params = params;
this.init();
}
private init() {
let {
targetId,
mapType,
mapData,
graphDist,
graphEle,
graphSpeed,
graphHr,
graphAtemp,
graphCad,
graphGrade,
waypoints,
unit,
unitspeed,
color1,
color2,
color3,
color4,
color5,
color6,
color7,
chartFrom1,
chartTo1,
chartFrom2,
chartTo2,
startIcon,
waypointIcon,
endIcon,
currentIcon,
zoomOnScrollWheel,
langs,
pluginUrl,
usegpsposition,
currentpositioncon,
TFApiKey,
} = this.params;
var _formats: ChartLabels[] = [];
/* Unit of measure settings. */
var l_s: ChartUom = { suf: '', dec: 0 };
var label_x: ChartUom = { suf: '', dec: 0 };
var label_y: ChartUom = { suf: '', dec: 0 };
var l_grade: ChartUom = { suf: '%', dec: 1 };
var l_hr: ChartUom = { suf: '', dec: 0 };
var l_cad: ChartUom = { suf: '', dec: 0 };
var el = document.getElementById('wpgpxmaps_' + targetId);
var el_map = document.getElementById('map_' + targetId);
var el_chart = document.getElementById('chart_' + targetId);
var el_report = document.getElementById('report_' + targetId);
var el_osm_credits = document.getElementById('wpgpxmaps_' + targetId + '_osm_footer');
if (el_map == null)
return;
let _this = this;
if (this.params.MapBoxApiKey && this.params.MapBoxApiKey.length>20)
{
this.map = new MapBoxMapEngine();
}
else
{
this.map = new LeafletMapEngine();
}
//map.lng = lng;
this.map.init(
el_map,
mapType,
('true' == zoomOnScrollWheel),
TFApiKey,
this.params
);
this.map.EventSelectChart = function (LatLon: LatLng) {
if (_this.myChart) {
var l1 = LatLon[0];
var l2 = LatLon[1];
var ci = _this.getClosestIndex(mapData, l1, l2);
var activeElements: any[] = [];
var seriesLen = (_this.myChart as any)._metasets.length;
for (var i = 0; i < seriesLen; i++) {
activeElements.push(((_this.myChart as any)._metasets[i] as any).data[ci]);
}
if (activeElements.length > 0) {
let _active = _this.myChart.tooltip?.getActiveElements();
if (_active == undefined || _active.length == 0) {
_this.myChart.tooltip?.setActiveElements([{
datasetIndex: 0,
index: ci,
}], {
x: activeElements[0].x,
y: activeElements[0].y
});
}
(_this.myChart.tooltip as any).setActiveElements(activeElements);
//(_this.myChart.tooltip as any).draw();
_this.myChart.draw();
}
}
};
// var bounds = new google.maps.LatLngBounds();
if ('true' == usegpsposition) {
/* Try HTML5 geolocation. */
if (navigator.geolocation) {
navigator.geolocation.watchPosition(function (position) {
var radius = position.coords.accuracy / 2;
/* User position. */
var pos = [position.coords.latitude, position.coords.longitude];
this.map.SetCurrentGPSPosition([pos[0], pos[1]], currentpositioncon, langs);
},
function (e) {
// Some errors.
},
{
enableHighAccuracy: false,
timeout: 5000,
maximumAge: 0
});
}
}
/* Print WayPoints. */
if (waypoints != null && waypoints.length > 0) {
this.map.AddWaypoints(waypoints, waypointIcon);
}
/* Print Images. */
let nggEl = document.getElementById("ngimages_" + targetId);
nggEl?.setAttribute("style", "display:block;position:absolute;left:-50000px");
var nggImages = nggEl?.querySelectorAll("span");
if (nggImages && nggImages.length > 0) {
var photos = [];
for (var i = 0; i < nggImages.length; i++) {
var ngg_span = nggImages[i];
var ngg_span_a = ngg_span.children[0];
var pos = [
Number(ngg_span.getAttribute('lat')),
Number(ngg_span.getAttribute('lon'))
];
this.map.Bounds.push(pos);
photos.push({
'lat': pos[0],
'lng': pos[1],
'name': ngg_span_a.children[0].getAttribute('alt'),
'image_id': ngg_span_a.getAttribute('data-image-id'),
'url': ngg_span_a.getAttribute('href'),
'thumbnail': ngg_span_a.children[0].getAttribute('src')
});
}
if (photos.length > 0) {
this.map.AddPhotos(photos);
/*
var showHideImagesCustomControl = L.Control.extend({
options: {
position: 'topleft'
//control position - allowed: 'topleft', 'topright', 'bottomleft', 'bottomright'
},
onAdd: function (map) {
var container = document.createElement('img');
container.class= "leaflet-bar leaflet-control leaflet-control-custom"
container.style.backgroundColor = 'white';
container.style.width = '30px';
container.style.height = '30px';
container.src = pluginUrl + "/wp-gpx-maps/img/hideImages.png";
container.style.cursor = 'pointer';
container.title = lng.hideImages;
container.onclick = function(){
var isImagesHidden = (controlUIhi.isImagesHidden == true);
var mapDiv = map.getDiv();
var center = map.getCenter();
if (isImagesHidden)
{
for (var i=0; i<ngImageMarkers.length; i++) {
ngImageMarkers[i].setMap(map);
}
controlUIhi.src = pluginUrl + "/wp-gpx-maps/img/hideImages.png";
controlUIhi.title = lng.hideImages;
}
else
{
for (var i=0; i<ngImageMarkers.length; i++) {
ngImageMarkers[i].setMap(null);
}
controlUIhi.src = pluginUrl + "/wp-gpx-maps/img/showImages.png";
controlUIhi.title = lng.showImages;
}
controlUIhi.isImagesHidden = !isImagesHidden;
return false;
}
return container;
},
});
map.map.addControl(new showHideImagesCustomControl());
*/
}
}
/*
// Nextgen Pro Lightbox FIX
var _xx = jQuery("#ngimages_" + targetId + " .nextgen_pro_lightbox");
if (_xx.length > 0)
{
var rnd1 = Math.random().toString(36).substring(7);
var rnd2 = Math.random().toString(36).substring(7);
//get first gallery without images
for (var _temp in galleries) {
var _gal = galleries[_temp];
if (_gal.source == "random_images" && _gal.wpgpxmaps != true )
{
_gal.source == "galleries";
_gal.wpgpxmaps = true;
_transient_id = _temp.replace("gallery_","")
_gal["entity_ids"] = [];
_gal["image_ids"] = [];
_gal["gallery_ids"] = [96];
for (var i=0;i<_xx.length;i++)
{
var __xx = jQuery(_xx[i]);
__xx.attr("data-nplmodal-gallery-id", _transient_id);
_gal["image_ids"].push(__xx.attr("data-image-id"));
}
break;
}
}
}
*/
/* Print Track. */
if (mapData) {
this.map.AppPolylines(mapData, color1, currentIcon, startIcon, endIcon);
}
/*
map.setCenter(bounds.getCenter());
map.fitBounds(bounds);
*/
var contextMap = this.map;
// Fix post tabs. */
let _tab: HTMLElement | null = null;
let _p = el?.parentElement;
while (_p != null) {
if (_p.classList.contains("wordpress-post-tabs") && _p.classList.contains("tab-pane")) {
_tab = _p;
break;
}
_p = _p.parentElement;
}
if (_tab) {
var tabResized = false;
var FixMapSize = function (e: any) {
setTimeout(function (e: any) {
// google.maps.event.trigger(map, 'resize');
contextMap.map?.invalidateSize();
contextMap.CenterMap();
tabResized = true;
}, 300);
};
document.querySelector(".wpsm_nav-tabs a")?.addEventListener("click", FixMapSize, false);
_tab.querySelector("div > ul > li > a")?.addEventListener("click", FixMapSize, false);
}
var graphh = el_chart?.style.height;
if (graphDist && (graphEle || graphSpeed || graphHr || graphAtemp || graphCad) && graphh != '0px') {
var valLen = graphDist.length;
if (wpgpxmaps_FEET_MILES == unit) {
/* feet / miles */
label_x = { suf: 'mi', dec: 1 };
label_y = { suf: 'ft', dec: 0 };
} else if (wpgpxmaps_METERS_KILOMETERS == unit) {
/* meters / kilometers */
label_x = { suf: 'km', dec: 1 };
label_y = { suf: 'm', dec: 2 };
} else if (wpgpxmaps_METERS_NAUTICALMILES == unit) {
/* meters / nautical miles */
label_x = { suf: 'NM', dec: 1 };
label_y = { suf: 'm', dec: 0 };
} else if (wpgpxmaps_METER_MILES == unit) {
/* meters / miles */
label_x = { suf: 'mi', dec: 1 };
label_y = { suf: 'm', dec: 0 };
} else if (wpgpxmaps_FEET_NAUTICALMILES == unit) {
/* feet / nautical miles */
label_x = { suf: 'NM', dec: 1 };
label_y = { suf: 'ft', dec: 0 };
} else {
/* meters / meters */
label_x = { suf: 'm', dec: 0 };
label_y = { suf: 'm', dec: 0 };
}
var nn = 1111.1;
var _nn = nn.toLocaleString();
var _nnLen = _nn.length;
var decPoint = _nn.substring(_nnLen - 2, _nnLen - 1);
var thousandsSep = _nn.substring(1, 2);
if ('1' == decPoint)
decPoint = '.';
if ('1' == thousandsSep)
thousandsSep = '';
// trik per caricare tutti imoduli di chart.js
Chart.register(...registerables);
/* Define the options. */
var hoptions: ChartConfiguration = {
type: 'line',
data: {
datasets: []
},
//borderWidth: 1,
options: {
animation: {
// duration: 0,
// general animation time
},
hover: {
// animationDuration: 0,
// duration of animations when hovering an item
},
interaction: {
intersect: false,
mode: 'index',
},
// responsiveAnimationDuration: 0,
// animation duration after a resize
//customLine: {
// color: 'gray'
//},
scales: {
xAxe: {
type: 'linear',
min: 0,
max: graphDist[graphDist.length - 1],
ticks: {
/* Include a dollar sign in the ticks. */
callback: function (value, index, values) {
return parseFloat(value + "").toFixed(label_x.dec) + label_x.suf;
}
}
}
},
plugins: {
tooltip: {
position: 'average',
mode: 'index',
intersect: false,
callbacks: {
title: function (tooltipItems) {
/* Return value for title: */
var label_x = _formats[0].label_x;
var x_pos = tooltipItems[0].element.x as number;
var x_dec = label_x.dec;
var x_unit = label_x.suf;
return x_pos.toFixed(x_dec) + x_unit;
},
label: function (tooltipItem) {
/* Format list values: */
var label = tooltipItem.label || '';
var label_y = _formats[tooltipItem.datasetIndex].label_y;
var y_dec = label_y.dec;
var y_unit = label_y.suf;
var y_pos = tooltipItem.element.y as number;
if (label) {
label += ': ';
}
label += y_pos.toFixed(y_dec) + y_unit;
return label;
},
footer: function (tooltipItem: any) {
/* Move the point in map. */
var i = tooltipItem[0].dataIndex;
var point = WPGPXMAPS.Utils.GetItemFromArray(mapData, i);
if (point)
contextMap.MoveMarkerToPosition(point, false);
}
}
},
/*
decimation: {
beforeEvent: function (chart, args, options) {
if ((args.event.type === 'mousemove' && args.event.x)
&& (args.event.x >= chart.chartArea.left)
&& (args.event.x <= chart.chartArea.right)
) {
chart.options.customLine.x = args.event.x;
}
},
afterDraw: function (chart, args, opt) {
var ctx = chart.ctx;
var chartArea = chart.chartArea;
var x = chart.options.customLine.x;
if (!isNaN(x)) {
ctx.save();
ctx.strokeStyle = chart.options.customLine.color;
ctx.moveTo(chart.options.customLine.x, chartArea.bottom);
ctx.lineTo(chart.options.customLine.x, chartArea.top);
ctx.stroke();
ctx.restore();
}
}
}
*/
},
},
//labels: graphDist
};
let yAxeCount = 1;
if (graphEle && graphEle.length > 0) {
var myData = this.mergeArrayForChart(graphDist, graphEle);
let _min: number, _max: number
if (chartFrom1 != '') {
_min = parseFloat(chartFrom1);
//yaxe.startOnTick = false;
} else {
_min = myData.Min;
}
if (chartTo1 != '') {
_max = parseFloat(chartTo1);
//yaxe.endOnTick = false;
} else {
_max = myData.Max;
}
var _id = 'yaxis' + yAxeCount++;
var yaxe: ScaleOptions = {
type: 'linear',
max: _max,
min: _min,
ticks: {
callback(tickValue, index, ticks) {
return parseFloat(tickValue + "").toFixed(label_y.dec) + label_y.suf;
}
},
};
(hoptions.options?.scales as any)[_id] = yaxe;
_formats.push({ "label_x": label_x, "label_y": label_y });
hoptions.data.datasets.push(this.wpgpxmapsGetDataset(langs.altitude, myData.Items, color2, _id));
}
if (graphSpeed && graphSpeed.length > 0) {
if (wpgpxmaps_MINUTES_PER_100METERS == unitspeed) {
/* min/100 meters */
l_s = { suf: 'min/100m', dec: 2 };
} else if (wpgpxmaps_KNOTS == unitspeed) {
/* knots */
l_s = { suf: 'knots', dec: 2 };
} else if (wpgpxmaps_MINUTES_PER_MILES == unitspeed) {
/* min/miles */
l_s = { suf: 'min/mi', dec: 2 };
} else if (wpgpxmaps_MINUTES_PER_KM == unitspeed) {
/* min/km */
l_s = { suf: 'min/km', dec: 2 };
} else if (wpgpxmaps_MILES_PER_HOURS == unitspeed) {
/* miles/h */
l_s = { suf: 'mi/h', dec: 0 };
} else if (wpgpxmaps_KM_PER_HOURS == unitspeed) {
/* km/h */
l_s = { suf: 'km/h', dec: 0 };
} else {
/* dafault m/s */
l_s = { suf: 'm/s', dec: 0 };
}
var myData = this.mergeArrayForChart(graphDist, graphSpeed);
let yaxe: ScaleOptions = {
type: 'linear',
ticks: {
/* Include a dollar sign in the ticks. */
callback(tickValue, index, ticks) {
return parseFloat(tickValue + "").toFixed(l_s.dec) + l_s.suf;
}
},
position: 'right',
//scalePositionLeft: false,
};
if (chartFrom2 != '') {
yaxe.min = parseFloat(chartFrom2);
//yaxe.startOnTick = false;
} else {
yaxe.min = myData.Min;
}
if (chartTo2 != '') {
yaxe.max = parseFloat(chartTo2);
//yaxe.endOnTick = false;
} else {
yaxe.max = myData.Max;
}
_formats.push( { label_x: _formats[0].label_x , label_y : l_s});
var _id = 'yaxis' + yAxeCount++;
(hoptions.options?.scales as any)[_id] = yaxe;
hoptions.data.datasets.push(this.wpgpxmapsGetDataset(langs.speed, myData.Items, color3, _id));
}
if (graphHr && graphHr.length > 0) {
var myData = this.mergeArrayForChart(graphDist, graphHr);
var yaxe: ScaleOptions = {
type: 'linear',
ticks: {
/* Include a dollar sign in the ticks. */
callback(tickValue, index, ticks) {
return parseFloat(tickValue + "").toFixed(l_hr.dec) + l_hr.suf;
}
},
position: 'right',
//scalePositionLeft: false,
};
var _id = 'yaxis' + yAxeCount++;
(hoptions.options?.scales as any)[_id] = yaxe;
hoptions.data.datasets.push(this.wpgpxmapsGetDataset(langs.heartRate, myData.Items, color4, _id));
_formats.push( { label_x: _formats[0].label_x , label_y : l_hr});
}
if (graphAtemp && graphAtemp.length > 0) {
var myData = this.mergeArrayForChart(graphDist, graphAtemp);
var yaxe: ScaleOptions = {
type: 'linear',
ticks: {
/* Include a dollar sign in the ticks. */
callback(tickValue, index, ticks) {
return parseFloat(tickValue + "").toFixed(1) + "°C";
}
},
position: 'right',
//scalePositionLeft: false,
};
var _id = 'yaxis' + yAxeCount++;
(hoptions.options?.scales as any)[_id] = yaxe;
hoptions.data.datasets.push(this.wpgpxmapsGetDataset(langs.atemp, myData.Items, color7, _id));
_formats.push( { label_x: _formats[0].label_x , label_y : { suf: '°C', dec: 1 }});
}
if (graphCad && graphCad.length > 0) {
var myData = this.mergeArrayForChart(graphDist, graphCad, true);
var yaxe: ScaleOptions = {
type: 'linear',
ticks: {
// Include a dollar sign in the ticks.
callback(tickValue, index, ticks) {
return parseFloat(tickValue + "").toFixed(l_cad.dec) + l_cad.suf;
}
},
position: 'right',
//scalePositionLeft: false,
};
var _id = 'yaxis' + yAxeCount++;
(hoptions.options?.scales as any)[_id] = yaxe;
hoptions.data.datasets.push(this.wpgpxmapsGetDataset(langs.cadence, myData.Items, color5, _id));
_formats.push( { label_x: _formats[0].label_x , label_y : l_cad});
}
if (graphGrade && graphGrade.length > 0) {
var myData = this.mergeArrayForChart(graphDist, graphGrade);
var yaxe : ScaleOptions = {
type: 'linear',
ticks: {
// Include a dollar sign in the ticks.
callback: function (value, index, values) {
return parseFloat(value+"").toFixed(l_grade.dec) + l_grade.suf;
}
},
position: 'right',
//scalePositionLeft: false,
};
_formats.push( { label_x: _formats[0].label_x , label_y : l_grade});
var _id = 'yaxis' + yAxeCount++;
(hoptions.options?.scales as any)[_id] = yaxe;
hoptions.data.datasets.push(this.wpgpxmapsGetDataset(langs.grade, myData.Items, color6, _id));
}
var ctx = (document.getElementById('myChart_' + targetId) as HTMLCanvasElement)?.getContext('2d');
if (ctx)
this.myChart = new Chart(ctx, hoptions);
} else {
el_chart?.style.setProperty("display", "none");
}
return this;
};
private mergeArrayForChart(distArr: any[], dataArr: any[], setZerosAsNull?: boolean) {
const l = distArr.length;
const items = new Array(l);
let min = 10000;
let max = -10000;
for (let i = 0; i < l; i++) {
if (distArr[i] != null) {
let _item = dataArr[i];
if (setZerosAsNull === true && _item === 0) {
_item = null;
}
items[i] = {
x: distArr[i],
y: _item
};
if (_item > max) max = _item;
if (_item < min) min = _item;
}
}
return {
Items: items,
Min: min,
Max: max
};
}
private wpgpxmapsGetDataset(name: string, data: any[], color: string, id: string) {
return {
label: name,
data: data,
borderColor: color,
backgroundColor: this.hexToRgbA(color, 0.3),
pointRadius: 0,
borderWidth: 1,
pointHoverRadius: 1,
yAxisID: id
};
}
private hexToRgbA(hex: string, a: number) {
let c: any;
if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {
c = hex.substring(1).split('');
if (c.length == 3) {
c = [c[0], c[0], c[1], c[1], c[2], c[2]];
}
c = '0x' + c.join('');
return 'rgba(' + [(c >> 16) & 255, (c >> 8) & 255, c & 255].join(',') + ',' + a + ')';
}
throw new Error('Bad Hex');
}
private getItemFromArray(arr: any[], index: number) {
try {
return arr[index];
} catch (e) {
return [0, 0];
}
}
private getClosestIndex(points: any[], lat: number, lon: number) {
let dd = 10000;
let ii = 0;
for (let i = 0; i < points.length; i++) {
if (points[i] === null) continue;
const d = this.wpgpxmapsDist(points[i][0], points[i][1], lat, lon);
if (d < dd) {
ii = i;
dd = d;
}
}
return ii;
}
private getClosestImage(lat: number, lon: number, targetId: string) {
let dd = 10000;
let img;
const divImages = document.getElementById("ngimages_" + targetId);
if (divImages == null)
return;
const img_spans = divImages.getElementsByTagName("span");
for (let i = 0; i < img_spans.length; i++) {
let imageLat = img_spans[i].getAttribute('lat');
let imageLon = img_spans[i].getAttribute('lon');
if (imageLat == null || imageLon == null)
return;
imageLat = imageLat.replace(",", ".");
imageLon = imageLon.replace(",", ".");
const d = this.wpgpxmapsDist(parseFloat(imageLat), parseFloat(imageLon), lat, lon);
if (d < dd) {
img = img_spans[i];
dd = d;
}
}
return img;
}
private isNumeric(input: string) {
const RE = /^-{0,1}\d*\.{0,1}\d+$/;
return RE.test(input);
}
private wpgpxmapsDist(lat1: number, lon1: number, lat2: number, lon2: number) {
const dLat = (lat2 - lat1);
const dLon = (lon2 - lon1);
return Math.sqrt(dLat * dLat + dLon * dLon);
}
}

View File

@ -0,0 +1,601 @@
import L, { Layer, Map, Marker, Polyline, Polygon } from 'leaflet';
import 'leaflet.fullscreen/Control.FullScreen.js';
import 'leaflet.fullscreen';
import 'leaflet.markercluster';
import { WPGPXMAPS } from '../Utils/Utils';
import 'leaflet.markercluster/dist/MarkerCluster.css';
import 'leaflet/dist/leaflet.css';
import 'leaflet.fullscreen/Control.FullScreen.css';
class ClusterPhotos {
map: Map | null = null;
shownLayer: Layer | null = null;
polygon: Polygon | null = null;
markers: any | null = null;
options: {
icon: {
iconSize: [40, 40],
},
};
constructor(map: Map) {
this.map = map;
//Custom radius and icon create function
this.markers = (L as any).markerClusterGroup({
maxClusterRadius: 120,
iconCreateFunction: function (cluster) {
return new L.DivIcon(
L.extend(
{
className: "leaflet-marker-photo",
html:
'<div style="background-image: url(' +
cluster.getAllChildMarkers()[0].photo.thumbnail +
');"></div><b>' +
cluster.getChildCount() +
"</b>",
},
this.icon
)
);
},
//Disable all of the defaults:
spiderfyOnMaxZoom: false, showCoverageOnHover: false, zoomToBoundsOnClick: false
});
this.markers.on('click', function (evt: any) {
var photo = evt.layer.photo;
var template = '<img src="{url}" /></a><p>{name}</p>';
evt.layer.bindPopup(L.Util.template(template, photo), {
minWidth: 'auto'
}).openPopup();
});
this.markers.on('clustermouseover', function (a) {
this.removePolygon();
a.layer.setOpacity(0.2);
this.shownLayer = a.layer;
this.polygon = L.polygon(a.layer.getConvexHull());
this.map.addLayer(this.polygon);
});
this.markers.on('clustermouseout', this.removePolygon);
this.map.on('zoomend', this.removePolygon);
this.map.addLayer(this.markers);
}
populate(images: any[]) {
for (const photo of images) {
var m = L.marker(L.latLng(photo.lat, photo.lng), {
icon: L.divIcon(
L.extend(
{
html:
'<div style="background-image: url(' +
photo.thumbnail +
');"></div>',
className: "leaflet-marker-photo",
},
photo,
{
iconSize: [40, 40],
}
)
),
title: photo.caption || "",
});
this.markers.addLayer(m);
}
return false;
}
private removePolygon() {
if (this.shownLayer) {
(this.shownLayer as any).setOpacity(1);
this.shownLayer = null;
}
if (this.polygon) {
this.map.removeLayer(this.polygon);
this.polygon = null;
}
};
}
export class LeafletMapEngine implements MapEngine<Map> {
Bounds: Array<number[]> = [];
lng: LangTranslation | null = null;
map: Map | null = null;
EventSelectChart: null | Function = null;
Polylines: Array<Polyline> = [];
CurrentPositionMarker: Marker | null = null;
CurrentGPSPositionMarker: Marker | null = null;
constructor() {
}
init(targetElement: HTMLElement, mapType: string, scrollWheelZoom: boolean, ThunderforestApiKey: string | null | undefined, otherParams: any): void {
this.map = L.map(targetElement,
{
scrollWheelZoom: scrollWheelZoom
}
);
// create fullscreen control.
var fsControl = new (L as any).Control.FullScreen();
// Add fullscreen control to the map.
this.map.addControl(fsControl);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(this.map);
var hasThunderforestApiKey = (ThunderforestApiKey + '').length > 0;
var baseMaps: any = {};
var overlayMaps = {};
var defaultMpaLayer = null;
if (hasThunderforestApiKey) {
/* Map type: Thunderforest - OpenCycleMap with API key */
baseMaps['Thunderforest - Cycle'] = L.tileLayer('https://a.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey=' + ThunderforestApiKey, {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.thunderforest.com/">Thunderforest</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
} else {
/* Map type: Open Cycle Map - Cycle */
baseMaps['Open Cycle Map'] = L.tileLayer('http://a.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.thunderforest.com/">Thunderforest</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
}
/* Map type: Thunderforest - Outdoors with API key */
baseMaps['Thunderforest - Outdoors'] = L.tileLayer('https://a.tile.thunderforest.com/outddors/{z}/{x}/{y}.png?apikey=' + ThunderforestApiKey, {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.thunderforest.com/">Thunderforest</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
/* Map type: Thunderforest - Transport with API key */
baseMaps['Thunderforest - Transport'] = L.tileLayer('https://a.tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=' + ThunderforestApiKey, {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.thunderforest.com/">Thunderforest</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
/* Map type: Thunderforest - Landscape with API key */
baseMaps['Thunderforest - Landscape'] = L.tileLayer('https://a.tile.thunderforest.com/landscape/{z}/{x}/{y}.png?apikey=' + ThunderforestApiKey, {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.thunderforest.com/">Thunderforest</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
/* Map type: Open Street Map */
baseMaps['Open Street Map'] = L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
///* Map type: MapToolKit - Terrain */
//baseMaps['MapToolKit - Terrain'] = L.tileLayer( 'https://tile2.maptoolkit.net/terrain/{z}/{x}/{y}.png', {
// maxZoom: 18,
// attribution: 'Maps &copy; <a href="https://www.maptoolkit.net/">Maptoolkit</a> contributors, ' +
// '<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
// 'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
//});
/* Map type: Open Street Map - Humanitarian Map Style */
baseMaps['Humanitarian Map Style'] = L.tileLayer('https://a.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
/*
Map type: Open Ski Map
baseMaps['Open Ski Map'] = L.tileLayer( 'http://tiles.skimap.org/openskimap/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data &copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
});
*/
/* Map type: Hike & Bike */
baseMaps['Hike & Bike'] = L.tileLayer('http://toolserver.org/tiles/hikebike/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://hikebikemap.org/">Hike & Bike Map</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
/* Map type: Open Sea Map */
baseMaps['Open Sea Map'] = L.tileLayer('http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Maps &copy; <a href="https://www.openseamap.org/">OpenSeaMap</a> contributors, ' +
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
baseMaps['GSI Map (Japan)'] = L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '&copy; <a href="https://maps.gsi.go.jp/development/ichiran.html" target="_blank">国土地理院</a>, ' +
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>'
});
switch (mapType) {
/* Map type: Open Street Map */
case 'OSM1': {
baseMaps['Open Street Map'].addTo(this.map);
break;
}
/* Map type: Thunderforest - Open Cycle Maps with API key */
case 'OSM2': {
baseMaps['Thunderforest - Cycle'].addTo(this.map);
break;
}
/* Map type: Thunderforest - Outdoors with API key */
case 'OSM3': {
baseMaps['Thunderforest - Outdoors'].addTo(this.map);
break;
}
/* Map type: Thunderforest - Landscape with API key */
case 'OSM4': {
baseMaps['Thunderforest - Transport'].addTo(this.map);
break;
}
/* Map type: Thunderforest - Landscape with API key */
case 'OSM5': {
baseMaps['Thunderforest - Landscape'].addTo(this.map);
break;
}
///* Map type: MapToolKit - Terrain */
//case 'OSM6': {
// baseMaps['MapToolKit - Terrain'].addTo( this.map );
// break;
//}
/* Map type: Open Street Map - Humanitarian Map Style*/
case 'OSM7': {
baseMaps['Humanitarian Map Style'].addTo(this.map);
break;
}
/*
Map type: Open Ski Map
case 'OSM8': {
baseMaps['Open Ski Map'].addTo( this.map );
break;
}
*/
/* Map type: Hike & Bike */
case 'OSM9': {
baseMaps['Hike & Bike'].addTo(this.map);
break;
}
/* Map type: Open Sea Map */
case 'OSM10': {
baseMaps['Open Sea Map'].addTo(this.map);
break;
}
case 'OSM11': {
baseMaps['GSI Map (Japan)'].addTo(this.map);
break;
}
/* Map type: Open Street Map */
default: {
baseMaps['Open Street Map'].addTo(this.map);
}
}
L.control.layers(baseMaps, overlayMaps).addTo(this.map);
}
AppPolylines(mapData: Array<[number, number] | null>, colors: string[], currentIcon: string | null, startIcon: string | null, endIcon: string | null): void {
if (null == this.map) {
return;
}
var first = WPGPXMAPS.Utils.GetItemFromArray(mapData, 0);
if (null == first) {
return;
}
if ('' == currentIcon || null == currentIcon) {
currentIcon = 'https://maps.google.com/mapfiles/kml/pal4/icon25.png';
}
var CurrentPositionMarker = L.marker(L.latLng(first), {
icon: L.icon({
iconUrl: currentIcon,
iconSize: [32, 32], // Size of the icon.
iconAnchor: [16, 16] // Point of the icon which will correspond to marker's location.
}),
title: this.lng?.currentPosition
});
CurrentPositionMarker.addTo(this.map);
this.CurrentPositionMarker = CurrentPositionMarker;
var pointsArray = WPGPXMAPS.Utils.DividePolylinesPoints(mapData);
var lng = this.lng;
var EventSelectChart = this.EventSelectChart;
this.Bounds = mapData.filter(o => o != null);
this.CenterMap();
for (let i = 0; i < pointsArray.length; i++) {
let color = '';
if (i < colors.length) {
color = colors[i];
} else {
color = colors[colors.length - 1];
}
try {
let polyline = L.polyline(pointsArray[i], { color: color }).addTo(this.map);
this.Polylines.push(polyline);
let context = this;
this.Polylines[i].on('mousemove', function (e: any) {
context.MoveMarkerToPosition([e.latlng.lat, e.latlng.lng], true);
});
} catch (err) {
}
}
if (startIcon != '') {
let ll = mapData[0];
if (ll != null) {
let startMarker = L.marker(L.latLng(ll), {
icon: L.icon({
iconUrl: startIcon + "",
iconSize: [32, 32], // Size of the icon.
iconAnchor: [16, 16] // Point of the icon which will correspond to marker's location.
}),
title: 'Start'
});
startMarker.addTo(this.map);
}
}
if (endIcon != '' && mapData[mapData.length - 1] != null) {
let ll = mapData[mapData.length - 1];
if (ll != null) {
var endMarker = L.marker(L.latLng(ll), {
icon: L.icon({
iconUrl: endIcon + "",
iconSize: [32, 32], // size of the icon
iconAnchor: [16, 16] // point of the icon which will correspond to marker's location
}),
title: 'End'
});
endMarker.addTo(this.map);
}
}
}
SetCurrentGPSPosition(pos: [number, number], currentpositioncon: string, lng: LangTranslation): void {
if (null == this.CurrentGPSPositionMarker) {
if ('' == currentpositioncon) {
currentpositioncon = 'https://maps.google.com/mapfiles/kml/pal4/icon25.png';
}
if (this.map != null) {
this.CurrentGPSPositionMarker = L.marker(pos, {
icon: L.icon({
iconUrl: currentpositioncon,
iconSize: [32, 32], // Size of the icon.
iconAnchor: [16, 16] // Point of the icon which will correspond to marker's location.
})
})
.addTo(this.map)
.bindPopup(lng.currentPosition)
.openPopup();
}
} else {
this.CurrentGPSPositionMarker.setLatLng(pos);
}
this.Bounds.push(pos);
this.CenterMap();
}
AddWaypoints(waypoints: any, waypointIcon: string | null): void {
var icon = L.icon({
iconUrl: 'https://maps.google.com/mapfiles/ms/micons/flag.png',
iconSize: [32, 32], // Size of the icon.
iconAnchor: [16, 16] // Point of the icon which will correspond to marker's location.
});
if (waypointIcon != '') {
icon = L.icon({
iconUrl: 'waypointIcon',
iconSize: [32, 32], // Size of the icon.
iconAnchor: [16, 16] // Point of the icon which will correspond to marker's location.
});
}
for (let i = 0; i < waypoints.length; i++) {
var wpt = waypoints[i];
this.Bounds.push([wpt.lat, wpt.lon]);
var lat = wpt.lat;
var lon = wpt.lon;
var sym = wpt.sym;
var typ = wpt.type;
if (wpt.img) {
(icon as any).iconUrl = wpt.img + "";
//wsh = '';
}
var marker = L.marker([lat, lon], { icon: icon });
var cnt = '';
if (wpt.name == '') {
cnt = "<div>" + unescape(wpt.desc) + "</div>";
} else {
cnt = "<div><b>" + wpt.name + "</b><br />" + unescape(wpt.desc) + "</div>";
}
cnt += "<br /><p><a href='https://maps.google.com?daddr=" + lat + "," + lon + "' target='_blank'>Itin&eacute;raire</a></p>";
if (this.map != null)
marker.addTo(this.map).bindPopup(cnt);
}
this.CenterMap();
}
MoveMarkerToPosition(LatLon: [number, number], updateChart: boolean): void {
if (null == this.CurrentPositionMarker)
return;
this.CurrentPositionMarker.setLatLng(LatLon);
if (this.lng)
this.CurrentPositionMarker.setTooltipContent(this.lng.currentPosition);
//this.CurrentPositionMarker.title = this.lng.currentPosition;
if (true == updateChart && this.EventSelectChart)
this.EventSelectChart(LatLon);
}
CenterMap(): void {
try {
if (this.Bounds && this.Bounds.length > 0) {
let bounds = {
minLat: Number.POSITIVE_INFINITY,
maxLat: Number.NEGATIVE_INFINITY,
minLng: Number.POSITIVE_INFINITY,
maxLng: Number.NEGATIVE_INFINITY
};
this.Bounds.forEach(coord => {
if (!Array.isArray(coord) || coord.length !== 2) {
throw new Error("Each coordinate must be an array with [latitude, longitude].");
}
const [lat, lng] = coord;
bounds.minLat = Math.min(bounds.minLat, lat);
bounds.maxLat = Math.max(bounds.maxLat, lat);
bounds.minLng = Math.min(bounds.minLng, lng);
bounds.maxLng = Math.max(bounds.maxLng, lng);
});
var southWest = new L.LatLng(bounds.minLat, bounds.minLng),
northEast = new L.LatLng(bounds.maxLat, bounds.maxLng);
this.map?.fitBounds(new L.LatLngBounds(southWest, northEast));
}
} catch (error) {
console.log(error);
}
}
AddPhotos(photos: any[]): void {
for (const photo of photos) {
let m = L.marker(photo, {
icon: L.divIcon(
L.extend(
{
html:
'<div style="background-image: url(' +
photo.thumbnail +
');"></div>',
className: "leaflet-marker-photo",
},
photo,
{
iconSize: [40, 40],
}
)
),
title: photo.caption || "",
});
m.bindPopup('<img src="' + photo.url + '" /></a><p>' + photo.name + '</p>', { minWidth: 500 });
m.addTo(this.map);
//this.map.addLayer(m);
}
//new ClusterPhotos(this.map).populate(photos)
}
}
export default LeafletMapEngine;

View File

@ -0,0 +1,458 @@
import { WPGPXMAPS } from '../Utils/Utils';
import { MapboxStyleDefinition, MapboxStyleSwitcherOptions, MapboxStyleSwitcherControl } from "mapbox-gl-style-switcher";
import mapboxgl, { ControlPosition, GeoJSONSource, IControl, LngLatBounds, Map, Marker } from 'mapbox-gl';
import * as turf from '@turf/turf';
import 'mapbox-gl/dist/mapbox-gl.css';
import "mapbox-gl-style-switcher/styles.css";
class AnumationControl implements IControl {
container: HTMLElement;
start: number = 0.0;
animationDuration: number = 80000;
cameraAltitude: number = 1000;
targetRoute: Array<number[]> = [];
cameraRoute: Array<number[]> = [];
map: Map;
iconDefault: string = '/wp-content/plugins/wp-gpx-maps/img/map-play-svgrepo-com.svg';
iconStop: string = '/wp-content/plugins/wp-gpx-maps/img/stop-svgrepo-com.svg';
routeDistance: number = 0.0;
cameraRouteDistance: number = 0.0;
isPlaying: boolean = false;
onAdd(map: Map): HTMLElement {
this.map = map;
this.container = document.createElement('div');
this.container.className = 'mapboxgl-ctrl mapboxgl-ctrl-group mapboxgl-wp-gpx-maps';
this.container.innerHTML = `<button style='background-image: url(${this.iconDefault});'>&nbsp;</div>`;
this.container.onclick = () => {
// Your custom logic here
if (this.isPlaying == false) {
this.isPlaying = true;
this._playAnimation();
}
else {
this.isPlaying = false;
}
};
return this.container;
}
_animationFrame(time) {
if (this.isPlaying == false) {
this.start = 0.0;
return;
}
if (!this.start) this.start = time;
// phase determines how far through the animation we are
const phase = (time - this.start) / this.animationDuration;
// phase is normalized between 0 and 1
// when the animation is finished, reset start to loop the animation
if (phase > 1) {
// wait 1.5 seconds before looping
setTimeout(() => {
this.start = 0.0;
}, 1500);
}
// use the phase to get a point that is the appropriate distance along the route
// this approach syncs the camera and route positions ensuring they move
// at roughly equal rates even if they don't contain the same number of points
const alongRoute = turf.along(
turf.lineString(this.targetRoute),
this.routeDistance * phase
).geometry.coordinates;
const alongCamera = turf.along(
turf.lineString(this.cameraRoute),
this.cameraRouteDistance * phase
).geometry.coordinates;
const camera = this.map.getFreeCameraOptions();
// set the position and altitude of the camera
camera.position = mapboxgl.MercatorCoordinate.fromLngLat(
{
lng: alongCamera[0],
lat: alongCamera[1]
},
this.cameraAltitude
);
// tell the camera to look at a point along the route
camera.lookAtPoint({
lng: alongRoute[0],
lat: alongRoute[1]
});
this.map.setFreeCameraOptions(camera);
window.requestAnimationFrame((time) => this._animationFrame(time));
}
_stopAnimation() {
}
_playAnimation() {
this.cameraRouteDistance = turf.lineDistance(
turf.lineString(this.cameraRoute)
);
this.routeDistance = turf.lineDistance(
turf.lineString(this.targetRoute)
);
window.requestAnimationFrame((time) => this._animationFrame(time));
}
onRemove(map: Map) {
this.container.remove();
}
getDefaultPosition?: () => ControlPosition;
_setLanguage?: (language?: string | string[]) => void;
}
export class MapBoxMapEngine implements MapEngine<Map> {
map: Map;
Bounds: Array<number[]> = [];
EventSelectChart: null | Function = null;
CurrentLocationMarker: mapboxgl.Marker | null = null;
animationControl: AnumationControl | null = null;
otherParams: any;
animateLineOptions: any = {
SpeedFactor: 30, // number of frames per longitude degree
Animation: null, // to store and cancel the animation
StartTime: 0,
Progress: 0, // progress = timestamp - startTime
ResetTime: false // indicator of whether time reset is needed for the animation
}
init(targetElement: HTMLElement, mapType: string, scrollWheelZoom: boolean, MapBoxApiKey: string | null | undefined, otherParams: any): void {
this.otherParams = otherParams;
this.map = new mapboxgl.Map({
container: targetElement,
style: 'mapbox://styles/mapbox/streets-v11',
accessToken: "pk.eyJ1Ijoic2VjdXJjdWJlbWF4IiwiYSI6ImNsbW94MzRodjE4YjEya3BuM3liZXl6MXYifQ.db3c6nnAcFwFm5jD2NCg6w", // MapBoxApiKey ??
center: [0, 0],
zoom: 1,
scrollZoom: scrollWheelZoom
});
this.animationControl = new AnumationControl();
this.map.addControl(new mapboxgl.NavigationControl());
this.map.addControl(new mapboxgl.FullscreenControl());
const styles: MapboxStyleDefinition[] = [
{ uri: 'mapbox://styles/mapbox/standard', title: 'Standard' },
{ uri: 'mapbox://styles/mapbox/standard-satellite', title: 'Standard Satelite' },
{ uri: 'mapbox://styles/mapbox/streets-v12', title: 'Streets' },
{ uri: 'mapbox://styles/mapbox/outdoors-v12', title: 'Outdoors' },
{ uri: 'mapbox://styles/mapbox/light-v11', title: 'Light' },
{ uri: 'mapbox://styles/mapbox/dark-v11', title: 'Dark' },
{ uri: 'mapbox://styles/mapbox/satellite-v9', title: 'Satellite' },
{ uri: 'mapbox://styles/mapbox/satellite-streets-v12', title: 'Satellite Streets' },
{ uri: 'mapbox://styles/mapbox/navigation-day-v1', title: 'Navigation Day' },
{ uri: 'mapbox://styles/mapbox/navigation-night-v1', title: 'Navigation Night' }
];
// Pass options (optional)
const options: MapboxStyleSwitcherOptions = {
defaultStyle: "Satellite Streets",
eventListeners: {
// return true if you want to stop execution
// onOpen: (event: MouseEvent) => boolean;
// onSelect: (event: MouseEvent) => boolean;
// onChange: (event: MouseEvent, style: string) => boolean;
}
};
this.map.addControl(new MapboxStyleSwitcherControl() as IControl, 'top-left');
this.map.addControl(this.animationControl);
this.map.on('style.load', async () => {
if (otherParams.MapBoxFog) {
// Add daytime fog
this.map.setFog({
'range': [-1, 2],
'horizon-blend': 0.3,
'color': 'white',
'high-color': '#add8e6',
'space-color': '#d8f2ff',
'star-intensity': 0.0
});
}
if (otherParams.MapBox3dTerrain) {
// 3d terrain
this.map.addSource('mapbox-dem', {
'type': 'raster-dem',
'url': 'mapbox://mapbox.mapbox-terrain-dem-v1',
'tileSize': 512,
'maxzoom': 14
});
// add the DEM source as a terrain layer with exaggerated height
this.map.setTerrain({ 'source': 'mapbox-dem', 'exaggeration': 1.5 });
}
});
}
_addMarker(ll: [number, number], icon: string | null, popup: Function | null): Marker {
// Create a DOM element for each marker.
const el = document.createElement('div');
const width = 32;
const height = 32;
el.className = 'marker';
el.style.backgroundImage = `url(${icon})`;
el.style.width = `${width}px`;
el.style.height = `${height}px`;
el.style.backgroundSize = '100%';
el.addEventListener('click', (e) => {
popup?.call(this, e);
});
return new mapboxgl.Marker(el).setLngLat([ll[1], ll[0]]).addTo(this.map);
}
AppPolylines(mapData: Array<[number, number] | null>, colors: string[], currentIcon: string | null, startIcon: string | null, endIcon: string | null): void {
this.Bounds = mapData.filter(o => o != null);
this.map.on('style.load', async () => {
const pointsArray = WPGPXMAPS.Utils.DividePolylinesPoints(mapData);
const LngLatRute = this.Bounds.map((point) => [point[1], point[0]]);
this.animationControl.cameraRoute = LngLatRute;
this.animationControl.targetRoute = LngLatRute;
this.map.addSource('route', {
'type': 'geojson',
'data': {
'type': 'FeatureCollection',
'features': pointsArray.map((points, i) => {
return ({
'type': 'Feature',
'properties': {
color: (i < colors.length ? colors[i] : colors[colors.length - 1])
},
'geometry': {
'type': 'LineString',
'coordinates': points.map((point) => [point[1], point[0]])
}
});
})
}
});
this.map.addLayer({
'id': 'route',
'type': 'line',
'source': 'route',
'layout': {
'line-join': 'round',
'line-cap': 'round'
},
'paint': {
'line-color': ['get', 'color'],
'line-width': 3
}
});
if ('' == currentIcon || null == currentIcon) {
currentIcon = 'https://maps.google.com/mapfiles/kml/pal4/icon25.png';
}
this.CurrentLocationMarker = this._addMarker(mapData[0], currentIcon, (e) => {
});
if (startIcon != '') {
let ll = mapData[0];
if (ll != null) {
this._addMarker(ll, startIcon, null);
}
}
if (endIcon != '' && mapData[mapData.length - 1] != null) {
let ll = mapData[mapData.length - 1];
if (ll != null) {
this._addMarker(ll, endIcon, null);
}
}
this.CenterMap();
if (this.otherParams.MapBoxAnimateOnLoading == '1') {
this.animateLineOptions.StartTime = performance.now();
this.animateLine();
}
});
}
AddWaypoints(waypoints: any, waypointIcon: string | null): void {
//throw new Error('Method not implemented.');
}
MoveMarkerToPosition(LatLon: [number, number], updateChart: boolean): void {
this.CurrentLocationMarker?.setLngLat([LatLon[1], LatLon[0]]);
//throw new Error('Method not implemented.');
}
SetCurrentGPSPosition(LatLon: [number, number], currentpositioncon: string, lng: LangTranslation): void {
///throw new Error('Method not implemented.');
}
CenterMap(): void {
try {
if (this.Bounds && this.Bounds.length > 0) {
let bounds = {
minLat: Number.POSITIVE_INFINITY,
maxLat: Number.NEGATIVE_INFINITY,
minLng: Number.POSITIVE_INFINITY,
maxLng: Number.NEGATIVE_INFINITY
};
this.Bounds.forEach(coord => {
if (!Array.isArray(coord) || coord.length !== 2) {
throw new Error("Each coordinate must be an array with [latitude, longitude].");
}
const [lat, lng] = coord;
bounds.minLat = Math.min(bounds.minLat, lat);
bounds.maxLat = Math.max(bounds.maxLat, lat);
bounds.minLng = Math.min(bounds.minLng, lng);
bounds.maxLng = Math.max(bounds.maxLng, lng);
});
const sw = new mapboxgl.LngLat(bounds.minLng, bounds.minLat);
const ne = new mapboxgl.LngLat(bounds.maxLng, bounds.maxLat);
this.map?.fitBounds(new mapboxgl.LngLatBounds(sw, ne), { padding: 30, animate: false });
}
} catch (error) {
console.log(error);
}
//throw new Error('Method not implemented.');
}
AddPhotos(photos: any[]): void {
const width = 40;
const height = 40;
for (const photo of photos) {
let _m = this._addMarker([photo.lat, photo.lng], photo.thumbnail, (e) => {
let _selector = `a[data-image-id='${photo.image_id}']`;
let galleryEl = document.querySelector(_selector);
(galleryEl as HTMLAnchorElement)?.click()
});
_m._element.classList.add('wp-gpx-maps-photo-marker');
_m._element.style.width = `${width}px`;
_m._element.style.height = `${height}px`;
//_m.setPopup(new mapboxgl.Popup({ maxWidth: "900px"}).setHTML(`<img src='${photo.url}' alt='${photo.name}' />`));
}
//new ClusterPhotos(this.map).populate(photos)
}
// animated in a circle as a sine wave along the map.
animateLine(timestamp: number | null = null) {
if (timestamp == null) {
// fist call
var geojson = (this.map.getSource('route') as GeoJSONSource)._data;
this.animateLineOptions.ruteJeoJson = geojson;
this.animateLineOptions.ruteCoordinates = (geojson as any).features[0].geometry.coordinates;
(geojson as any).features[0].geometry.coordinates = [];
}
if (this.animateLineOptions.ResetTime) {
// resume previous progress
this.animateLineOptions.sta = performance.now() - this.animateLineOptions.Progress;
this.animateLineOptions.ResetTime = false;
} else {
this.animateLineOptions.Progress = timestamp - this.animateLineOptions.StartTime;
}
if (this.animateLineOptions.Progress < 0)
this.animateLineOptions.Progress = 0;
// restart if it finishes a loop
if (this.animateLineOptions.Progress > this.animateLineOptions.SpeedFactor * 360) {
this.animateLineOptions.startTime = timestamp;
// stop the animation
return;
} else {
let len = this.animateLineOptions.ruteCoordinates.length;
let slice = Math.floor(len * this.animateLineOptions.Progress / (this.animateLineOptions.SpeedFactor * 360));
this.animateLineOptions.ruteJeoJson.features[0].geometry.coordinates =
this.animateLineOptions.ruteCoordinates.slice(0, slice);
// then update the map
var s = (this.map.getSource('route') as GeoJSONSource).setData(this.animateLineOptions.ruteJeoJson);
}
// Request the next frame of the animation.
this.animateLineOptions.animation = requestAnimationFrame((time) => this.animateLine(time));
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,33 +0,0 @@
{
"name": "leaflet.fullscreen",
"version": "1.4.5",
"homepage": "https://github.com/brunob/leaflet.fullscreen",
"license": "MIT",
"authors": [
"brunob <brunobergot@gmail.com>"
],
"description": "Leaflet.Control.FullScreen for Leaflet",
"main": [
"Control.FullScreen.js",
"Control.FullScreen.css",
"icon-fullscreen.png",
"icon-fullscreen-2x.png"
],
"devDependencies": {
"eslint": "2.3.0"
},
"keywords": [
"leaflet",
"plugins",
"maps",
"fullscreen"
],
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests",
"index.html"
]
}

View File

@ -1,84 +1,108 @@
/**
* This file contains the style definitions for the admin area
*
* Content:
* --------
* 1. Over the Tabs
* 2. Tab: Tracks
* 3. Tab: Settings
* 4. Tab: Help
*
*/
/**
* 1.0 Over the Tabs
*/
/**
* 2.0 Tab: Tracks
*/
#table tbody tr:hover {
background: #eee;
}
/**
* 3.0 Tab: Settings
*/
.wpgpxmaps-container-tab-settings {
display: block;
padding: 5px 20px 1px 20px;
}
.wpgpxmaps-container-tab-settings table.form-table input[type="checkbox"] {
margin-top: -4px;
margin-right: 4px;
}
.wpgpxmaps-container-tab-settings table.form-table input[type="radio"] {
margin-right: 4px;
}
.wpgpxmaps-container-tab-settings table.form-table input[type="text"] {
margin-right: 4px;
}
/**
* 4.0 Tab: Tracks
*/
.wpgpxmaps-container-tab-faq {
display: block;
padding: 5px 20px 1px 20px;
}
.wpgpxmaps-tab-faq {
display: block;
padding: 5px 20px 10px 20px;
}
.wpgpxmaps-container-tab-faq table.widefat {
margin-bottom: 10px;
border-bottom: none;
border-radius: 6px;
}
.wpgpxmaps-container-tab-faq table.widefat thead th.title {
font-weight: 650;
}
.wpgpxmaps-container-tab-faq table.widefat td {
width: 200px;
}
.wpgpxmaps-container-tab-faq table.widefat th,
.wpgpxmaps-container-tab-faq table.widefat td {
padding: 4px 10px;
}
.wpgpxmaps-container-tab-faq table.widefat tbody tr:hover {
background: #eee;
}
.wpgpxmaps-container-tab-faq table.widefat thead th {
font-size: 14px;
}
/**
* This file contains the style definitions for the admin area
*
* Content:
* --------
* 1. Admin Body
* 2. Over The Tabs
* 3. Tab: Tracks
* 3. Tab: Settings
* 4. Tab: Help
*
*/
/**
* 1.0 Admin Body
*/
/**
* 2.0 Over The Tabs
*/
h1.header-title {
padding-top:15px;
padding-left: 10px;
}
/**
* 3.0 Tab: Tracks
*/
.tablenav-top {
clear: both;
height: 30px;
margin-top: 10px;
margin-bottom: 4px;
margin-left: 10px;
padding-bottom: 10px;
}
#table tbody tr:hover {
background: #eee;
}
/**
* 4.0 Tab: Settings
*/
.wpgpxmaps-container-tab-settings {
display: block;
padding: 5px 10px 1px 10px;
}
.wpgpxmaps-container-tab-settings table.form-table input[type="checkbox"] {
margin-top: -4px;
margin-right: 4px;
}
.wpgpxmaps-container-tab-settings table.form-table input[type="radio"] {
margin-right: 4px;
}
.wpgpxmaps-container-tab-settings table.form-table input[type="text"] {
margin-right: 4px;
}
/**
* 5.0 Tab: Administration
*/
/**
* 6.0 Tab: Help
*/
.wpgpxmaps-container-tab-faq {
display: block;
padding: 5px 10px 1px 10px;
}
.wpgpxmaps-tab-faq {
display: block;
padding: 5px 10px 10px 10px;
}
.wpgpxmaps-container-tab-faq table.widefat {
margin-bottom: 10px;
border-bottom: none;
border-radius: 6px;
}
.wpgpxmaps-container-tab-faq table.widefat thead th.title {
font-weight: 650;
}
.wpgpxmaps-container-tab-faq table.widefat td {
width: 200px;
}
.wpgpxmaps-container-tab-faq table.widefat th,
.wpgpxmaps-container-tab-faq table.widefat td {
padding: 4px 10px;
}
.wpgpxmaps-container-tab-faq table.widefat tbody tr:hover {
background: #eee;
}
.wpgpxmaps-container-tab-faq table.widefat thead th {
font-size: 14px;
}

View File

@ -1,337 +1,339 @@
/**
* @author zhixin wen <wenzhixin2010@gmail.com>
* version: 1.13.2
* https://github.com/wenzhixin/bootstrap-table/
*/
.bootstrap-table .table {
margin-bottom: 0 !important;
border-bottom: 1px solid #dddddd;
border-collapse: collapse !important;
border-radius: 1px;
}
.bootstrap-table .table:not(.table-condensed),
.bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > th,
.bootstrap-table .table:not(.table-condensed) > thead > tr > td,
.bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
padding: 8px;
}
.bootstrap-table .table.table-no-bordered > thead > tr > th {
border-top: none;
}
.bootstrap-table .table.table-no-bordered > thead > tr > th,
.bootstrap-table .table.table-no-bordered > tbody > tr > td {
border-right: 2px solid transparent;
}
.bootstrap-table .table.table-no-bordered > tbody > tr > td:last-child {
border-right: none;
}
.fixed-table-container {
position: relative;
clear: both;
border: 1px solid #dddddd;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
}
.fixed-table-container.table-no-bordered {
border: 1px solid transparent;
}
.fixed-table-footer,
.fixed-table-header {
overflow: hidden;
}
.fixed-table-footer {
border-top: 1px solid #dddddd;
}
.fixed-table-body {
overflow-x: auto;
overflow-y: auto;
height: 100%;
}
.fixed-table-container table {
width: 100%;
}
.fixed-table-container thead th {
height: 0;
padding: 0;
margin: 0;
border-left: 1px solid #dddddd;
}
.fixed-table-container thead th:focus {
outline: 0 solid transparent;
}
.fixed-table-container thead th:first-child:not([data-not-first-th]) {
border-left: none;
border-top-left-radius: 4px;
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.fixed-table-container thead th .th-inner,
.fixed-table-container tbody td .th-inner {
padding: 8px;
line-height: 24px;
vertical-align: top;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.fixed-table-container thead th .sortable {
cursor: pointer;
background-position: right;
background-repeat: no-repeat;
padding-right: 30px;
}
.fixed-table-container thead th .both {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
}
.fixed-table-container thead th .asc {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
}
.fixed-table-container thead th .desc {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ');
}
.fixed-table-container th.detail {
width: 30px;
}
.fixed-table-container tbody td {
border-left: 1px solid #dddddd;
}
.fixed-table-container tbody tr:first-child td {
border-top: none;
}
.fixed-table-container tbody td:first-child {
border-left: none;
}
/* the same color with .active */
.fixed-table-container tbody .selected td {
background-color: #f5f5f5;
}
.fixed-table-container .bs-checkbox {
text-align: center;
}
.fixed-table-container input[type="radio"],
.fixed-table-container input[type="checkbox"] {
margin: 0 auto !important;
}
.fixed-table-container .no-records-found {
text-align: center;
}
.fixed-table-pagination div.pagination,
.fixed-table-pagination .pagination-detail {
margin-top: 10px;
margin-bottom: 10px;
}
.fixed-table-pagination div.pagination .pagination {
margin: 0;
}
.fixed-table-pagination .pagination a {
padding: 6px 12px;
line-height: 1.428571429;
}
.fixed-table-pagination ul.pagination li.page-intermediate a {
color:#c8c8c8;
}
.fixed-table-pagination ul.pagination li.page-intermediate a:before {
content: '\2B05';
}
.fixed-table-pagination ul.pagination li.page-intermediate a:after {
content: '\27A1';
}
.fixed-table-pagination .pagination-info {
line-height: 34px;
margin-right: 5px;
}
.fixed-table-pagination .btn-group {
position: relative;
display: inline-block;
vertical-align: middle;
}
.fixed-table-pagination .dropup .dropdown-menu {
margin-bottom: 0;
}
.fixed-table-pagination .page-list {
display: inline-block;
}
.fixed-table-toolbar .columns-left {
margin-right: 5px;
}
.fixed-table-toolbar .columns-right {
margin-left: 5px;
}
.fixed-table-toolbar .columns label {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 1.428571429;
}
.fixed-table-toolbar .bs-bars,
.fixed-table-toolbar .search,
.fixed-table-toolbar .columns {
position: relative;
margin-top: 10px;
margin-bottom: 10px;
}
.fixed-table-pagination li.disabled a {
pointer-events: none;
cursor: default;
}
.fixed-table-loading {
display: none;
position: absolute;
top: 42px;
right: 0;
bottom: 0;
left: 0;
z-index: 99;
background-color: #fff;
text-align: center;
}
.fixed-table-body .card-view .title {
font-weight: bold;
display: inline-block;
min-width: 30%;
text-align: left !important;
}
/* support bootstrap 2 */
.fixed-table-body thead th .th-inner {
box-sizing: border-box;
}
.table th, .table td {
vertical-align: middle;
box-sizing: border-box;
}
.fixed-table-toolbar .dropdown-menu {
text-align: left;
max-height: 300px;
overflow: auto;
}
.fixed-table-toolbar .btn-group > .btn-group {
display: inline-block;
margin-left: -1px !important;
}
.fixed-table-toolbar .btn-group > .btn-group > .btn {
border-radius: 0;
}
.fixed-table-toolbar .btn-group > .btn-group:first-child > .btn {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.fixed-table-toolbar .btn-group > .btn-group:last-child > .btn {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.bootstrap-table .table > thead > tr > th {
vertical-align: bottom;
border-bottom: 1px solid #ddd;
}
.bootstrap-table .table > thead.thead-dark > tr > th {
border-bottom: 1px solid #212529;
}
/* support bootstrap 3 */
.bootstrap-table .table thead > tr > th {
padding: 0;
margin: 0;
}
.bootstrap-table .fixed-table-footer tbody > tr > td {
padding: 0 !important;
}
.bootstrap-table .fixed-table-footer .table {
border-bottom: none;
border-radius: 0;
padding: 0 !important;
}
.bootstrap-table .pull-right .dropdown-menu {
right: 0;
left: auto;
}
/* calculate scrollbar width */
p.fixed-table-scroll-inner {
width: 100%;
height: 200px;
}
div.fixed-table-scroll-outer {
top: 0;
left: 0;
visibility: hidden;
width: 200px;
height: 150px;
overflow: hidden;
}
/* for get correct heights */
.fixed-table-toolbar:after, .fixed-table-pagination:after {
content: "";
display: block;
clear: both;
}
.bootstrap-table.fullscreen {
position: fixed;
top: 0;
left: 0;
z-index: 1050;
width: 100%!important;
background: #FFF;
}
/**
* @author zhixin wen <wenzhixin2010@gmail.com>
* version: 1.13.2
* https://github.com/wenzhixin/bootstrap-table/
*/
.bootstrap-table .table {
margin-bottom: 0 !important;
border-bottom: 1px solid #ddd;
border-radius: 1px;
border-collapse: collapse !important;
}
.bootstrap-table .table:not(.table-condensed),
.bootstrap-table .table:not(.table-condensed) > tbody > tr > th,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > th,
.bootstrap-table .table:not(.table-condensed) > thead > tr > td,
.bootstrap-table .table:not(.table-condensed) > tbody > tr > td,
.bootstrap-table .table:not(.table-condensed) > tfoot > tr > td {
padding: 8px;
}
.bootstrap-table .table.table-no-bordered > thead > tr > th {
border-top: none;
}
.bootstrap-table .table.table-no-bordered > thead > tr > th,
.bootstrap-table .table.table-no-bordered > tbody > tr > td {
border-right: 2px solid transparent;
}
.bootstrap-table .table.table-no-bordered > tbody > tr > td:last-child {
border-right: none;
}
.fixed-table-container {
clear: both;
position: relative;
border: 1px solid #ddd;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.fixed-table-container.table-no-bordered {
border: 1px solid transparent;
}
.fixed-table-footer,
.fixed-table-header {
overflow: hidden;
}
.fixed-table-footer {
border-top: 1px solid #ddd;
}
.fixed-table-body {
overflow-x: auto;
overflow-y: auto;
height: 100%;
}
.fixed-table-container table {
width: 100%;
}
.fixed-table-container thead th {
height: 0;
margin: 0;
padding: 0;
border-left: 1px solid #ddd;
}
.fixed-table-container thead th:focus {
outline: 0 solid transparent;
}
.fixed-table-container thead th:first-child:not([data-not-first-th]) {
border-left: none;
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
}
.fixed-table-container thead th .th-inner,
.fixed-table-container tbody td .th-inner {
overflow: hidden;
padding: 8px;
line-height: 24px;
vertical-align: top;
white-space: nowrap;
text-overflow: ellipsis;
}
.fixed-table-container thead th .sortable {
padding-right: 30px;
background-repeat: no-repeat;
background-position: right;
cursor: pointer;
}
.fixed-table-container thead th .both {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC');
}
.fixed-table-container thead th .asc {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==');
}
.fixed-table-container thead th .desc {
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII= ');
}
.fixed-table-container th.detail {
width: 30px;
}
.fixed-table-container tbody td {
border-left: 1px solid #ddd;
}
.fixed-table-container tbody tr:first-child td {
border-top: none;
}
.fixed-table-container tbody td:first-child {
border-left: none;
}
/* the same color with .active */
.fixed-table-container tbody .selected td {
background-color: #f5f5f5;
}
.fixed-table-container .bs-checkbox {
text-align: center;
}
.fixed-table-container input[type="radio"],
.fixed-table-container input[type="checkbox"] {
margin: 0 auto !important;
}
.fixed-table-container .no-records-found {
text-align: center;
}
.fixed-table-pagination div.pagination,
.fixed-table-pagination .pagination-detail {
margin-top: 10px;
margin-bottom: 10px;
}
.fixed-table-pagination div.pagination .pagination {
margin: 0;
}
.fixed-table-pagination .pagination a {
padding: 6px 12px;
line-height: 1.428571429;
}
.fixed-table-pagination ul.pagination li.page-intermediate a {
color:#c8c8c8;
}
.fixed-table-pagination ul.pagination li.page-intermediate a:before {
content: '\2B05';
}
.fixed-table-pagination ul.pagination li.page-intermediate a:after {
content: '\27A1';
}
.fixed-table-pagination .pagination-info {
margin-right: 5px;
line-height: 34px;
}
.fixed-table-pagination .btn-group {
display: inline-block;
position: relative;
vertical-align: middle;
}
.fixed-table-pagination .dropup .dropdown-menu {
margin-bottom: 0;
}
.fixed-table-pagination .page-list {
display: inline-block;
}
.fixed-table-toolbar .columns-left {
margin-right: 5px;
}
.fixed-table-toolbar .columns-right {
margin-left: 5px;
}
.fixed-table-toolbar .columns label {
display: block;
clear: both;
padding: 3px 20px;
font-weight: 400;
line-height: 1.428571429;
}
.fixed-table-toolbar .bs-bars,
.fixed-table-toolbar .search,
.fixed-table-toolbar .columns {
position: relative;
margin-top: 10px;
margin-bottom: 10px;
}
.fixed-table-pagination li.disabled a {
cursor: default;
pointer-events: none;
}
.fixed-table-loading {
display: none;
position: absolute;
z-index: 99;
top: 42px;
right: 0;
bottom: 0;
left: 0;
background-color: #fff;
text-align: center;
}
.fixed-table-body .card-view .title {
display: inline-block;
min-width: 30%;
font-weight: 700;
text-align: left !important;
}
/* support bootstrap 2 */
.fixed-table-body thead th .th-inner {
box-sizing: border-box;
}
.table th,
.table td {
box-sizing: border-box;
vertical-align: middle;
}
.fixed-table-toolbar .dropdown-menu {
overflow: auto;
max-height: 300px;
text-align: left;
}
.fixed-table-toolbar .btn-group > .btn-group {
display: inline-block;
margin-left: -1px !important;
}
.fixed-table-toolbar .btn-group > .btn-group > .btn {
border-radius: 0;
}
.fixed-table-toolbar .btn-group > .btn-group:first-child > .btn {
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.fixed-table-toolbar .btn-group > .btn-group:last-child > .btn {
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
}
.bootstrap-table .table > thead > tr > th {
border-bottom: 1px solid #ddd;
vertical-align: bottom;
}
.bootstrap-table .table > thead.thead-dark > tr > th {
border-bottom: 1px solid #212529;
}
/* support bootstrap 3 */
.bootstrap-table .table thead > tr > th {
margin: 0;
padding: 0;
}
.bootstrap-table .fixed-table-footer tbody > tr > td {
padding: 0 !important;
}
.bootstrap-table .fixed-table-footer .table {
padding: 0 !important;
border-bottom: none;
border-radius: 0;
}
.bootstrap-table .pull-right .dropdown-menu {
right: 0;
left: auto;
}
/* calculate scrollbar width */
p.fixed-table-scroll-inner {
width: 100%;
height: 200px;
}
div.fixed-table-scroll-outer {
visibility: hidden;
overflow: hidden;
top: 0;
left: 0;
width: 200px;
height: 150px;
}
/* for get correct heights */
.fixed-table-toolbar:after,
.fixed-table-pagination:after {
display: block;
clear: both;
content: "";
}
.bootstrap-table.fullscreen {
position: fixed;
z-index: 1050;
top: 0;
left: 0;
width: 100% !important;
background: #fff;
}

File diff suppressed because one or more lines are too long

View File

@ -1,65 +1,97 @@
/**
* This file contains the style definitions for the output
*
*/
.wpgpxmaps img,
.entry-content .wpgpxmaps img,
#content .wpgpxmaps img {
width: none;
max-width: none;
margin: 0;
padding: 0;
border: none;
background: none;
}
.wpgpxmaps {
clear: both;
}
.wpgpxmaps .ngimages {
display: none;
}
.wpgpxmaps .myngimages {
position: absolute;
z-index :1;
margin:0;
border: 1px solid #fff;
cursor: pointer;
}
.wpgpxmaps_summary .summarylabel {
font-weight: 400;
}
.wpgpxmaps_summary .summaryvalue {
font-weight: 600;
}
.wpgpxmaps .report {
line-height :120;
}
.wpgpxmaps .gmnoprint div:first-child { }
.wpgpxmaps .wpgpxmaps_osm_footer {
position: absolute;
z-index: 999;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 13px;
margin: 0;
background: #fff;
font-size: 12px;
}
.wpgpxmaps .wpgpxmaps_osm_footer span {
position: absolute;
bottom: 0;
padding: 0 6px 6px 6px;
background: #fff;
vertical-align: baseline;
}
/**
* This file contains the style definitions for the output
*
*/
.wpgpxmaps img,
.entry-content .wpgpxmaps img,
#content .wpgpxmaps img {
width: none;
max-width: none;
margin: 0;
padding: 0;
border: none;
background: none;
}
.wpgpxmaps {
clear: both;
}
.wpgpxmaps .ngimages {
display: none;
}
.wpgpxmaps .myngimages {
position: absolute;
z-index :1;
margin:0;
border: 1px solid #fff;
cursor: pointer;
}
.wpgpxmaps_summary .summarylabel {
font-weight: 400;
}
.wpgpxmaps_summary .summaryvalue {
font-weight: 600;
}
.wpgpxmaps .report {
line-height :120;
}
.wpgpxmaps .wpgpxmaps_osm_footer {
position: absolute;
z-index: 999;
right: 0;
bottom: 0;
left: 0;
width: 100%;
height: 13px;
margin: 0;
background: #fff;
font-size: 12px;
}
.wpgpxmaps .wpgpxmaps_osm_footer span {
position: absolute;
bottom: 0;
padding: 0 6px 6px 6px;
background: #fff;
vertical-align: baseline;
}
.wpgpxmaps .leaflet-marker-photo {
border: 2px solid #fff;
box-shadow: 3px 3px 10px #888;
}
.wpgpxmaps .leaflet-marker-photo div {
width: 100%;
height: 100%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
}
.wpgpxmaps .leaflet-marker-photo b {
position: absolute;
top: -7px;
right: -11px;
color: #555;
background-color: #fff;
border-radius: 8px;
height: 12px;
min-width: 12px;
line-height: 12px;
text-align: center;
padding: 3px;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.mapboxgl-wp-gpx-maps{
background-size: contain;
background-repeat: no-repeat;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 B

View File

@ -1 +0,0 @@
<svg height="512pt" viewBox="0 0 512 512" width="512pt" xmlns="http://www.w3.org/2000/svg"><path d="m452 122c-27.601562 0-50 22.402344-50 50v280h100v-280c0-27.609375-22.390625-50-50-50zm0 0" fill="#ececf1"/><path d="m60 122c-27.601562 0-50 22.402344-50 50v280h100c0-10.460938 0-266.328125 0-280 0-27.609375-22.390625-50-50-50zm0 0" fill="#ececf1"/><path d="m260 322h142c0-54.882812 0-108.527344 0-120h-268s91.441406 87.089844 126 120zm0 0" fill="#7fe881"/><path d="m110 262v190c0-27.609375-22.390625-50-50-50s-50 22.390625-50 50c0 29.078125 25.246094 50 52.851562 50h47.148438l126-120zm0 0" fill="#76e2f8"/><path d="m465.320312 403.71875c-33.359374-8.617188-63.320312 16.332031-63.320312 48.28125 0-7.824219 0-35.589844 0-70h-86l-120 120h256c27.621094 0 50-22.378906 50-50 0-24.109375-16.308594-43.019531-36.679688-48.28125zm0 0" fill="#76e2f8"/><path d="m402 322v60h-86l-120 120h-86l126-120-126-120v-60h24s91.441406 87.089844 126 120zm0 0" fill="#fed2a4"/><path d="m256 10c49.710938 0 90 40.289062 90 90 0 24.488281-21.828125 66.089844-43.988281 102-22.832031 37.019531-46.011719 68-46.011719 68s-23.179688-30.980469-46.011719-68c-22.160156-35.910156-43.988281-77.511719-43.988281-102 0-49.710938 40.289062-90 90-90zm0 0" fill="#ff637b"/><path d="m256 60c22.058594 0 40 17.941406 40 40s-17.941406 40-40 40-40-17.941406-40-40 17.941406-40 40-40zm0 0" fill="#ececf1"/><path d="m452 112c-33.144531 0-60 26.847656-60 60v20h-72.3125c24.097656-41.210938 36.3125-72.117188 36.3125-92 0-55.140625-44.859375-100-100-100s-100 44.859375-100 100c0 19.882812 12.214844 50.792969 36.3125 92-8.117188 0-65.292969 0-72.3125 0v-20c0-33.085938-26.914062-60-60-60-33.144531 0-60 26.847656-60 60v56c0 5.523438 4.476562 10 10 10s10-4.476562 10-10v-56c0-22.09375 17.902344-40 40-40 22.054688 0 40 17.945312 40 40v235.316406c-10.621094-9.519531-24.648438-15.316406-40-15.316406-15.355469 0-29.375 5.804688-40 15.328125v-99.328125c0-5.523438-4.476562-10-10-10s-10 4.476562-10 10v144c0 34.308594 29.617188 60 62.851562 60h389.148438c33.085938 0 60-26.914062 60-60v-280c0-33.085938-26.914062-60-60-60zm-40 60c0-22.09375 17.902344-40 40-40 22.054688 0 40 17.945312 40 40v235.042969c-6.875-6.121094-15.152344-10.675781-24.179688-13.003907-20.042968-5.183593-40.664062-.304687-55.820312 13.230469 0-8.550781 0-223.265625 0-235.269531zm-20 140h-128c-33.511719-31.910156-97.515625-92.871094-104.996094-100h45.429688c21.832031 34.875 43.335937 63.691406 43.558594 63.992188 1.890624 2.523437 4.855468 4.007812 8.007812 4.007812s6.117188-1.484375 8.007812-4.007812c.222657-.300782 21.730469-29.117188 43.558594-63.992188h84.433594zm-136-292c44.113281 0 80 35.886719 80 80 0 37.128906-58.570312 122.988281-80 152.988281-21.765625-30.476562-80-116.199219-80-152.988281 0-44.113281 35.886719-80 80-80zm-236 432c0-22.054688 17.945312-40 40-40s40 17.945312 40 40c0 5.523438 4.476562 10 10 10s10-4.476562 10-10v-166.667969l101.5 96.667969-115.5 110h-43.148438c-22.425781 0-42.851562-16.761719-42.851562-40zm222.894531-62.757812c1.984375-1.890626 3.105469-4.507813 3.105469-7.242188s-1.121094-5.355469-3.105469-7.242188l-122.894531-117.042968v-45.714844h10c.683594.652344 118.339844 112.707031 123.105469 117.242188 1.859375 1.769531 4.328125 2.757812 6.894531 2.757812h132v40h-76c-2.652344 0-5.195312 1.054688-7.070312 2.929688l-117.074219 117.070312h-56.855469zm209.105469 102.757812h-231.855469l100-100h71.855469v60c0 5.523438 4.476562 10 10 10s10-4.476562 10-10c0-25.863281 24.21875-45.46875 50.820312-38.597656 16.238282 4.195312 29.179688 19.191406 29.179688 38.597656 0 22.054688-17.945312 40-40 40zm0 0"/><path d="m256 150c27.570312 0 50-22.429688 50-50s-22.429688-50-50-50-50 22.429688-50 50 22.429688 50 50 50zm0-80c16.542969 0 30 13.457031 30 30s-13.457031 30-30 30-30-13.457031-30-30 13.457031-30 30-30zm0 0"/><path d="m10 278c5.519531 0 10-4.480469 10-10s-4.480469-10-10-10-10 4.480469-10 10 4.480469 10 10 10zm0 0"/></svg>

Before

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--gis" preserveAspectRatio="xMidYMid meet"><path d="M65.809 5a2.5 2.5 0 0 0-1.03.232L34.166 19.453L3.553 5.233A2.5 2.5 0 0 0 0 7.5v70.29a2.5 2.5 0 0 0 1.447 2.267l31.666 14.71A2.5 2.5 0 0 0 34.19 95a2.5 2.5 0 0 0 1.032-.232l30.613-14.221l30.613 14.22A2.5 2.5 0 0 0 100 92.5V22.21a2.5 2.5 0 0 0-1.447-2.267L66.887 5.233A2.5 2.5 0 0 0 65.809 5zm1.142 5.775L95 23.805v64.777L67.322 75.725l-.37-64.95zm-2.998.354l.37 64.605l-28.677 13.323l-.369-64.606L63.953 11.13zM5 11.418l27.275 12.67l.371 64.95L5 76.192V11.418z" fill="#000000" fill-rule="evenodd"></path><path d="M50 24a26 26 0 0 0-26 26a26 26 0 0 0 26 26a26 26 0 0 0 26-26a26 26 0 0 0-26-26zm-6.979 9.502a1.526 1.5 0 0 1 1 .299l20.348 15a1.526 1.5 0 0 1 0 2.398l-20.348 15A1.526 1.5 0 0 1 41.581 65V35a1.526 1.5 0 0 1 1.44-1.498z" fill="#000000"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

6
img/stop-svgrepo-com.svg Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg">
<title>stop</title>
<path d="M5.92 24.096q0 0.832 0.576 1.408t1.44 0.608h16.128q0.832 0 1.44-0.608t0.576-1.408v-16.16q0-0.832-0.576-1.44t-1.44-0.576h-16.128q-0.832 0-1.44 0.576t-0.576 1.44v16.16z"></path>
</svg>

After

Width:  |  Height:  |  Size: 450 B

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Leaflet.Control.FullScreen Demo</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" />
<style type="text/css">
#map { width: 700px; height: 433px; }
.fullscreen-icon { background-image: url(icon-fullscreen.png); }
/* one selector per rule as explained here : http://www.sitepoint.com/html5-full-screen-api/ */
#map:-webkit-full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:-ms-fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:full-screen { width: 100% !important; height: 100% !important; z-index: 99999; }
#map:fullscreen { width: 100% !important; height: 100% !important; z-index: 99999; }
.leaflet-pseudo-fullscreen { position: fixed !important; width: 100% !important; height: 100% !important; top: 0px !important; left: 0px !important; z-index: 99999; }
</style>
<script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js"></script>
<script src="Control.FullScreen.js"></script>
</head>
<body>
<div id="map"></div>
<script>
var base = new L.TileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
maxZoom: 19,
subdomains: 'abcd',
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> &copy; <a href="http://cartodb.com/attributions">CartoDB</a>'
});
var map = new L.Map('map', {
layers: [base],
center: new L.LatLng(48.5, -4.5),
zoom: 5,
fullscreenControl: true,
fullscreenControlOptions: { // optional
title:"Show me the fullscreen !",
titleCancel:"Exit fullscreen mode"
}
});
// detect fullscreen toggling
map.on('enterFullscreen', function(){
if(window.console) window.console.log('enterFullscreen');
});
map.on('exitFullscreen', function(){
if(window.console) window.console.log('exitFullscreen');
});
</script>
</body>
</html>

14
js/Chart.min.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

6446
js/bootstrap-table.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-11-16 23:13+0200\n"
"Last-Translator: Svilen Savov <svilen@svilen.org>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.7\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Височина"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Текуща Позиция"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Скорост"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Пулс"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Ритъм"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Покажи на цял екран"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Изход от цял екран"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Скрий Снимките"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Покажи Снкмките"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Центрирай"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Обща дистанция"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Максимална височина"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Минимална височина"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Общо изкачване"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Общо спускане"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Средна скорост"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Общо Време"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Свали"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Запази Промените"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-11-16 23:13+0200\n"
"Last-Translator: Svilen Savov <svilen@svilen.org>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.7\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Височина"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Текуща Позиция"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Скорост"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Пулс"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Ритъм"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Покажи на цял екран"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Изход от цял екран"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Скрий Снимките"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Покажи Снкмките"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Центрирай"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Обща дистанция"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Максимална височина"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Минимална височина"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Общо изкачване"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Общо спускане"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Средна скорост"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Общо Време"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Свали"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Запази Промените"

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-12-14 21:43+0100\n"
"Last-Translator: edgar <forced_to_confess@yahoo.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitud"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posició actual"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocitat"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Ritme cardíac"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadència"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Anar a pantalla completa"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Sortir de pantalla completa"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Amagar imatges"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Mostrar imatges"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Centrar"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distància total"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Altitud màxima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Altitud mínima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Ascensió total"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Descens total"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocitat mitjana"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Temps total"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Descarregar"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Desar canvis"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-12-14 21:43+0100\n"
"Last-Translator: edgar <forced_to_confess@yahoo.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitud"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posició actual"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocitat"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Ritme cardíac"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadència"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Anar a pantalla completa"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Sortir de pantalla completa"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Amagar imatges"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Mostrar imatges"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Centrar"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distància total"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Altitud màxima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Altitud mínima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Ascensió total"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Descens total"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocitat mitjana"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Temps total"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Descarregar"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Desar canvis"

View File

@ -1,95 +1,95 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-21 11:14+0100\n"
"PO-Revision-Date: 2015-11-21 11:18+0100\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.8.6\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"Language: cs_CZ\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Nadmořská výška"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktuální pozice"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Rychlost"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Srdeční tep"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadence"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Zvětšit"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Zmenšit"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Skrýt obrázky"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Zobrazit obrázky"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Vycentrovat"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Celková vzdálenost"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Max. výška"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min. výška"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Celkem nastoupáno"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Celkem naklesáno"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Průměrná rychlost"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Celkový čas"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Stáhnout"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Uložit změny"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-11-21 11:14+0100\n"
"PO-Revision-Date: 2015-11-21 11:18+0100\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.8.6\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"Language: cs_CZ\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Nadmořská výška"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktuální pozice"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Rychlost"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Srdeční tep"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadence"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Zvětšit"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Zmenšit"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Skrýt obrázky"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Zobrazit obrázky"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Vycentrovat"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Celková vzdálenost"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Max. výška"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min. výška"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Celkem nastoupáno"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Celkem naklesáno"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Průměrná rychlost"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Celkový čas"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Stáhnout"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Uložit změny"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2013-12-14 21:43+0100\n"
"Last-Translator: edgar <forced_to_confess@yahoo.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitud"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posición actual"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocidad"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Ritmo cardíaco"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadencia"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Ir a pantalla completa"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Salir de pantalla completa"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Ocultar Imágenes"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Mostrar Imágenes"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Centrar"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distancia total"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Elevación máxima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Elevación mínima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Total ascendido"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Total descendido"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocidad media"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Tiempo total"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Descargar"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Salvar cambios"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2013-12-14 21:43+0100\n"
"Last-Translator: edgar <forced_to_confess@yahoo.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitud"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posición actual"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocidad"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Ritmo cardíaco"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadencia"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Ir a pantalla completa"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Salir de pantalla completa"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Ocultar Imágenes"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Mostrar Imágenes"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Centrar"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distancia total"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Elevación máxima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Elevación mínima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Total ascendido"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Total descendido"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocidad media"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Tiempo total"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Descargar"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Salvar cambios"

View File

@ -1,81 +1,81 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-01 13:41+0100\n"
"PO-Revision-Date: 2012-11-01 22:02+0100\n"
"Last-Translator: Hervé <herve.rieu@free.fr>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:473
msgid "Altitude"
msgstr "Altitude"
#: ../wp-gpx-maps.php:474
msgid "Current Position"
msgstr "Position actuelle"
#: ../wp-gpx-maps.php:475
msgid "Speed"
msgstr "Vitesse"
#: ../wp-gpx-maps.php:476
msgid "Heart rate"
msgstr "Fréquence cardiaque"
#: ../wp-gpx-maps.php:477
msgid "Cadence"
msgstr "Cadence"
#: ../wp-gpx-maps.php:478
msgid "Go Full Screen"
msgstr "Plein écran"
#: ../wp-gpx-maps.php:479
msgid "Exit Full Screen"
msgstr "Sortir du plein écran"
#: ../wp-gpx-maps.php:492
msgid "Total distance"
msgstr "Distance totale"
#: ../wp-gpx-maps.php:497
msgid "Max elevation"
msgstr "Altitude maximum"
#: ../wp-gpx-maps.php:499
msgid "Min elevation"
msgstr "Altitude minimum"
#: ../wp-gpx-maps.php:501
msgid "Total climbing"
msgstr "Denivelé total positif "
#: ../wp-gpx-maps.php:503
msgid "Total descent"
msgstr "Denivelé total négatif"
#: ../wp-gpx-maps.php:507
msgid "Average speed"
msgstr "Vitesse moyenne"
#: ../wp-gpx-maps.php:512
msgid "Total Time"
msgstr "Durée totale"
#: ../wp-gpx-maps.php:528
msgid "Download"
msgstr "Télécharger"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Enregistrer"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-01 13:41+0100\n"
"PO-Revision-Date: 2012-11-01 22:02+0100\n"
"Last-Translator: Hervé <herve.rieu@free.fr>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:473
msgid "Altitude"
msgstr "Altitude"
#: ../wp-gpx-maps.php:474
msgid "Current Position"
msgstr "Position actuelle"
#: ../wp-gpx-maps.php:475
msgid "Speed"
msgstr "Vitesse"
#: ../wp-gpx-maps.php:476
msgid "Heart rate"
msgstr "Fréquence cardiaque"
#: ../wp-gpx-maps.php:477
msgid "Cadence"
msgstr "Cadence"
#: ../wp-gpx-maps.php:478
msgid "Go Full Screen"
msgstr "Plein écran"
#: ../wp-gpx-maps.php:479
msgid "Exit Full Screen"
msgstr "Sortir du plein écran"
#: ../wp-gpx-maps.php:492
msgid "Total distance"
msgstr "Distance totale"
#: ../wp-gpx-maps.php:497
msgid "Max elevation"
msgstr "Altitude maximum"
#: ../wp-gpx-maps.php:499
msgid "Min elevation"
msgstr "Altitude minimum"
#: ../wp-gpx-maps.php:501
msgid "Total climbing"
msgstr "Denivelé total positif "
#: ../wp-gpx-maps.php:503
msgid "Total descent"
msgstr "Denivelé total négatif"
#: ../wp-gpx-maps.php:507
msgid "Average speed"
msgstr "Vitesse moyenne"
#: ../wp-gpx-maps.php:512
msgid "Total Time"
msgstr "Durée totale"
#: ../wp-gpx-maps.php:528
msgid "Download"
msgstr "Télécharger"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Enregistrer"

View File

@ -1,92 +1,92 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2012-10-30 14:43+0100\n"
"Last-Translator: Biró Tamás <tami@freemail.hu>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Magasság"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktuális pozíció"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Sebesség"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Szívritmus"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadencia"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Teljes képernyő BE"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Teljes képernyő KI"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Teljes távolság"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Max magasság"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min magasság"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Össz. emelkedés"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Össz. ereszkedés"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Átlagsebesség"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Teljes Idő"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Letöltés"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Beállítások mentése"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2012-10-30 14:43+0100\n"
"Last-Translator: Biró Tamás <tami@freemail.hu>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Magasság"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktuális pozíció"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Sebesség"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Szívritmus"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadencia"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Teljes képernyő BE"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Teljes képernyő KI"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Teljes távolság"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Max magasság"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min magasság"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Össz. emelkedés"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Össz. ereszkedés"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Átlagsebesség"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Teljes Idő"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Letöltés"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Beállítások mentése"

View File

@ -1,94 +1,94 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:48+0100\n"
"PO-Revision-Date: 2013-02-04 09:22+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: it_IT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitudine"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posizione Corrente"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocità"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Battito Cardiaco"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadenza"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Schermo intero"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Torna a dimensioni originali"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Nascondi immagini"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Mostra immagini"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Ritorna al centro della mappa"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distanza totale"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Altitudine massima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Altitudine minima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Totale salita"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Totale discesa"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocità media"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Tempo totale"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Scarica"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Salva"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:48+0100\n"
"PO-Revision-Date: 2013-02-04 09:22+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: it_IT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitudine"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posizione Corrente"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocità"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Battito Cardiaco"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadenza"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Schermo intero"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Torna a dimensioni originali"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Nascondi immagini"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Mostra immagini"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Ritorna al centro della mappa"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distanza totale"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Altitudine massima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Altitudine minima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Totale salita"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Totale discesa"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocità media"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Tempo totale"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Scarica"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Salva"

BIN
languages/wp-gpx-maps-ja.mo Normal file

Binary file not shown.

988
languages/wp-gpx-maps-ja.po Normal file
View File

@ -0,0 +1,988 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-12-13 15:05+0900\n"
"PO-Revision-Date: 2019-12-13 16:25+0900\n"
"Last-Translator: Taisuke Shimamoto <dentostar@gmail.com>\n"
"Language-Team: \n"
"Language: ja_JP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x;_ex;_nx\n"
"X-Poedit-Basepath: .\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 2.2.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:55 ../wp-gpx-maps_admin.php:50
#: ../wp-gpx-maps_admin.php:102
msgid "Settings"
msgstr "設定"
#: ../wp-gpx-maps.php:752
msgid "Altitude"
msgstr "標高"
#: ../wp-gpx-maps.php:753
msgid "Current position"
msgstr "現在位置"
#: ../wp-gpx-maps.php:754
msgid "Speed"
msgstr "ペース"
#: ../wp-gpx-maps.php:755
msgid "Grade"
msgstr "グレード"
#: ../wp-gpx-maps.php:756
msgid "Heart rate"
msgstr "心拍数"
#: ../wp-gpx-maps.php:757
msgid "Temperature"
msgstr "気温"
#: ../wp-gpx-maps.php:758
msgid "Cadence"
msgstr "ケイデンス"
#: ../wp-gpx-maps.php:759
msgid "Go full screen"
msgstr "全画面表示"
#: ../wp-gpx-maps.php:760
msgid "Exit full screen"
msgstr "全画面を閉じる"
#: ../wp-gpx-maps.php:761
msgid "Hide images"
msgstr "画像を非表示"
#: ../wp-gpx-maps.php:762
msgid "Show images"
msgstr "画像を表示"
#: ../wp-gpx-maps.php:763
msgid "Back to center"
msgstr "中心に戻る"
#: ../wp-gpx-maps.php:776
msgid "Total distance"
msgstr "合計距離"
#: ../wp-gpx-maps.php:780
msgid "Max elevation"
msgstr "最高点の標高"
#: ../wp-gpx-maps.php:782
msgid "Min elevation"
msgstr "最低点の標高"
#: ../wp-gpx-maps.php:784
msgid "Total climbing"
msgstr "累積標高(上り)"
#: ../wp-gpx-maps.php:786
msgid "Total descent"
msgstr "累積標高(下り)"
#: ../wp-gpx-maps.php:789
msgid "Average speed"
msgstr "平均ペース"
#: ../wp-gpx-maps.php:792
msgid "Average cadence"
msgstr "平均ケイデンス"
#: ../wp-gpx-maps.php:795
msgid "Average heart rate"
msgstr "平均心拍数"
#: ../wp-gpx-maps.php:798
msgid "Average temperature"
msgstr "平均気温"
#: ../wp-gpx-maps.php:802
msgid "Total time"
msgstr "総所要時間"
#: ../wp-gpx-maps.php:816 ../wp-gpx-maps_admin_tracks.php:183
msgid "Download"
msgstr "ダウンロード"
#: ../wp-gpx-maps_admin.php:49 ../wp-gpx-maps_admin.php:56
msgid "Tracks"
msgstr "GPS軌跡"
#: ../wp-gpx-maps_admin.php:51 ../wp-gpx-maps_admin.php:57
msgid "Help"
msgstr "ヘルプ"
#: ../wp-gpx-maps_admin.php:116
#, php-format
msgid ""
"Can not create the folder %1s for GPX files. Please create the folder and "
"make it writable! If not, you will must update the files manually!"
msgstr ""
#: ../wp-gpx-maps_admin.php:133
#, php-format
msgid ""
"Can not create the cache folder %1s for the GPX files. Please create the "
"folder and make it writable! If not, you will must update the files manually!"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:62 ../wp-gpx-maps_help.php:69
msgid "General"
msgstr "一般設定"
#: ../wp-gpx-maps_admin_settings.php:68
msgid "Map width:"
msgstr "地図の横幅(px):"
#: ../wp-gpx-maps_admin_settings.php:77
msgid "Map height:"
msgstr "地図の高さ(px):"
#: ../wp-gpx-maps_admin_settings.php:86
msgid "Graph height:"
msgstr "グラフの高さ(px):"
#: ../wp-gpx-maps_admin_settings.php:95
msgid "Distance type:"
msgstr "距離の計算:"
#: ../wp-gpx-maps_admin_settings.php:99
msgid "Normal (default)"
msgstr "デフォルト (地形に従う)"
#: ../wp-gpx-maps_admin_settings.php:100
msgid "Flat &#8594; (Only flat distance, don&#8217;t take care of altitude)"
msgstr "平面 &#8594; (上り下りを含まない水平距離)"
#: ../wp-gpx-maps_admin_settings.php:101
msgid "Climb &#8593; (Only climb distance)"
msgstr "登りのみ &#8593;"
#: ../wp-gpx-maps_admin_settings.php:108
msgid "Cache:"
msgstr "キャッシュ:"
#: ../wp-gpx-maps_admin_settings.php:115
msgid "Do not use cache"
msgstr "データをキャッシュしない"
#: ../wp-gpx-maps_admin_settings.php:123
msgid "GPX Download:"
msgstr "ダウンロード:"
#: ../wp-gpx-maps_admin_settings.php:130 ../wp-gpx-maps_help.php:139
msgid "Allow users to download your GPX file"
msgstr "GPXファイルのダウンロードを許可"
#: ../wp-gpx-maps_admin_settings.php:138
msgid "Use browser GPS position:"
msgstr "ブラウザのGPS位置情報を使用:"
#: ../wp-gpx-maps_admin_settings.php:145
msgid ""
"Allow users to use browser GPS in order to display their current position on "
"map"
msgstr "ブラウザのGPSを利用した現在地表示を許可"
#: ../wp-gpx-maps_admin_settings.php:153
msgid "Thunderforest API Key (Open Cycle Map):"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:161
msgid ""
"Go to <a href=\"%1$1s\" %2&2s>Thunderforest API Key</a> and signing in to "
"your Thunderforest account."
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:175 ../wp-gpx-maps_admin_settings.php:359
#: ../wp-gpx-maps_admin_settings.php:535 ../wp-gpx-maps_admin_settings.php:754
#: ../wp-gpx-maps_admin_settings.php:823
msgid "Save Changes"
msgstr "変更を保存"
#: ../wp-gpx-maps_admin_settings.php:186 ../wp-gpx-maps_help.php:693
msgid "Summary table"
msgstr "サマリー表示"
#: ../wp-gpx-maps_admin_settings.php:192
msgid "Summary table:"
msgstr "サマリー表示:"
#: ../wp-gpx-maps_admin_settings.php:199 ../wp-gpx-maps_help.php:715
msgid "Print summary details of your GPX track"
msgstr "GPX軌跡データのサマリーを表示"
#: ../wp-gpx-maps_admin_settings.php:207
msgid "Total distance:"
msgstr "合計距離:"
#: ../wp-gpx-maps_admin_settings.php:214
msgid "Print total distance"
msgstr "合計距離を表示"
#: ../wp-gpx-maps_admin_settings.php:222
msgid "Max elevation:"
msgstr "最高点の標高:"
#: ../wp-gpx-maps_admin_settings.php:229
msgid "Print max elevation"
msgstr "最高点の標高を表示"
#: ../wp-gpx-maps_admin_settings.php:237
msgid "Min elevation:"
msgstr "最低点の標高:"
#: ../wp-gpx-maps_admin_settings.php:244
msgid "Print min elevation"
msgstr "最低点の標高を表示"
#: ../wp-gpx-maps_admin_settings.php:252
msgid "Total climbing:"
msgstr "累積標高(上り):"
#: ../wp-gpx-maps_admin_settings.php:259
msgid "Print total climbing"
msgstr "累積標高(上り)を表示"
#: ../wp-gpx-maps_admin_settings.php:267
msgid "Total descent:"
msgstr "累積標高(下り):"
#: ../wp-gpx-maps_admin_settings.php:274
msgid "Print total descent"
msgstr "累積標高(下り)を表示"
#: ../wp-gpx-maps_admin_settings.php:281
msgid "Average speed:"
msgstr "平均ペース:"
#: ../wp-gpx-maps_admin_settings.php:288
msgid "Print average speed"
msgstr "平均ペースを表示"
#: ../wp-gpx-maps_admin_settings.php:296
msgid "Average cadence:"
msgstr "平均ケイデンス:"
#: ../wp-gpx-maps_admin_settings.php:303
msgid "Print average cadence"
msgstr "平均ケイデンスを表示"
#: ../wp-gpx-maps_admin_settings.php:311
msgid "Average heart rate:"
msgstr "平均心拍数:"
#: ../wp-gpx-maps_admin_settings.php:318
msgid "Print average heart rate"
msgstr "平均心拍数を表示"
#: ../wp-gpx-maps_admin_settings.php:326
msgid "Average temperature:"
msgstr "平均気温:"
#: ../wp-gpx-maps_admin_settings.php:333
msgid "Print average temperature"
msgstr "平均気温を表示"
#: ../wp-gpx-maps_admin_settings.php:341
msgid "Total time:"
msgstr "総所要時間:"
#: ../wp-gpx-maps_admin_settings.php:348
msgid "Print total time"
msgstr "総所要時間を表示"
#: ../wp-gpx-maps_admin_settings.php:370 ../wp-gpx-maps_help.php:177
msgid "Map"
msgstr "地図"
#: ../wp-gpx-maps_admin_settings.php:377
msgid "Default map type:"
msgstr "デフォルトの地図:"
#: ../wp-gpx-maps_admin_settings.php:383 ../wp-gpx-maps_help.php:204
msgid "Open Street Map"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:389 ../wp-gpx-maps_help.php:206
msgid "Open Cycle Map"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:395 ../wp-gpx-maps_help.php:208
msgid "Open Cycle Map - Transport"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:401 ../wp-gpx-maps_help.php:210
msgid "Open Cycle Map - Landscape"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:407 ../wp-gpx-maps_help.php:212
msgid "MapToolKit - Terrain"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:413 ../wp-gpx-maps_help.php:214
msgid "Open Street Map - Humanitarian map style"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:419 ../wp-gpx-maps_help.php:216
msgid "Hike & Bike"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:425 ../wp-gpx-maps_help.php:218
msgid "Open Sea Map"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:433
msgid "Map line color:"
msgstr "地図上のGPX軌跡色:"
#: ../wp-gpx-maps_admin_settings.php:442
msgid "On mouse scroll wheel:"
msgstr "マウスのスクロール:"
#: ../wp-gpx-maps_admin_settings.php:449
msgid "Enable zoom"
msgstr "ズームを有効にする"
#: ../wp-gpx-maps_admin_settings.php:457
msgid "Waypoints support:"
msgstr "地点データ:"
#: ../wp-gpx-maps_admin_settings.php:464
msgid "Show waypoints"
msgstr "地点データを表示"
#: ../wp-gpx-maps_admin_settings.php:472
msgid "Start track icon:"
msgstr "スタート地点のアイコン指定:"
#: ../wp-gpx-maps_admin_settings.php:477 ../wp-gpx-maps_admin_settings.php:489
#: ../wp-gpx-maps_admin_settings.php:501 ../wp-gpx-maps_admin_settings.php:513
#: ../wp-gpx-maps_admin_settings.php:525
msgid "(URL to image) Leave empty to hide."
msgstr "(画像URL) 非表示の場合は空欄."
#: ../wp-gpx-maps_admin_settings.php:484
msgid "End track icon:"
msgstr "ゴール地点のアイコン指定:"
#: ../wp-gpx-maps_admin_settings.php:496
msgid "Current position icon:"
msgstr "現在位置のアイコン:"
#: ../wp-gpx-maps_admin_settings.php:508
msgid "Current GPS position icon:"
msgstr "現在位置(GPS)のアイコン:"
#: ../wp-gpx-maps_admin_settings.php:520
msgid "Custom waypoint icon:"
msgstr "地点データのアイコン指定:"
#: ../wp-gpx-maps_admin_settings.php:546
msgid "Chart"
msgstr "チャート"
#: ../wp-gpx-maps_admin_settings.php:553
msgid "Altitude:"
msgstr "標高:"
#: ../wp-gpx-maps_admin_settings.php:560
msgid "Show altitude"
msgstr "標高グラフを表示"
#: ../wp-gpx-maps_admin_settings.php:569
msgid "Altitude line color:"
msgstr "標高推移線の色:"
#: ../wp-gpx-maps_admin_settings.php:578
msgid "Unit of measure:"
msgstr "長さの単位 (標高 / 距離):"
#: ../wp-gpx-maps_admin_settings.php:582 ../wp-gpx-maps_help.php:378
msgid "meters / meters"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:583 ../wp-gpx-maps_help.php:380
msgid "feet / miles"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:584 ../wp-gpx-maps_help.php:382
msgid "meters / kilometers"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:585 ../wp-gpx-maps_help.php:384
msgid "meters / nautical miles"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:586 ../wp-gpx-maps_help.php:386
msgid "meters / miles"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:587 ../wp-gpx-maps_help.php:388
msgid "feet / nautical miles"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:594
msgid "Altitude display offset:"
msgstr "標高誤差オフセット:"
#: ../wp-gpx-maps_admin_settings.php:597 ../wp-gpx-maps_admin_settings.php:645
msgid "From"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:599 ../wp-gpx-maps_admin_settings.php:647
msgid "to"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:601 ../wp-gpx-maps_admin_settings.php:649
msgid "(leave empty for auto scale)"
msgstr "(空欄で自動調整されます)"
#: ../wp-gpx-maps_admin_settings.php:607
msgid "Speed:"
msgstr "ペース:"
#: ../wp-gpx-maps_admin_settings.php:610
msgid "Show speed"
msgstr "ペースを表示"
#: ../wp-gpx-maps_admin_settings.php:616
msgid "Speed line color:"
msgstr "ペース推移線の色:"
#: ../wp-gpx-maps_admin_settings.php:625
msgid "Speed unit of measure:"
msgstr "ペースの単位:"
#: ../wp-gpx-maps_admin_settings.php:629 ../wp-gpx-maps_help.php:453
msgid "m/s"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:630 ../wp-gpx-maps_help.php:455
msgid "km/h"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:631 ../wp-gpx-maps_help.php:457
msgid "miles/h"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:632 ../wp-gpx-maps_help.php:459
msgid "min/km"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:633 ../wp-gpx-maps_help.php:461
msgid "min/miles"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:634 ../wp-gpx-maps_help.php:463
msgid "Knots (nautical miles / hour)"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:635 ../wp-gpx-maps_help.php:465
msgid "min/100 meters"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:642
msgid "Speed display offset:"
msgstr "ペース誤差オフセット:"
#: ../wp-gpx-maps_admin_settings.php:655
msgid "Heart rate (where aviable):"
msgstr "心拍数(データがある場合):"
#: ../wp-gpx-maps_admin_settings.php:662
msgid "Show heart rate"
msgstr "心拍数を表示"
#: ../wp-gpx-maps_admin_settings.php:670
msgid "Heart rate line color:"
msgstr "心拍数グラフ推移線の色:"
#: ../wp-gpx-maps_admin_settings.php:679
msgid "Temperature (where aviable):"
msgstr "気温(データがある場合):"
#: ../wp-gpx-maps_admin_settings.php:686
msgid "Show temperature"
msgstr "気温を表示"
#: ../wp-gpx-maps_admin_settings.php:694
msgid "Temperature line color:"
msgstr "気温推移線の色:"
#: ../wp-gpx-maps_admin_settings.php:703
msgid "Cadence (where aviable):"
msgstr "ケイデンス(データがある場合):"
#: ../wp-gpx-maps_admin_settings.php:710
msgid "Show cadence"
msgstr "ケイデンスを表示"
#: ../wp-gpx-maps_admin_settings.php:718
msgid "Cadence line color:"
msgstr "ケイデンス推移線の色:"
#: ../wp-gpx-maps_admin_settings.php:727
msgid "Grade:"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:734
msgid ""
"Show grade - BETA (Grade values depends on your GPS accuracy. If you have a "
"poor GPS accuracy they might be totally wrong!)"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:742
msgid "Grade line color:"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:765
msgid "Advanced Options"
msgstr "詳細設定"
#: ../wp-gpx-maps_admin_settings.php:768
msgid "(Do not edit if you don&#8217;t know what you are doing!)"
msgstr ""
#: ../wp-gpx-maps_admin_settings.php:775
msgid "Skip GPX points closer than:"
msgstr "隣接したGPS位置座標:"
#: ../wp-gpx-maps_admin_settings.php:782
msgid "meters"
msgstr "m未満を間引き"
#: ../wp-gpx-maps_admin_settings.php:790
msgid "Reduce GPX:"
msgstr "GPXの自動縮小:"
#: ../wp-gpx-maps_admin_settings.php:797
msgid "Do not reduce GPX"
msgstr "GPXを自動縮小しない"
#: ../wp-gpx-maps_admin_settings.php:805
msgid "User upload:"
msgstr "アップロード:"
#: ../wp-gpx-maps_admin_settings.php:812
msgid "Allow registered user to upload GPX files"
msgstr "登録ユーザーにGPXアップロードを許可"
#: ../wp-gpx-maps_admin_tracks.php:30
msgid "Cache is now empty!"
msgstr "キャッシュは空です!"
#: ../wp-gpx-maps_admin_tracks.php:45
msgid "Choose a file to upload:"
msgstr "ファイルを選択:"
#: ../wp-gpx-maps_admin_tracks.php:57
#, php-format
msgid "The file %1s has been successfully uploaded."
msgstr "%1s はアップロード完了しました."
#: ../wp-gpx-maps_admin_tracks.php:63
msgid "There was an error uploading the file, please try again!"
msgstr "アップロード中にエラーが発生したため、もう一度お試し下さい!"
#: ../wp-gpx-maps_admin_tracks.php:68
msgid "The file type is not supported!"
msgstr "ファイルの拡張子がサポート対象外です!"
#: ../wp-gpx-maps_admin_tracks.php:77
msgid "Clear Cache"
msgstr "キャッシュを空にする"
#: ../wp-gpx-maps_admin_tracks.php:94
#, php-format
msgid ""
"Your folder for GPX files %1s is not writable. Please change the folder "
"permissions."
msgstr ""
#: ../wp-gpx-maps_admin_tracks.php:121
#, php-format
msgid "The file %1s has been successfully deleted."
msgstr ""
#: ../wp-gpx-maps_admin_tracks.php:129
#, php-format
msgid "The file %1s could not be deleted."
msgstr ""
#: ../wp-gpx-maps_admin_tracks.php:167
msgid "Uploading file..."
msgstr "ファイルをアップロード中…"
#: ../wp-gpx-maps_admin_tracks.php:175
msgid "File"
msgstr "ファイル"
#: ../wp-gpx-maps_admin_tracks.php:181
msgid "Delete"
msgstr "削除"
#: ../wp-gpx-maps_admin_tracks.php:185
msgid "Copy shortcode"
msgstr "ショートコードをコピー"
#: ../wp-gpx-maps_admin_tracks.php:185
msgid "Shortcode:"
msgstr "ショートコード:"
#: ../wp-gpx-maps_admin_tracks.php:191
msgid "Last modified"
msgstr "最終更新"
#: ../wp-gpx-maps_admin_tracks.php:199
msgid "File size"
msgstr "サイズ"
#: ../wp-gpx-maps_admin_tracks.php:209
msgid "Are you sure you want to delete the file?"
msgstr "削除してよろしいですか?"
#: ../wp-gpx-maps_help.php:7
msgid "FAQ"
msgstr ""
#: ../wp-gpx-maps_help.php:10
msgid "How can I upload the GPX files?"
msgstr ""
#: ../wp-gpx-maps_help.php:13
msgid ""
"1. Method: Upload the GPX file using the uploader in the tab \"Tracks\"."
msgstr ""
#: ../wp-gpx-maps_help.php:18
msgid "2. Method: Upload the GPX file via FTP to your upload folder:"
msgstr ""
#: ../wp-gpx-maps_help.php:24
msgid "How can I use the GPX files?"
msgstr ""
#: ../wp-gpx-maps_help.php:27
msgid ""
"Go to the tab \"Tracks\" and copy the shortcode from the list and paste it "
"in the page or post."
msgstr ""
#: ../wp-gpx-maps_help.php:32
msgid ""
"You can manually set the relative path to your GPX file. Please use this "
"scheme:"
msgstr ""
#: ../wp-gpx-maps_help.php:38
msgid "Can I also integrate GPX files from other sites?"
msgstr ""
#: ../wp-gpx-maps_help.php:43
msgid "Yes, it&#8217s possible. Please use this scheme:"
msgstr ""
#: ../wp-gpx-maps_help.php:49
msgid "Can I change the attributes for each GPX shortcode?"
msgstr ""
#: ../wp-gpx-maps_help.php:52
msgid ""
"Yes, it&#8217s possible. These changes ignore the default settings for each "
"attribute."
msgstr ""
#: ../wp-gpx-maps_help.php:57
msgid ""
"The Full set of optional attributes can be found below. Please use this "
"scheme:"
msgstr ""
#: ../wp-gpx-maps_help.php:60
msgid "read below all the optional attributes"
msgstr ""
#: ../wp-gpx-maps_help.php:74 ../wp-gpx-maps_help.php:182
#: ../wp-gpx-maps_help.php:326 ../wp-gpx-maps_help.php:633
#: ../wp-gpx-maps_help.php:698 ../wp-gpx-maps_help.php:902
msgid "Shortcode"
msgstr "ショートコード"
#: ../wp-gpx-maps_help.php:77 ../wp-gpx-maps_help.php:185
#: ../wp-gpx-maps_help.php:329 ../wp-gpx-maps_help.php:636
#: ../wp-gpx-maps_help.php:701 ../wp-gpx-maps_help.php:905
msgid "Description"
msgstr "説明"
#: ../wp-gpx-maps_help.php:80 ../wp-gpx-maps_help.php:188
#: ../wp-gpx-maps_help.php:332 ../wp-gpx-maps_help.php:639
#: ../wp-gpx-maps_help.php:704 ../wp-gpx-maps_help.php:908
msgid "Possible values"
msgstr "入力可能値"
#: ../wp-gpx-maps_help.php:83 ../wp-gpx-maps_help.php:191
#: ../wp-gpx-maps_help.php:335 ../wp-gpx-maps_help.php:707
#: ../wp-gpx-maps_help.php:911
msgid "Current value"
msgstr "現在値"
#: ../wp-gpx-maps_help.php:91
msgid "relative path to the GPX file"
msgstr "gpxファイルへの相対パス"
#: ../wp-gpx-maps_help.php:103
msgid "Map width"
msgstr "地図の横幅"
#: ../wp-gpx-maps_help.php:106
msgid "Value in percent"
msgstr "値(%)"
#: ../wp-gpx-maps_help.php:115
msgid "Map height"
msgstr "地図の高さ"
#: ../wp-gpx-maps_help.php:118 ../wp-gpx-maps_help.php:130
msgid "Value in pixels"
msgstr "値(px)"
#: ../wp-gpx-maps_help.php:127
msgid "Graph height"
msgstr "グラフの高さ"
#: ../wp-gpx-maps_help.php:143 ../wp-gpx-maps_help.php:159
#: ../wp-gpx-maps_help.php:231 ../wp-gpx-maps_help.php:247
#: ../wp-gpx-maps_help.php:263 ../wp-gpx-maps_help.php:347
#: ../wp-gpx-maps_help.php:363 ../wp-gpx-maps_help.php:422
#: ../wp-gpx-maps_help.php:438 ../wp-gpx-maps_help.php:499
#: ../wp-gpx-maps_help.php:515 ../wp-gpx-maps_help.php:530
#: ../wp-gpx-maps_help.php:546 ../wp-gpx-maps_help.php:562
#: ../wp-gpx-maps_help.php:578 ../wp-gpx-maps_help.php:594
#: ../wp-gpx-maps_help.php:610 ../wp-gpx-maps_help.php:669
#: ../wp-gpx-maps_help.php:719 ../wp-gpx-maps_help.php:735
#: ../wp-gpx-maps_help.php:751 ../wp-gpx-maps_help.php:767
#: ../wp-gpx-maps_help.php:783 ../wp-gpx-maps_help.php:799
#: ../wp-gpx-maps_help.php:815 ../wp-gpx-maps_help.php:831
#: ../wp-gpx-maps_help.php:847 ../wp-gpx-maps_help.php:863
#: ../wp-gpx-maps_help.php:879 ../wp-gpx-maps_help.php:923
#: ../wp-gpx-maps_help.php:939
msgid "Default is:"
msgstr "デフォルト:"
#: ../wp-gpx-maps_help.php:155
msgid "Do not use cache. If TRUE might be very slow"
msgstr "キャッシュ不使用 (注)重くなる可能性があります"
#: ../wp-gpx-maps_help.php:199
msgid "Map type"
msgstr "地図の選択"
#: ../wp-gpx-maps_help.php:227
msgid "Map line color"
msgstr "GPX軌跡線の色"
#: ../wp-gpx-maps_help.php:243
msgid "Zoom on map when mouse scroll wheel"
msgstr "スクロールでズーム"
#: ../wp-gpx-maps_help.php:259
msgid "Print the GPX waypoints inside the map"
msgstr "GPX地点データを表示"
#: ../wp-gpx-maps_help.php:275
msgid "Start track icon"
msgstr "スタート地点のアイコン"
#: ../wp-gpx-maps_help.php:285
msgid "End track icon"
msgstr "ゴール地点のアイコン"
#: ../wp-gpx-maps_help.php:295
msgid "Current position icon (when mouse hover)"
msgstr "現在地のアイコン"
#: ../wp-gpx-maps_help.php:305
msgid "Custom waypoint icon"
msgstr "地点データのアイコン"
#: ../wp-gpx-maps_help.php:321
msgid "Diagram"
msgstr "ダイアグラム"
#: ../wp-gpx-maps_help.php:343
msgid "Show elevation data inside the chart"
msgstr "標高チャートを表示"
#: ../wp-gpx-maps_help.php:359
msgid "Altitude line color"
msgstr "標高推移線の色"
#: ../wp-gpx-maps_help.php:375
msgid "Distance / Altitude unit of measure"
msgstr "距離 / 標高 の単位"
#: ../wp-gpx-maps_help.php:398
msgid "Minimum value for altitude chart"
msgstr "標高チャートの最低値"
#: ../wp-gpx-maps_help.php:408
msgid "Maximum value for altitude chart"
msgstr "標高チャートの最高値"
#: ../wp-gpx-maps_help.php:418
msgid "Show speed inside the chart"
msgstr "ペースチャートを表示"
#: ../wp-gpx-maps_help.php:434
msgid "Speed line color"
msgstr "ペース推移線の色"
#: ../wp-gpx-maps_help.php:450
msgid "Speed unit of measure"
msgstr "ペースの単位"
#: ../wp-gpx-maps_help.php:475
msgid "Minimum value for speed chart"
msgstr "ペースチャートの最低値"
#: ../wp-gpx-maps_help.php:485
msgid "Maximum value for speed chart"
msgstr "ペースチャートの最高値"
#: ../wp-gpx-maps_help.php:495
msgid "Show heart rate inside the chart"
msgstr "心拍数チャートを表示"
#: ../wp-gpx-maps_help.php:511
msgid "Heart rate line color"
msgstr "心拍数推移線の色"
#: ../wp-gpx-maps_help.php:526
msgid "Show temperature inside the chart"
msgstr "気温チャートを表示"
#: ../wp-gpx-maps_help.php:542
msgid "Temperature line color"
msgstr "気温推移線の色"
#: ../wp-gpx-maps_help.php:558
msgid "Show cadence inside the chart"
msgstr "ケイデンスチャートを表示"
#: ../wp-gpx-maps_help.php:574
msgid "Cadence line color"
msgstr "ケイデンス推移線の色"
#: ../wp-gpx-maps_help.php:590
msgid "Show grade inside the chart"
msgstr ""
#: ../wp-gpx-maps_help.php:606
msgid "Grade line color"
msgstr ""
#: ../wp-gpx-maps_help.php:628
msgid "Pictures"
msgstr ""
#: ../wp-gpx-maps_help.php:647
msgid "NextGen Gallery"
msgstr ""
#: ../wp-gpx-maps_help.php:650
msgid "Gallery ID or a list of Galleries ID separated by a comma"
msgstr ""
#: ../wp-gpx-maps_help.php:656
msgid "NextGen Image"
msgstr ""
#: ../wp-gpx-maps_help.php:659
msgid "Image ID or a list of Images ID separated by a comma"
msgstr ""
#: ../wp-gpx-maps_help.php:665
msgid "Show all images that are attached to post"
msgstr ""
#: ../wp-gpx-maps_help.php:678
msgid "The difference between your GPX tool date and your camera date"
msgstr "カメラ撮影時刻の時差調整"
#: ../wp-gpx-maps_help.php:681
msgid "Value in seconds"
msgstr "秒単位"
#: ../wp-gpx-maps_help.php:731
msgid "Print total distance in summary table"
msgstr "サマリーに合計距離を表示"
#: ../wp-gpx-maps_help.php:747
msgid "Print max. elevation in summary table"
msgstr "サマリーに最高点の標高を表示"
#: ../wp-gpx-maps_help.php:763
msgid "Print min. elevation in summary table"
msgstr "サマリーに最低点の標高を表示"
#: ../wp-gpx-maps_help.php:779
msgid "Print total climbing in summary table"
msgstr "サマリーに累積標高(上り)を表示"
#: ../wp-gpx-maps_help.php:795
msgid "Print total descent in summary table"
msgstr "サマリーに累積標高(下り)を表示"
#: ../wp-gpx-maps_help.php:811
msgid "Print average speed in summary table"
msgstr "サマリーに平均ペースを表示"
#: ../wp-gpx-maps_help.php:827
msgid "Print average cadence in summary table"
msgstr "サマリーに平均ケイデンスを表示"
#: ../wp-gpx-maps_help.php:843
msgid "Print average heart rate in summary table"
msgstr "サマリーに平均心拍数を表示"
#: ../wp-gpx-maps_help.php:859
msgid "Print average temperature in summary table"
msgstr "サマリーに平均気温を表示"
#: ../wp-gpx-maps_help.php:875
msgid "Print total time in summary table"
msgstr "サマリーに総所要時間を表示"
#: ../wp-gpx-maps_help.php:897
msgid "Advanced"
msgstr "詳細"
#: ../wp-gpx-maps_help.php:919
msgid "Skip GPX points closer than XX meters"
msgstr "2地点間の距離が XX m未満のGPS座標を間引き"
#: ../wp-gpx-maps_help.php:935
msgid "Print all the GPX waypoints without reduce it"
msgstr "間引きせず全てのGPX地点データを表示"
#: ../wp-gpx-maps_help.php:954
msgid "Bugs, problems, thanks and anything else here!"
msgstr "バグ、動作不具合その他全てはこちらへ!"
#: ../wp-gpx-maps_utils.php:150
msgid "WP GPX Maps Error: GPX file not found!"
msgstr "エラーGPXファイルが見つかりません!"
#: ../wp-gpx-maps_utils.php:539
msgid "WP GPX Maps Error: Can&#8217;t parse xml file!"
msgstr "エラーXMLファイルをパース出来ません!"

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,95 +1,95 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2017-09-21 20:50+0000\n"
"Last-Translator: Thor Fredrik Eie <thordivel@gmail.com>\n"
"Language-Team: Norwegian (Bokmål)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
"Language: nb-NO\n"
"Plural-Forms: nplurals=2; plural=n != 1\n"
"X-Generator: Loco - https://localise.biz/"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadens"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Høyde"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Nåværende posisjon"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Fart"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Hjerterate"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Fullskjerm"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Avslutt fullskjerm"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Skjul bilder"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Vis bilder"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Sentrer"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Total distanse"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Maksimum høyde"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Minimum høyde"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Total klatring"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Total nedstigning"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Gjennomsnittsfart"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Total tid"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Last ned"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Lagre endringer"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2017-09-21 20:50+0000\n"
"Last-Translator: Thor Fredrik Eie <thordivel@gmail.com>\n"
"Language-Team: Norwegian (Bokmål)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
"Language: nb-NO\n"
"Plural-Forms: nplurals=2; plural=n != 1\n"
"X-Generator: Loco - https://localise.biz/"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadens"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Høyde"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Nåværende posisjon"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Fart"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Hjerterate"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Fullskjerm"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Avslutt fullskjerm"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Skjul bilder"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Vis bilder"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Sentrer"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Total distanse"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Maksimum høyde"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Minimum høyde"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Total klatring"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Total nedstigning"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Gjennomsnittsfart"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Total tid"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Last ned"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Lagre endringer"

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2012-10-30 14:41+0100\n"
"Last-Translator: Simon Koelewijn\n"
"Language-Team: \n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Hoogte"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Huidige Positie"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Snelheid"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Hartslag"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadans"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Volledige Scherm"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Verlaat Volledige Scherm"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr ""
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr ""
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr ""
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr ""
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr ""
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr ""
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr ""
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Download"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Wijzigingen Opslaan"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2012-10-30 14:41+0100\n"
"Last-Translator: Simon Koelewijn\n"
"Language-Team: \n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Hoogte"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Huidige Positie"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Snelheid"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Hartslag"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadans"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Volledige Scherm"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Verlaat Volledige Scherm"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr ""
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr ""
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr ""
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr ""
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr ""
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr ""
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr ""
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Download"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Wijzigingen Opslaan"

View File

@ -1,95 +1,95 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-03-10 12:33+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.5\n"
"Language: pl_PL\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Wysokość"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktualna pozycja"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Prędkość"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Tętno"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadencja"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Pełny ekran"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Zamknij pełny ekran"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Ukryj obrazy"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Pokaż obrazy"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Wyśrodkuj"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Całkowity dystans"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Najwyższy punkt"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Najniższy punkt"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Wyskokość podjazdów"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Wysokość zjazdów"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Średnia prędkość"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Łączny czas"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Pobieranie"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Zapisz zmiany"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-03-10 12:33+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.5\n"
"Language: pl_PL\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Wysokość"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktualna pozycja"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Prędkość"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Tętno"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadencja"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Pełny ekran"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Zamknij pełny ekran"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Ukryj obrazy"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Pokaż obrazy"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Wyśrodkuj"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Całkowity dystans"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Najwyższy punkt"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Najniższy punkt"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Wyskokość podjazdów"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Wysokość zjazdów"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Średnia prędkość"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Łączny czas"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Pobieranie"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Zapisz zmiany"

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2013-04-23 18:36-0300\n"
"Last-Translator: André Ramos <kurukuru@ig.com.br>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitude"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posição atual"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocidade"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Ritmo cardíaco"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadência"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Tela cheia"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Restaura janela"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Ocultar imagens"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Centralizar"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distância total"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Elevação máxima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Elevação mínima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Total subida"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Total descida"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocidade média"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Tempo total"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Baixar arquivo"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Salvar alterações"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2013-04-23 18:36-0300\n"
"Last-Translator: André Ramos <kurukuru@ig.com.br>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Altitude"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Posição atual"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Velocidade"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Ritmo cardíaco"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Cadência"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Tela cheia"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Restaura janela"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Ocultar imagens"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "Centralizar"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Distância total"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Elevação máxima"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Elevação mínima"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Total subida"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Total descida"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Velocidade média"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Tempo total"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Baixar arquivo"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Salvar alterações"

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-07-17 20:50+0400\n"
"Last-Translator: G.A.P <g.a.p@mail.ru>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.7\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Высота"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Текущая позиция"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Скорость"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Пульс"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Каденс"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "На весь экран"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Свернуть в окно"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Скрыть картинки"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Показать картинки"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "По центру"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Дистанция"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Максимальная высота"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Минимальная высота"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Подъём"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Спуск"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Средняя скорость"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Время"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Скачать"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Сохранить изменения"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2013-07-17 20:50+0400\n"
"Last-Translator: G.A.P <g.a.p@mail.ru>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.7\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Высота"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Текущая позиция"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Скорость"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Пульс"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Каденс"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "На весь экран"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Свернуть в окно"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr "Скрыть картинки"
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr "Показать картинки"
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr "По центру"
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Дистанция"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Максимальная высота"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Минимальная высота"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Подъём"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Спуск"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Средняя скорость"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Время"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Скачать"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Сохранить изменения"

View File

@ -1,93 +1,93 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2012-10-30 14:41+0100\n"
"Last-Translator: Per Bjälevik <per.bjalevik@tauzero.se>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Höjd"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktuell position"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Hastighet"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Hjärtfrekvens"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadens"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Gå till fullskärm"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Avsluta fullskärm"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Total distans"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Max höjd"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min höjd"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Höjdstigning"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Höjdförlust"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Medelhastighet"
#: ../wp-gpx-maps.php:509
#, fuzzy
msgid "Total Time"
msgstr "Total distans"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Ladda ner"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Spara ändringar"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:41+0100\n"
"PO-Revision-Date: 2012-10-30 14:41+0100\n"
"Last-Translator: Per Bjälevik <per.bjalevik@tauzero.se>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Höjd"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Aktuell position"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Hastighet"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Hjärtfrekvens"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadens"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Gå till fullskärm"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Avsluta fullskärm"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Total distans"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Max höjd"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min höjd"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Höjdstigning"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Höjdförlust"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Medelhastighet"
#: ../wp-gpx-maps.php:509
#, fuzzy
msgid "Total Time"
msgstr "Total distans"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "Ladda ner"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Spara ändringar"

View File

@ -1,94 +1,94 @@
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2012-10-30 14:42+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Rakım"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Güncel Pozisyon"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Hız"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Nabız"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadans"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Tam Ekran Gör"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Tam Ekrandan Çık"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Toplam Mesafe"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Maks. İrtifa"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min. İrtifa"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Toplam Tırmanış"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Toplam İniş"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Ortalama Hız"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Toplam Süre"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "İndir"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Değişiklikleri Kaydet"
msgid ""
msgstr ""
"Project-Id-Version: wp-gpx-maps\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-30 14:42+0100\n"
"PO-Revision-Date: 2012-10-30 14:42+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SearchPath-0: ..\n"
#: ../wp-gpx-maps.php:467
msgid "Altitude"
msgstr "Rakım"
#: ../wp-gpx-maps.php:468
msgid "Current Position"
msgstr "Güncel Pozisyon"
#: ../wp-gpx-maps.php:469
msgid "Speed"
msgstr "Hız"
#: ../wp-gpx-maps.php:470
msgid "Heart rate"
msgstr "Nabız"
#: ../wp-gpx-maps.php:471
msgid "Cadence"
msgstr "Kadans"
#: ../wp-gpx-maps.php:472
msgid "Go Full Screen"
msgstr "Tam Ekran Gör"
#: ../wp-gpx-maps.php:473
msgid "Exit Full Screen"
msgstr "Tam Ekrandan Çık"
#: ../wp-gpx-maps.php:474
msgid "Hide Images"
msgstr ""
#: ../wp-gpx-maps.php:475
msgid "Show Images"
msgstr ""
#: ../wp-gpx-maps.php:476
msgid "Back to center"
msgstr ""
#: ../wp-gpx-maps.php:489
msgid "Total distance"
msgstr "Toplam Mesafe"
#: ../wp-gpx-maps.php:494
msgid "Max elevation"
msgstr "Maks. İrtifa"
#: ../wp-gpx-maps.php:496
msgid "Min elevation"
msgstr "Min. İrtifa"
#: ../wp-gpx-maps.php:498
msgid "Total climbing"
msgstr "Toplam Tırmanış"
#: ../wp-gpx-maps.php:500
msgid "Total descent"
msgstr "Toplam İniş"
#: ../wp-gpx-maps.php:504
msgid "Average speed"
msgstr "Ortalama Hız"
#: ../wp-gpx-maps.php:509
msgid "Total Time"
msgstr "Toplam Süre"
#: ../wp-gpx-maps.php:525
msgid "Download"
msgstr "İndir"
#: ../wp-gpx-maps_admin_settings.php:83 ../wp-gpx-maps_admin_settings.php:151
#: ../wp-gpx-maps_admin_settings.php:229 ../wp-gpx-maps_admin_settings.php:333
#: ../wp-gpx-maps_admin_settings.php:364
msgid "Save Changes"
msgstr "Değişiklikleri Kaydet"

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 696 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,640 +0,0 @@
/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
position: absolute;
left: 0;
top: 0;
}
.leaflet-container {
overflow: hidden;
}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
-webkit-user-drag: none;
}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
image-rendering: -webkit-optimize-contrast;
}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
width: 1600px;
height: 1600px;
-webkit-transform-origin: 0 0;
}
.leaflet-marker-icon,
.leaflet-marker-shadow {
display: block;
}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg,
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
max-width: none !important;
max-height: none !important;
}
.leaflet-container.leaflet-touch-zoom {
-ms-touch-action: pan-x pan-y;
touch-action: pan-x pan-y;
}
.leaflet-container.leaflet-touch-drag {
-ms-touch-action: pinch-zoom;
/* Fallback for FF which doesn't support pinch-zoom */
touch-action: none;
touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
-ms-touch-action: none;
touch-action: none;
}
.leaflet-container {
-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
filter: inherit;
visibility: hidden;
}
.leaflet-tile-loaded {
visibility: inherit;
}
.leaflet-zoom-box {
width: 0;
height: 0;
-moz-box-sizing: border-box;
box-sizing: border-box;
z-index: 800;
}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
-moz-user-select: none;
}
.leaflet-pane { z-index: 400; }
.leaflet-tile-pane { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane { z-index: 500; }
.leaflet-marker-pane { z-index: 600; }
.leaflet-tooltip-pane { z-index: 650; }
.leaflet-popup-pane { z-index: 700; }
.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg { z-index: 200; }
.leaflet-vml-shape {
width: 1px;
height: 1px;
}
.lvml {
behavior: url(#default#VML);
display: inline-block;
position: absolute;
}
/* control positioning */
.leaflet-control {
position: relative;
z-index: 800;
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
.leaflet-top,
.leaflet-bottom {
position: absolute;
z-index: 1000;
pointer-events: none;
}
.leaflet-top {
top: 0;
}
.leaflet-right {
right: 0;
}
.leaflet-bottom {
bottom: 0;
}
.leaflet-left {
left: 0;
}
.leaflet-control {
float: left;
clear: both;
}
.leaflet-right .leaflet-control {
float: right;
}
.leaflet-top .leaflet-control {
margin-top: 10px;
}
.leaflet-bottom .leaflet-control {
margin-bottom: 10px;
}
.leaflet-left .leaflet-control {
margin-left: 10px;
}
.leaflet-right .leaflet-control {
margin-right: 10px;
}
/* zoom and fade animations */
.leaflet-fade-anim .leaflet-tile {
will-change: opacity;
}
.leaflet-fade-anim .leaflet-popup {
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
opacity: 1;
}
.leaflet-zoom-animated {
-webkit-transform-origin: 0 0;
-ms-transform-origin: 0 0;
transform-origin: 0 0;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
will-change: transform;
}
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
transition: none;
}
.leaflet-zoom-anim .leaflet-zoom-hide {
visibility: hidden;
}
/* cursors */
.leaflet-interactive {
cursor: pointer;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: crosshair;
}
.leaflet-popup-pane,
.leaflet-control {
cursor: auto;
}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing;
}
/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
pointer-events: none;
}
.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
pointer-events: auto;
}
/* visual tweaks */
.leaflet-container {
background: #ddd;
outline: 0;
}
.leaflet-container a {
color: #0078A8;
}
.leaflet-container a.leaflet-active {
outline: 2px solid orange;
}
.leaflet-zoom-box {
border: 2px dotted #38f;
background: rgba(255,255,255,0.5);
}
/* general typography */
.leaflet-container {
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
}
/* general toolbar styles */
.leaflet-bar {
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
border-radius: 4px;
}
.leaflet-bar a,
.leaflet-bar a:hover {
background-color: #fff;
border-bottom: 1px solid #ccc;
width: 26px;
height: 26px;
line-height: 26px;
display: block;
text-align: center;
text-decoration: none;
color: black;
}
.leaflet-bar a,
.leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
}
.leaflet-bar a:hover {
background-color: #f4f4f4;
}
.leaflet-bar a:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
}
.leaflet-bar a:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
border-bottom: none;
}
.leaflet-bar a.leaflet-disabled {
cursor: default;
background-color: #f4f4f4;
color: #bbb;
}
.leaflet-touch .leaflet-bar a {
width: 30px;
height: 30px;
line-height: 30px;
}
.leaflet-touch .leaflet-bar a:first-child {
border-top-left-radius: 2px;
border-top-right-radius: 2px;
}
.leaflet-touch .leaflet-bar a:last-child {
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
}
/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
font: bold 18px 'Lucida Console', Monaco, monospace;
text-indent: 1px;
}
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
font-size: 22px;
}
/* layers control */
.leaflet-control-layers {
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
background: #fff;
border-radius: 5px;
}
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-retina .leaflet-control-layers-toggle {
background-image: url(images/layers-2x.png);
background-size: 26px 26px;
}
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
display: none;
}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
display: block;
position: relative;
}
.leaflet-control-layers-expanded {
padding: 6px 10px 6px 6px;
color: #333;
background: #fff;
}
.leaflet-control-layers-scrollbar {
overflow-y: scroll;
overflow-x: hidden;
padding-right: 5px;
}
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;
}
.leaflet-control-layers label {
display: block;
}
.leaflet-control-layers-separator {
height: 0;
border-top: 1px solid #ddd;
margin: 5px -10px 5px -6px;
}
/* Default icon URLs */
.leaflet-default-icon-path {
background-image: url(images/marker-icon.png);
}
/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
background: #fff;
background: rgba(255, 255, 255, 0.7);
margin: 0;
}
.leaflet-control-attribution,
.leaflet-control-scale-line {
padding: 0 5px;
color: #333;
}
.leaflet-control-attribution a {
text-decoration: none;
}
.leaflet-control-attribution a:hover {
text-decoration: underline;
}
.leaflet-container .leaflet-control-attribution,
.leaflet-container .leaflet-control-scale {
font-size: 11px;
}
.leaflet-left .leaflet-control-scale {
margin-left: 5px;
}
.leaflet-bottom .leaflet-control-scale {
margin-bottom: 5px;
}
.leaflet-control-scale-line {
border: 2px solid #777;
border-top: none;
line-height: 1.1;
padding: 2px 5px 1px;
font-size: 11px;
white-space: nowrap;
overflow: hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: #fff;
background: rgba(255, 255, 255, 0.5);
}
.leaflet-control-scale-line:not(:first-child) {
border-top: 2px solid #777;
border-bottom: none;
margin-top: -2px;
}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
border-bottom: 2px solid #777;
}
.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
box-shadow: none;
}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
border: 2px solid rgba(0,0,0,0.2);
background-clip: padding-box;
}
/* popup */
.leaflet-popup {
position: absolute;
text-align: center;
margin-bottom: 20px;
}
.leaflet-popup-content-wrapper {
padding: 1px;
text-align: left;
border-radius: 12px;
}
.leaflet-popup-content {
margin: 13px 19px;
line-height: 1.4;
}
.leaflet-popup-content p {
margin: 18px 0;
}
.leaflet-popup-tip-container {
width: 40px;
height: 20px;
position: absolute;
left: 50%;
margin-left: -20px;
overflow: hidden;
pointer-events: none;
}
.leaflet-popup-tip {
width: 17px;
height: 17px;
padding: 1px;
margin: -10px auto 0;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
background: white;
color: #333;
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
}
.leaflet-container a.leaflet-popup-close-button {
position: absolute;
top: 0;
right: 0;
padding: 4px 4px 0 0;
border: none;
text-align: center;
width: 18px;
height: 14px;
font: 16px/14px Tahoma, Verdana, sans-serif;
color: #c3c3c3;
text-decoration: none;
font-weight: bold;
background: transparent;
}
.leaflet-container a.leaflet-popup-close-button:hover {
color: #999;
}
.leaflet-popup-scrolled {
overflow: auto;
border-bottom: 1px solid #ddd;
border-top: 1px solid #ddd;
}
.leaflet-oldie .leaflet-popup-content-wrapper {
zoom: 1;
}
.leaflet-oldie .leaflet-popup-tip {
width: 24px;
margin: 0 auto;
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}
.leaflet-oldie .leaflet-popup-tip-container {
margin-top: -1px;
}
.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
border: 1px solid #999;
}
/* div icon */
.leaflet-div-icon {
background: #fff;
border: 1px solid #666;
}
/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
position: absolute;
padding: 6px;
background-color: #fff;
border: 1px solid #fff;
border-radius: 3px;
color: #222;
white-space: nowrap;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
pointer-events: none;
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
}
.leaflet-tooltip.leaflet-clickable {
cursor: pointer;
pointer-events: auto;
}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
position: absolute;
pointer-events: none;
border: 6px solid transparent;
background: transparent;
content: "";
}
/* Directions */
.leaflet-tooltip-bottom {
margin-top: 6px;
}
.leaflet-tooltip-top {
margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
left: 50%;
margin-left: -6px;
}
.leaflet-tooltip-top:before {
bottom: 0;
margin-bottom: -12px;
border-top-color: #fff;
}
.leaflet-tooltip-bottom:before {
top: 0;
margin-top: -12px;
margin-left: -6px;
border-bottom-color: #fff;
}
.leaflet-tooltip-left {
margin-left: -6px;
}
.leaflet-tooltip-right {
margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
top: 50%;
margin-top: -6px;
}
.leaflet-tooltip-left:before {
right: 0;
margin-right: -12px;
border-left-color: #fff;
}
.leaflet-tooltip-right:before {
left: 0;
margin-left: -12px;
border-right-color: #fff;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More