Replacing with updated code
32
.eslintrc
|
@ -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
|
||||
}
|
||||
}
|
|
@ -1,2 +1,6 @@
|
|||
/nbproject/
|
||||
*.clpprj
|
||||
################################################################################
|
||||
# Il file gitignore è stato creato automaticamente da Microsoft(R) Visual Studio.
|
||||
################################################################################
|
||||
|
||||
/.vs
|
||||
node_modules
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"commitMessage": "version %s",
|
||||
"tagName": "%s",
|
||||
"scripts": {
|
||||
"postcommit": "git push && git push --tags && npm publish"
|
||||
}
|
||||
}
|
|
@ -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; }
|
|
@ -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
|
@ -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.
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
};
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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
|
@ -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">relative path to your gpx<"] or [sgpx gpx=">http://somesite.com/files/yourfile.gpx<"]
|
||||
|
||||
## 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
|
|
@ -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);
|
||||
}
|
|
@ -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);
|
||||
};
|
||||
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
{
|
||||
"commitMessage": "version %s",
|
||||
"tagName": "%s",
|
||||
"scripts": {
|
||||
"postcommit": "git push && git push --tags && npm publish"
|
||||
}
|
||||
}
|
|
@ -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; }
|
|
@ -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;
|
||||
})();
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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/
|
||||
|
|
|
@ -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"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -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: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> © <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: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> © <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>
|
||||
|
|
|
@ -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"
|
||||
}
|
||||
|
|
1507
WP-GPX-Maps.js
|
@ -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;
|
||||
}
|
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 14 KiB |
|
@ -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 |
|
@ -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;
|
||||
}
|
|
@ -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];
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
};
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
|
@ -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 © <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 © <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 © <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 © <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 © <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 © <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 © <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 © <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 © <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 © <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 © <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 © <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: '© <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é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;
|
|
@ -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});'> </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));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
BIN
backToCenter.png
Before Width: | Height: | Size: 3.1 KiB |
33
bower.json
|
@ -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"
|
||||
]
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
Before Width: | Height: | Size: 3.1 KiB |
BIN
expand.png
Before Width: | Height: | Size: 1.5 KiB |
BIN
goFullScreen.png
Before Width: | Height: | Size: 3.1 KiB |
BIN
hideImages.png
Before Width: | Height: | Size: 3.0 KiB |
BIN
icon-128x128.png
Before Width: | Height: | Size: 7.1 KiB |
BIN
icon-256x256.png
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 215 B |
Before Width: | Height: | Size: 139 B |
1
icon.svg
|
@ -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 |
|
@ -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 |
|
@ -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 |
51
index.html
|
@ -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: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> © <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>
|
3041
js/WP-GPX-Maps.js
|
@ -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 "Запази Промените"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 → (Only flat distance, don’t take care of altitude)"
|
||||
msgstr "平面 → (上り下りを含まない水平距離)"
|
||||
|
||||
#: ../wp-gpx-maps_admin_settings.php:101
|
||||
msgid "Climb ↑ (Only climb distance)"
|
||||
msgstr "登りのみ ↑"
|
||||
|
||||
#: ../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’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’s 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’s 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’t parse xml file!"
|
||||
msgstr "エラー:XMLファイルをパース出来ません!"
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 "Сохранить изменения"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
BIN
layers-2x.png
Before Width: | Height: | Size: 1.2 KiB |
BIN
layers.png
Before Width: | Height: | Size: 696 B |
13926
leaflet-src.esm.js
14020
leaflet-src.js
640
leaflet.css
|
@ -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;
|
||||
}
|