console.log('no normal webpage');/** * Created by sofos on 15/09/16. */ function GetXmlHttpObject() { if (window.XMLHttpRequest) { return new XMLHttpRequest();// code for IE7+, Firefox, Chrome, Opera, Safari } if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP");// code for IE6, IE5 } return null; } var browser = (function(){ var self = {}; self.ie = (navigator.appName == 'Microsoft Internet Explorer') ; self.chrome = /chrome/i.test( navigator.userAgent ); self.ff = /Firefox/i.test(navigator.userAgent); self.getSize = function(){ } self.size = function(){ return [(self.ie)?document.body.clientWidth:window.innerWidth,(self.ie)?document.body.clientHeight:window.innerHeight]; } self.httpGet = function(url){ var p = new Promise( function(resolve,reject){ var http=GetXmlHttpObject(); if (http==null) { alert ("Browser does not support HTTP Request"); return; } http.onreadystatechange=function () { if (this.readyState==4) { var data = this.responseText; resolve(data); } }; http.open("GET",url,true); http.send(null); } ); return p; } return self; })(); if(typeof $ === "undefined" && !(typeof jQuery === "undefined")){ $=jQuery; console.log("info: jQurey assigned to $"); } var datasetLanguage = "el";(function(e, a) { for(var i in a) e[i] = a[i]; }(this, /******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // identity function for calling harmony imports with the correct context /******/ __webpack_require__.i = function(value) { return value; }; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { /******/ configurable: false, /******/ enumerable: true, /******/ get: getter /******/ }); /******/ } /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = 4); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var loader_1 = __webpack_require__(5); exports.gsMapInitStartFunctionList = []; exports.gsMapInitEndFunctionList = []; exports.gsMapClickNotFoundFunctionList = []; exports.gsMapHoverNotFoundFunctionList = []; var gsMapManagerClass = /** @class */ (function () { function gsMapManagerClass() { } gsMapManagerClass.prototype.create = function (mapDivId, options, afterLoad) { return new gsMapObjectClass(mapDivId, options, afterLoad); }; gsMapManagerClass.prototype.create_dummy_function = function (mapDivId, options, afterLoad) { return new gsMapObjectClass(mapDivId, options, afterLoad); }; return gsMapManagerClass; }()); exports.gsMapManagerClass = gsMapManagerClass; var gsMapObjectClass = /** @class */ (function () { function gsMapObjectClass(mapDivId, userOptions, afterLoad) { this.mapDivId = mapDivId; this.userOptions = userOptions; this.afterLoad = afterLoad; this.dom = null; this.activeBaseLayer = null; this.map = null; this.state = { zoom: 0 }; this.hllayer = null; this.hlsource = null; this.onZoomLeveChangedCustomFunctions = []; this.gsLayers = {}; this.tooltip = {}; this.mapCustomEventsHandler = new loader_1.MapCustomEvents(); this.registerMapHoverNotFoundFunction = function (fn) { exports.gsMapHoverNotFoundFunctionList.push(fn); }; this.flytoextentR = function (params, self) { if (!self) { self = this; } ; var extent = [ Math.min(params.extent[0], params.extent[2]), Math.min(params.extent[1], params.extent[3]), Math.max(params.extent[0], params.extent[2]), Math.max(params.extent[1], params.extent[3]) ]; var ms = params.ms || 1000; var scalefactor = params.scalefactor || 1.0; var resolve = params.resolve || function () { }; extent = self.scaleExtent(extent, scalefactor); var view = self.map.getView(); var start = +new Date(); console.log("dm-001: disabled animate"); // var pan = ol.animation.pan({ // duration: ms, // source: /** @type {ol.Coordinate} */ (view.getCenter()), // start: start // }); // var zoom = ol.animation.zoom({ // duration: ms, // resolution: 1.0 * view.getResolution(), // start: start // }); // self.map.beforeRender(pan, zoom); // console.log("dm-001: disabled animate"); // console.log(extent); // console.log(self.map.getView()); try { self.map.getView().fit(extent, { duration: 1000 }); //, self.map.getSize()); } catch (err) { console.log(err); } setTimeout(function () { resolve(self); }, ms); return self; }; this.flytoR = function (params, self) { var z = params.z || self.state.zoom; var x = params.x; var y = params.y; var ms = params.ms || 1000; var resolve = params.resolve || function () { }; console.log("dm-001: disabled animate"); // var pan = ol.animation.pan({ // source: self.map.getView().getCenter(), // duration: ms // }); // var zoom = ol.animation.zoom({ // duration: ms, // resolution: self.map.getView().getResolution() // }); // self.map.beforeRender(pan, zoom); // self.map.setView(new ol.View({ // center: self.ll2xy([x, y]), // zoom: z // }));//.setCenter(ll2xy([x,y])); self.map.getView().animate({ zoom: z, center: self.ll2xy([x, y]) }); self.state.zoom = z; setTimeout(function () { resolve(self); }, ms); return self; }; this.highlightPointR = function (params, self) { self.hlsource.clear(); var x = params.x; var y = params.y; var ms = params.ms || 1000; // var color = params.c || 1000; var resolve = params.resolve || function () { }; var f = self.feature_from_coor(x, y); var s = self.pointStyle('#ff0000', [0, 0, 0, 0.5], 0, 18, ''); f.setStyle(s); self.hlsource.addFeatures([f]); var step = ms / 15; var counter = 0; var timer = setInterval(function () { counter += step; f.setStyle(self.pointStyle('#ff0000', [0, 0, 0, 0.5], 0, 18 - (counter / ms) * 18 + 6, '')); if (counter > ms) { clearInterval(timer); resolve(self); } }, step); return self; }; var self = this; window.addEventListener('load', function () { self.init(); if (self.afterLoad != undefined) self.afterLoad(self); }, false); } gsMapObjectClass.prototype.init = function () { var self = this; for (var i in exports.gsMapInitStartFunctionList) exports.gsMapInitStartFunctionList[i](self); this.dom = document.getElementById(this.mapDivId); console.log(self.userOptions); this.mapCustomEventsHandler.registerMapCustomEvents(self, self.userOptions.events); var mapOpacity = self.userOptions.opacity || 1.0; if (self.userOptions.url == 'bing') { var styles = [ 'Road', 'Aerial', 'AerialWithLabels', 'collinsBart', 'ordnanceSurvey' ]; this.activeBaseLayer = new ol.layer.Tile({ opacity: mapOpacity, source: new ol.source.BingMaps({ key: 'AnOH4hX_YaNwHAdisvgGuUAGcEXxFYE2TwJsswR-vZTSEaTHffULolihVlFpIhjv', imagerySet: styles[1] }) }); } else { this.activeBaseLayer = new ol.layer.Tile({ opacity: mapOpacity, source: new ol.source.XYZ({ url: (self.userOptions.url || 'https://anadigit.fr/wms/wmsolv3xyz2.php?z={z}&x={x}&y={y}&t=15') // 'http://a.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png') , crossOrigin: null }) }); } this.state.zoom = (self.userOptions.zoom || 4); var myControls = ol.control.defaults({ attribution: false, zoom: (self.userOptions.showZoomTool == 1) }); //if(self.userOptions.showZoomTool == 1) myControls.extend([new ol.control.ZoomSlider()]); this.map = new ol.Map({ controls: myControls, layers: [ this.activeBaseLayer ], target: this.mapDivId, view: new ol.View({ center: self.ll2xy([(self.userOptions.lng || 15), (self.userOptions.lat || 44)]), zoom: this.state.zoom }) }); this.map.getView().on('propertychange', function (e) { switch (e.key) { case 'resolution': self.state.zoom = this.getZoom(); break; case 'center': break; } }); this.hlsource = new ol.source.Vector({ wrapX: false, noWrap: true }); this.hllayer = new ol.layer.Vector({ source: this.hlsource, visible: true }); this.map.addLayer(this.hllayer); this.map.on('pointermove', function (evt) { var found = false; self.map.forEachFeatureAtPixel(evt.pixel, function (feature, layer) { if (!layer) { return; } if (feature.get('msp')) { found = true; if (feature.get('msp').hover) feature.get('msp').hover(self, feature, layer, evt.pixel); } }); if (!found) { for (var i in exports.gsMapHoverNotFoundFunctionList) exports.gsMapHoverNotFoundFunctionList[i](self); } }); this.map.on('click', function (evt) { var found = false; self.map.forEachFeatureAtPixel(evt.pixel, function (feature, layer) { if (!layer) { return; } if (feature.get('msp')) { found = true; if (feature.get('msp').click.length > 0) { feature.get('msp').click.forEach(function (f) { f(self, feature, layer, evt.pixel); }); } /* else { if (feature.get('msp').click.length!=0) feature.get('msp').click(self, feature, layer, evt.pixel); }*/ } }); if (!found) { for (var i in exports.gsMapClickNotFoundFunctionList) exports.gsMapClickNotFoundFunctionList[i](self); } }); this.map.getView().on('propertychange', function (e) { switch (e.key) { case 'resolution': for (var i in self.onZoomLeveChangedCustomFunctions) self.onZoomLeveChangedCustomFunctions[i](self, self.state.zoom); break; } }); for (var i in exports.gsMapInitEndFunctionList) exports.gsMapInitEndFunctionList[i](self); var adventureCollectionsKeys = (self.userOptions.ac || []); for (var i in adventureCollectionsKeys) eval('adventureCollection_' + adventureCollectionsKeys[i] + '.registerMap(this);'); var poiCollectionsKeys = (self.userOptions.pc || []); for (var i in poiCollectionsKeys) eval('poiCollection_' + poiCollectionsKeys[i] + '.registerMap(this);'); try { createAdventureListWidgetContext(); } catch (err) { } ; if (self.userOptions.showLogo == 1) { var d = document.createElement('div'); d.style.position = 'absolute'; d.style.top = '10px'; d.style.right = '10px'; d.innerHTML = ''; this.dom.appendChild(d); } }; gsMapObjectClass.prototype.registerOnZoomChangedFunction = function (fn) { this.onZoomLeveChangedCustomFunctions.push(fn); }; gsMapObjectClass.prototype.waitR = function (params, self) { var ms = params.ms; var resolve = params.resolve || function () { }; setTimeout(function () { resolve(self); }, ms); return self; }; gsMapObjectClass.prototype.executeSeq = function (fc) { this.executeSeqItem(fc, 0, this); }; gsMapObjectClass.prototype.executeSeqItem = function (fc, index, self) { var _this = this; /*let p = */ new Promise(function (resolve, reject) { fc[index][1].resolve = resolve; fc[index][0](fc[index][1], _this); }).then(function (self) { if (index < (fc.length - 1)) { self.executeSeqItem(fc, index + 1, self); } }); }; gsMapObjectClass.prototype.getZoom = function () { return this.map.getView().getZoom(); }; gsMapObjectClass.prototype.scaleExtent = function (extent, scaleFactor) { var m = [(extent[0] + extent[2]) / 2, (extent[1] + extent[3]) / 2]; return [ m[0] - (m[0] - extent[0]) * scaleFactor, m[1] - (m[1] - extent[1]) * scaleFactor, m[0] + (m[0] - extent[0]) * scaleFactor, m[1] + (m[1] - extent[1]) * scaleFactor ]; }; return gsMapObjectClass; }()); exports.gsMapObjectClass = gsMapObjectClass; /* new ol.layer.Tile({ source: new ol.source.XYZ({ url: 'https://anadigit.fr/wms/wmsolv3xyz2.php?z={z}&x={x}&y={y}&t=15', crossOrigin: 'null', projection: projection, tileGrid: new ol.tilegrid.TileGrid({ origin: ol.extent.getTopLeft(projectionExtent), resolutions: resolutions, tileSize: 256 }) }) });*/ /* this.activeBaseLayer =new ol.layer.Tile({ source: new ol.source.XYZ({ // /url: 'http://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer/tile/${z}/${y}/${x}' // url: 'https://a.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png' // url:'http://{s}.basemaps.cartocdn.com/dark_nolabels/{z}/{x}/{y}.png' // url:'http://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png' // url:'http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}' url:'http://a.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png' //url:'http://a.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png' //["https://a.tile.thunderforest.com/outdoors/${z}/${x}/${y}.png", //"https://b.tile.thunderforest.com/outdoors/${z}/${x}/${y}.png", //"https://c.tile.thunderforest.com/outdoors/${z}/${x}/${y}.png"] , crossOrigin: null }) })*/ /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function isTouchDevice() { return 'ontouchstart' in document.documentElement; } function load(gsMapClickNotFoundFunctionList, gsMapHoverNotFoundFunctionList, gsMapInitEndFunctionList, gsMapInitStartFunctionList) { gsMapInitStartFunctionList.push(function (map) { var self = map; map.gsLayers = {}; map.gsLayers.item = []; map.gsLayers.addGeoJsonPromise = function (name, url, style, params) { return Promise.resolve().then((function () { return this.addGeoJson(name, url, style, params); }).bind(this, true)); }; map.gsLayers.removeLayer = function (name) { var layer = self.gsLayers.get(name); if (layer) { layer.remove(); } }; map.gsLayers.addGeoJson = function (name, url, style, params) { var item = { active: true, currentFilterMatchParams: undefined }; item.name = name; item.visible = function (value) { if (value) { item.show(); } else { item.hide(); } }; item.remove = function () { var index = map.gsLayers.item.findIndex(function (i) { return i.name === item.name; }); if (index !== -1) { map.map.removeLayer(item.layer); map.gsLayers.item.splice(index, 1); item = undefined; return true; } return false; }; item.hide = function () { if (item.active) { map.map.removeLayer(item.layer); } item.active = false; }; item.show = function () { if (!item.active) { map.map.addLayer(item.layer); } item.active = true; }; item.getExtent = function () { return item.source.getExtent(); }; if (Object.keys(style).length > 0) { item.styleParams = style.styleParams || {}; } else { item.styleParams = {}; style = undefined; } item.source = new ol.source.Vector({ url: url, format: new ol.format.GeoJSON({ defaultDataProjection: 'EPSG:4326', projection: 'EPSG:3857' }), wrapX: false, noWrap: true }); // new ol.source.Vector({wrapX: false, noWrap: true}); item.layer = new ol.layer.Vector({ source: item.source, visible: true, style: style }); if (params) { if (params.minlevel) { map.registerOnZoomChangedFunction(function (a) { if (params.minlevel > map.state.zoom) { item.hide(); } else { item.show(); } }); } var clickFunctionList = []; if (params.events) { if (params.events.click) { var eventParams = this.eventParams; clickFunctionList.push(function (s, f, l) { var eventParams = f.get('msp').eventParams; for (var i in eventParams.click) { var clickEvent = eventParams.click[i]; if (clickEvent.type === 'modalImage') { var div = document.getElementById('myModal'); if (!div) { console.error('div with id myModal does not exist'); } var width = ''; if (clickEvent.style) { if (clickEvent.style.width) { width = 'width:' + clickEvent.style.width + 'px'; } } div.innerHTML = ''; setTimeout(function () { $('#myModal').modal('show'); }, 200); } if (clickEvent.type === 'function') { clickEvent.function(map, f); } if (clickEvent.type === 'hide') { item.hide(); } } }); } } var hoverFunction = function (s, l, f, p) { }; if (params.tooltip) { if (!isTouchDevice()) { hoverFunction = function (s, f, l, p) { s.tooltip.setContent(this.tooltip_prefix + f.get(this.tooltip_key) + this.tooltip_sufix, this.tooltipParams); s.tooltip.setPosition(p); }; } else { clickFunctionList.push(function (s, f, l, p) { var self = f.get('msp'); s.tooltip.setContent(self.tooltip_prefix + f.get(self.tooltip_key) + self.tooltip_sufix, self.tooltipParams); s.tooltip.setPosition(p); }); } } if (params.tooltip || params.events) { item.source.on('addfeature', function (e) { e.feature.set('msp', { tooltipParams: params.tooltip, eventParams: params.events, tooltip_key: ((params.tooltip) ? params.tooltip.key : undefined), tooltip_prefix: ((params.tooltip) ? params.tooltip.prefix || '' : ''), tooltip_sufix: ((params.tooltip) ? params.tooltip.sufix || '' : ''), click: clickFunctionList, hover: hoverFunction }); }); } if (params.zIndex) { item.layer.setZIndex(params.zIndex); } } map.map.addLayer(item.layer); // console.log(map); map.gsLayers.item.push(item); return item; }; map.gsLayers.filter = function (layerName, match) { var found = false; for (var i in map.gsLayers.item) { if (map.gsLayers.item[i].name == layerName) { var item = map.gsLayers.item[i]; if (!(item.currentFilterMatchParams === match)) { found = true; item.currentFilterMatchParams = match; if (item.styleParams.type == 'icon') { item.layer.setStyle(map.pointStyleIconFiltered(item.styleParams, match)); } if (item.styleParams.type == 'polygon') { item.layer.setStyle(map.polygonStyleFiltered(item.styleParams, match)); } if (item.styleParams.type == 'linestring') { item.layer.setStyle(map.linestringStyleFiltered(item.styleParams, match)); } } } } if (found) { console.log('style is function type. should be applied on features to avoid restyling on each render.'); } }; map.gsLayers.get = function (layerName) { return map.gsLayers.item.filter(function (e) { return e.name === layerName; })[0]; }; }); gsMapInitEndFunctionList.push(function (map) { //console.log(map); }); } exports.load = load; /***/ }), /* 2 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function load(gsMapClickNotFoundFunctionList, gsMapHoverNotFoundFunctionList, gsMapInitEndFunctionList, gsMapInitStartFunctionList) { gsMapInitStartFunctionList.push(function (map) { map.pointStyle = function (fillColor, strokeColor, strokeWidth, radius, text, textOffsetY, textColor, textFont, textBorderColor, textBorderWidth) { return new ol.style.Style({ image: new ol.style.Circle({ radius: radius, fill: new ol.style.Fill({ color: fillColor }), stroke: new ol.style.Stroke({ color: strokeColor, width: strokeWidth }) }), text: new ol.style.Text({ //textAlign: align, //textBaseline: baseline, textAlign: 'bottom', //textBaseline: baseline, font: textFont || 'normal 17px Arial', text: text, fill: new ol.style.Fill({ color: textColor }), stroke: new ol.style.Stroke({ color: textBorderColor || 'white', width: textBorderWidth || 1.5 }), offsetX: 10, offsetY: textOffsetY, rotation: 0 }) }); }; map.gsStyle = function (params) { var st = {}; var type = params.type; var dynamic = (params.dynamic) ? true : false; if (dynamic) { if (type == 'icon') { st = map.pointStyleIconDynamic(params); } if (type == 'point') { st = map.pointStylePointDynamic(params); } } else { if (type == 'icon') { st = map.pointStyleIcon(params); } if (type == 'point') { st = map.pointStylePoint(params); } if (type == 'polygon') { st = map.polygonStyle(params); } if (type == 'linestring') { st = map.linestringStyle(params); } if (type == 'multilinestring') { st = map.multilinestringStyle(params); } } st.styleParams = params; return st; }; map.pointStyleIcon = function (params) { //console.log(params); var iconUrl = params.iconUrl; var scale = params.scale || 0.25; var st = new ol.style.Style({ image: new ol.style.Icon({ //anchor: [0.5, 0.5], // size: [52, 52], //offset: [52, 0], //opacity: 1, scale: scale, src: iconUrl }) }); //st.styleParams = params; return st; }; /****************************** */ map.pointStylePoint = function (params) { if (params.text && typeof params.text === 'object' && params.text.key) { var key_1 = params.text.key; var textFont_1 = 'normal 13px Arial'; if (params.text.size) { textFont_1 = "normal " + params.text.size + "px Arial"; } var textColor_1 = params.text.color || params.color || 'black'; var textBorderColor_1 = params.text.border.color; var textBorderWidth_1 = params.text.border.width; return function (feature) { var text = feature.getProperties()[key_1]; return map.pointStyle(params.fill || 'white', params.color || 'black', params.width || 1, params.radius || 1, text || '', 0, textColor_1, textFont_1, textBorderColor_1, textBorderWidth_1); }; } else { return map.pointStyle(params.fill || 'white', params.color || 'black', params.width || 1, params.radius || 1, params.text || '', 0, params.color || 'black', 'normal 13px Arial'); } }; map.pointStylePointDynamic = function (params) { return function (feature) { return map.pointStylePointDynamicObject(params, feature); }; }; map.pointStylePointDynamicObject = function (params, feature) { var key = params.dynamic.key; var p = feature.getProperties(); var dynamic_params = params.dynamic[p[key]]; if (dynamic_params) { return map.pointStylePoint(dynamic_params); } return map.pointStylePoint(params); }; map.polygonStyle = function (params) { var fill = params.fill || 'white'; var color = params.color || 'black'; var width = params.width || 1; var st = new ol.style.Style({ stroke: new ol.style.Stroke({ color: color, width: width }), fill: new ol.style.Fill({ color: fill }) }); return st; }; map.linestringStyle = function (params) { var color = params.color || 'black'; var width = params.width || 1; var st = new ol.style.Style({ stroke: new ol.style.Stroke({ color: color, width: width }) }); return st; }; map.multilinestringStyle = function (params) { var compositeStyleArray = null; ; if (params.compositeStyleArray) { if (typeof params.compositeStyleArray === 'function') { compositeStyleArray = params.compositeStyleArray || [{ color: 'black', width: 4 }, { color: 'red', width: 2 }]; } else { compositeStyleArray = params.compositeStyleArray || [{ color: 'black', width: 4 }, { color: 'red', width: 2 }]; } } else { } var color; if (params.color instanceof String) { color = params.color || 'black'; } else { color = params.color || 'black'; } var width; if (params.width instanceof Number) { width = params.width || 1; } else { width = params.width || 1; } var paramIndex = params.paramIndex; return function (feature) { var myStyles = null; feature.getGeometry().getLineStrings().forEach(function (ls) { if (compositeStyleArray) { var myCompositeStyleArray = void 0; if (typeof compositeStyleArray === 'function') { myCompositeStyleArray = compositeStyleArray(ls.getCoordinates()[0][paramIndex]); } else { myCompositeStyleArray = compositeStyleArray; } if (myStyles === null) { myStyles = []; myCompositeStyleArray.forEach(function (s) { myStyles.push([]); }); } ; myCompositeStyleArray.forEach(function (s, i) { if (!myStyles[i]) { myStyles[i] = []; } ; myStyles[i].push(new ol.style.Style({ geometry: ls, stroke: new ol.style.Stroke({ color: s.color, width: s.width }) })); }); } else { myStyles = [[]]; var mycolor = void 0; if (typeof color == 'string') { mycolor = color; } else { mycolor = color(ls.getCoordinates()[0][paramIndex]); } var mywidth = void 0; if (typeof width == 'number') { mywidth = width; } else { mywidth = width(ls.getCoordinates()[0][paramIndex]); } myStyles[0].push(new ol.style.Style({ geometry: ls, stroke: new ol.style.Stroke({ color: mycolor, width: mywidth }) })); } }); var outStyles = []; myStyles.forEach(function (s) { outStyles.push.apply(outStyles, s); }); feature.setStyle(outStyles); }; }; map.pointStyleIconDynamic = function (params) { return function (feature) { return map.pointStyleIconDynamicObject(params, feature); }; }; map.pointStyleIconDynamicObject = function (params, feature) { var key = params.dynamic.key; var p = feature.getProperties(); var dynamic_params = params.dynamic[p[key]]; if (dynamic_params) { return map.pointStyleIcon(dynamic_params); } return map.pointStyleIcon(params); }; map.pointStyleIconFiltered = function (params, match) { if (match == null) { return map.gsStyle(params); } ; return function (feature) { var st = {}; var p = feature.getProperties(); var show = true; for (var i in match) { if (match[i].constructor === Array) { if (match[i].indexOf(p[i]) === -1) show = false; } else { if (p[i] != match[i]) { show = false; } } } if (show != true) { st = new ol.style.Style(null); st.styleParams = params; return st; } var dynamic = (params.dynamic) ? true : false; if (dynamic) { st = map.pointStyleIconDynamicObject(params, feature); st.styleParams = params; return st; } st = map.pointStyleIcon(params); st.styleParams = params; return st; }; }; map.polygonStyleFiltered = function (params, match) { if (match == null) { return map.gsStyle(params); } ; return function (feature) { // console.log('pointStyleIconFiltered'); var st = {}; var p = feature.getProperties(); var show = true; for (var i in match) { if (p[i] != match[i]) { show = false; } ; } if (show != true) { st = new ol.style.Style(null); st.styleParams = params; return st; } ; /* var dynamic = (params.dynamic) ? true : false; if (dynamic) { st = map.pointStyleIconDynamicObject(params, feature); st.styleParams = params; return st; }*/ st = map.polygonStyle(params); st.styleParams = params; return st; }; }; map.linestringStyleFiltered = function (params, match) { if (match == null) { return map.gsStyle(params); } ; return function (feature) { // console.log('pointStyleIconFiltered'); var st = {}; var p = feature.getProperties(); var show = true; for (var i in match) { if (p[i] != match[i]) { show = false; } ; } if (show != true) { st = new ol.style.Style(null); st.styleParams = params; return st; } ; st = map.linestringStyle(params); st.styleParams = params; return st; }; }; map.feature_from_coor = function (x, y, msp) { msp = msp || null; return new ol.Feature({ geometry: new ol.geom.Point(ol.proj.transform([x, y], 'EPSG:4326', 'EPSG:3857')) //,color:value.c , msp: msp }); }; map.ll2xy = function (data) { if (data.length == 2) { return ol.proj.transform(data, 'EPSG:4326', 'EPSG:3857'); } else if (data.length == 4) { var p1 = ol.proj.transform([data[0], data[1]], 'EPSG:4326', 'EPSG:3857'); var p2 = ol.proj.transform([data[2], data[3]], 'EPSG:4326', 'EPSG:3857'); return [p1[0], p1[1], p2[0], p2[1]]; } else { alert('unhandled'); } }; map.llArray2xy = function (data) { var out = []; for (var i in data) { out.push(this.ll2xy(data[i])); } return out; }; }); gsMapInitEndFunctionList.push(function (map) { //console.log(map); }); } exports.load = load; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function load(gsMapClickNotFoundFunctionList, gsMapHoverNotFoundFunctionList, gsMapInitEndFunctionList, gsMapInitStartFunctionList) { gsMapInitStartFunctionList.push(function (map) { }); gsMapInitEndFunctionList.push(function (map) { //console.log(map); var self = map; map.tooltip = {}; map.tooltip.dom = map.dom.appendChild(document.createElement('div')); map.tooltip.dom.style['position'] = 'absolute'; map.tooltip.dom.style['padding'] = '2px'; map.tooltip.dom.style['padding-left'] = '5px'; map.tooltip.dom.style['padding-right'] = '5px'; map.tooltip.dom.style['background-color'] = 'rgba(0,0,0,0.7)'; map.tooltip.dom.style['border-radius'] = '3px'; map.tooltip.dom.style['overflow'] = 'hidden'; map.tooltip.dom.style['color'] = 'rgba(255,255,255,1)'; map.tooltip.hide = function () { map.tooltip.dom.hidden = true; }; map.tooltip.setPosition = function (pos) { map.tooltip.dom.hidden = false; map.tooltip.dom.style.left = pos[0] + 20 + 'px'; map.tooltip.dom.style.top = pos[1] - 10 + 'px'; }; map.tooltip.setContent = function (content, params) { if (params.background) self.tooltip.dom.style['background-color'] = params.background; if (params.color) self.tooltip.dom.style['color'] = params.color; self.tooltip.dom.innerHTML = content; }; map.registerMapHoverNotFoundFunction(map.tooltip.hide); //map.tooltip.dom.innerHTML = '
'; }); } exports.load = load; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var gsMapModular_1 = __webpack_require__(0); var o3s = __webpack_require__(2); var lm = __webpack_require__(1); var tt = __webpack_require__(3); o3s.load(gsMapModular_1.gsMapClickNotFoundFunctionList, gsMapModular_1.gsMapHoverNotFoundFunctionList, gsMapModular_1.gsMapInitEndFunctionList, gsMapModular_1.gsMapInitStartFunctionList); lm.load(gsMapModular_1.gsMapClickNotFoundFunctionList, gsMapModular_1.gsMapHoverNotFoundFunctionList, gsMapModular_1.gsMapInitEndFunctionList, gsMapModular_1.gsMapInitStartFunctionList); tt.load(gsMapModular_1.gsMapClickNotFoundFunctionList, gsMapModular_1.gsMapHoverNotFoundFunctionList, gsMapModular_1.gsMapInitEndFunctionList, gsMapModular_1.gsMapInitStartFunctionList); exports.gsMapManager = new gsMapModular_1.gsMapManagerClass(); /***/ }), /* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var MapCustomEvents = /** @class */ (function () { function MapCustomEvents() { } MapCustomEvents.prototype.registerMapCustomEvents = function (map, params) { if (params) { if (params.zoom) { params.zoom.forEach(function (e) { if (e.type === 'function') { map.registerOnZoomChangedFunction(e.function); } }); } } }; return MapCustomEvents; }()); exports.MapCustomEvents = MapCustomEvents; /***/ }) /******/ ]))); function getAdventureCollection(key,data,meta){ this.key = key; this.data = data; this.meta = meta; this.gsMap = null; this.pointFeatures = [] ; this.lineFeatures = [] ; var self = this; this.source = new ol.source.Vector({wrapX: false, noWrap: true}); this.layer = new ol.layer.Vector({ source: this.source, //clusterSource visible:true }); this.registerMap = function(gsMap){ this.gsMap = gsMap; this.gsMap.map.addLayer(this.layer); this.createFeatures(); } this.createFeatures = function(){ this.createPointFeatures(); this.createLineFeatures(); } this.createPointFeatures = function(){ this.pointFeatures=[]; for(var i in this.data){ var f = this.gsMap.feature_from_coor(this.data[i].x,this.data[i].y,this.pointMsp(this.data[i])); var s = this.adventureIconPointStyle(this.data[i].activity_type,this.data[i].difficulty);//this.gsMap.pointStyle("#ff0000", [0, 0, 0, 0.5], 0, 5, ""); f.setStyle(s); this.pointFeatures.push(f); } this.source.addFeatures(this.pointFeatures); } this.createLineFeatures = function(){ this.lineFeatures=[]; var mycolor = 'rgba(0,97,47,1)'; var mywidth = 1; if(this.meta['style']) if(this.meta['style']['default']) mycolor = this.meta['style']['default']['color']; if(this.meta['style']) if(this.meta['style']['default']) mywidth = this.meta['style']['default']['width']; for(var i in this.data){ var ccolor = mycolor, cwidth=mywidth; if(this.meta['style']) if(this.meta['style'][this.data[i].path]) if(this.meta['style'][this.data[i].path]['useStyle']) { ccolor = this.meta['style'][this.data[i].path]['color']; cwidth = this.meta['style'][this.data[i].path]['width']; } var f = new ol.Feature({ 'geometry': new ol.geom.LineString(this.gsMap.llArray2xy(this.data[i].coor)) }); f.setStyle( new ol.style.Style({ stroke: new ol.style.Stroke({color: (ccolor ), width: cwidth}) }) ); this.lineFeatures.push(f); } this.source.addFeatures(this.lineFeatures); } this.zoomTo = function(){ this.gsMap.map.getView().fit( this.gsMap.ll2xy(this.meta.extent), this.gsMap.map.getSize()); } this.pointMsp = function(item){ var myurl = this.meta.advPath + item.path; if(this.meta['style']) if(this.meta['style'][item.path]) if(this.meta['style'][item.path]['url']) myurl = this.meta['style'][item.path]['url']; var actiontype = "openulr"; if(this.meta['style']) if(this.meta['style']['default']) if(this.meta['style']['default']['action']) if(this.meta['style']['default']['action']['type']) actiontype = this.meta['style']['default']['action']['type']; return { path:item.path, click:[function(s,f,l){ var self = f.get('msp'); browser.httpGet('https://anadigit.fr/gsMap/modules/adventure/getView.php?i=' + self.path + '&l=' + datasetLanguage + '&u=' +encodeURIComponent(myurl)).then(function(data){ var html = data.split("",""); var div = document.getElementById("myModal"); div.innerHTML = ''; setTimeout(function () { eval(js); $('#myModal').modal('show'); }, 200); }); }]}; } this.adventureIconPointStyle = function(activity_type,difficulty){ var iconpath = 'https://anadigit.fr/TopoMedia/Icons/activity_adv_loc/activity_' + activity_type + '_' + difficulty + '_adv_loc.png'; return new ol.style.Style({ image: new ol.style.Icon({ src: iconpath, //size: [liconsize, liconsize] scale:0.4 })/*, stroke: new ol.style.Stroke({ color: (s_color ) ,width: 1+is301 + (map3.getZoom()-8) }) */}) } } var adventureCollection_cyclades_paros = new getAdventureCollection("cyclades_paros",[{"id":16676,"author":"AnaDigit","name_GR":"\u03a0\u03ac\u03c1\u03bf\u03c2: \u039a\u03c5\u03ba\u03bb\u03b9\u03ba\u03ae \u03c0\u03bf\u03c1\u03b5\u03af\u03b1 \u03c3\u03c4\u03bf \u039a\u03b1\u03bc\u03ac\u03c1\u03b9","description_GR":"\u039a\u03b1\u03bc\u03ac\u03c1\u03b9-\u0391\u03bd\u03b5\u03c1\u03b1\u03c4\u03b6\u03ac-\u03bc\u03bd\u03b7\u03bc\u03b5\u03af\u03bf \u03a3\u03c4\u03ad\u03bb\u03bb\u03b1-\u03bc\u03bf\u03bd\u03ae \u0391\u03b3\u03af\u03c9\u03bd \u0398\u03b5\u03bf\u03b4\u03ce\u03c1\u03c9\u03bd-\u039a\u03b1\u03bc\u03ac\u03c1\u03b9","path":"ISLANDS\/Islands_Paros_Kamari_loop","activity_type":32,"assistance":2,"difficulty":2,"scenic_value":3,"length":8347,"name_EN":"Paros: Kamari-loop trail","description_EN":"Kamari-Aneratza-Stella memorial-Aghii Theodori monastery-Kamari","ascent_time":190,"descent_time":190,"marker":"Red_dots","level":12,"ascent":334,"descent":334,"maxelev":409,"minelev":105,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.14774 37.00753,25.17448 37.03011)","views":20,"millestones":"0,25.1479587,37.0141009#1,25.1526507,37.0212453#2,25.1556334,37.0294436#3,25.1652272,37.0264563#4,25.1741808,37.0231628#5,25.1741773,37.0143753#6,25.1701751,37.0075823#7,25.1593122,37.0088778#8,25.1509422,37.0138856#8.3,25.1479573,37.0141032","x":25.173918,"y":37.0185567,"coor":[[25.1479587,37.0141009],[25.147977,37.0143419],[25.1477045,37.0149034],[25.1476737,37.015102],[25.1476713,37.0156879],[25.1475339,37.0162661],[25.1475623,37.0166624],[25.1477809,37.0169938],[25.148374,37.017565],[25.1486069,37.0181036],[25.148848,37.0184347],[25.1494855,37.0189694],[25.1500831,37.019838],[25.1507288,37.0201179],[25.1518803,37.0204402],[25.1522324,37.0206802],[25.1531157,37.0218524],[25.1541218,37.0229694],[25.1544667,37.0234708],[25.154655,37.0240278],[25.1546638,37.0246136],[25.1545488,37.0251826],[25.1541805,37.0261056],[25.1541583,37.026863],[25.1545243,37.0280222],[25.1550431,37.0288735],[25.1556479,37.0294625],[25.1562376,37.0297993],[25.1566893,37.0299301],[25.1578477,37.0299549],[25.1579076,37.0300106],[25.1581933,37.0297622],[25.1585863,37.0297764],[25.1589427,37.0295566],[25.1601932,37.0289855],[25.1610794,37.0281205],[25.1614579,37.0278734],[25.1645977,37.0266078],[25.1666588,37.0261188],[25.1671308,37.0261051],[25.1678406,37.0262063],[25.1682895,37.0261568],[25.1691731,37.0258597],[25.1706231,37.0251153],[25.1713178,37.0249642],[25.1724862,37.0249166],[25.1729338,37.024777],[25.1745641,37.0240668],[25.1743759,37.0234737],[25.1738805,37.0226944],[25.1734577,37.0215178],[25.1734066,37.0211217],[25.1734759,37.0205081],[25.1738756,37.0194585],[25.173918,37.0185567],[25.1742323,37.0177964],[25.1742889,37.0170928],[25.1744376,37.0165325],[25.1741715,37.0145791],[25.1742118,37.0135421],[25.1740965,37.0126238],[25.1743655,37.0116634],[25.1744632,37.0114371],[25.1743694,37.0111857],[25.1743877,37.0109151],[25.1740563,37.0105578],[25.1742684,37.0104656],[25.174412,37.0103019],[25.1745211,37.0100845],[25.1745188,37.0099403],[25.1741406,37.0094663],[25.1739814,37.0093417],[25.1730313,37.0089545],[25.1709795,37.0078209],[25.1701439,37.0075678],[25.1682476,37.0077758],[25.1677518,37.0076905],[25.1674261,37.0077027],[25.1671135,37.007841],[25.1667317,37.0078628],[25.1664631,37.0079375],[25.1652564,37.0084091],[25.1641714,37.0087533],[25.1631403,37.0089436],[25.1627923,37.0089741],[25.1622621,37.0088441],[25.161621,37.0088143],[25.1600042,37.0089293],[25.1590948,37.008857],[25.1587571,37.0088243],[25.1581862,37.0089741],[25.1575459,37.0089983],[25.1571541,37.0091013],[25.1566645,37.0094306],[25.1563114,37.0098667],[25.1539238,37.0110347],[25.1534457,37.0113819],[25.1535969,37.0117139],[25.1535204,37.0118589],[25.1530404,37.0120799],[25.151639,37.013067],[25.1513397,37.0133403],[25.1508773,37.0139848],[25.1505886,37.0141769],[25.1504683,37.0143944],[25.1499298,37.0144627],[25.1494564,37.0143771],[25.148759,37.0143478],[25.1479573,37.0141032]]},{"id":16677,"author":"AnaDigit","name_GR":"\u03a0\u03ac\u03c1\u03bf\u03c2: \u039b\u03b5\u03cd\u03ba\u03b5\u03c2-\u0394\u03c1\u03c5\u03cc\u03c2","description_GR":"\u039b\u03b5\u03cd\u03ba\u03b5\u03c2-\u039b\u03b1\u03b3\u03ba\u03ac\u03b4\u03b1-\u0394\u03c1\u03c5\u03cc\u03c2","path":"ISLANDS\/Islands_Paros_Lefkes_Dryos","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":3,"length":8825,"name_EN":"Paros: Lefkes-Dryos","description_EN":"Lefkes-Lagada-Dryos","ascent_time":200,"descent_time":205,"marker":"No_marks","level":12,"ascent":315,"descent":514,"maxelev":487,"minelev":13,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.20063 37.00487,25.22484 37.05737)","views":22,"millestones":"0,25.2064315,37.0573099#1,25.2053402,37.0498244#2,25.2032964,37.0426280#3,25.2005976,37.0351621#4,25.2027099,37.0270938#5,25.2023204,37.0209012#6,25.2026463,37.0135901#7,25.2087345,37.0066321#8,25.2184721,37.0075548#8.8,25.2248392,37.0048729","x":25.2031899,"y":37.0264683,"coor":[[25.2064315,37.0573099],[25.2065319,37.0572548],[25.2068333,37.0571165],[25.2064359,37.0568772],[25.2064786,37.0567325],[25.2066456,37.0566226],[25.2065974,37.0564226],[25.2067081,37.0563133],[25.2065497,37.055765],[25.2063312,37.0554608],[25.2065013,37.0550557],[25.2069116,37.054691],[25.2070217,37.0545006],[25.2062612,37.0541004],[25.2056956,37.053802],[25.2058813,37.0533697],[25.2059758,37.052233],[25.2061205,37.0521414],[25.2062126,37.0515636],[25.2061249,37.0509966],[25.2059355,37.0506177],[25.2056371,37.050019],[25.2052806,37.0497838],[25.2046397,37.0497903],[25.2048294,37.0496982],[25.2052332,37.049631],[25.205213,37.0483513],[25.2050981,37.0474871],[25.2047219,37.0471665],[25.2038959,37.0468413],[25.2031634,37.0460285],[25.2031284,37.0459478],[25.2033145,37.0457633],[25.2034958,37.0455857],[25.2032025,37.0448135],[25.2035368,37.0431967],[25.2032334,37.0424967],[25.2030723,37.0422639],[25.202963,37.0417513],[25.202687,37.0418036],[25.2021066,37.0413678],[25.2013059,37.0412137],[25.2009384,37.0407307],[25.2006079,37.0404456],[25.2006351,37.0400307],[25.2009391,37.0393426],[25.2008409,37.0388207],[25.2012342,37.0381385],[25.2011732,37.0371205],[25.2013076,37.036371],[25.2011959,37.0357051],[25.2008068,37.0352764],[25.2005346,37.0351259],[25.2002721,37.0348762],[25.2002703,37.0347591],[25.2006262,37.0345121],[25.2006665,37.034399],[25.2009479,37.0337021],[25.2009994,37.0334041],[25.2008127,37.0329733],[25.2009114,37.0328101],[25.2013232,37.0325445],[25.2013389,37.032337],[25.2013882,37.0316785],[25.2018419,37.0312142],[25.2018239,37.0310116],[25.2017081,37.0307965],[25.2015458,37.0304826],[25.2014122,37.029853],[25.2014116,37.0291049],[25.2015606,37.0285715],[25.201746,37.0282091],[25.2023636,37.0274457],[25.2031822,37.0265991],[25.2032371,37.0265174],[25.2031899,37.0264683],[25.2032197,37.0254179],[25.2037569,37.0245472],[25.2040687,37.0243637],[25.2040327,37.0242199],[25.2043786,37.0240541],[25.204274,37.0238388],[25.2040252,37.0237422],[25.2031096,37.0241391],[25.2026043,37.0241712],[25.2021185,37.0240229],[25.2020676,37.0236449],[25.2024008,37.0233891],[25.2024392,37.0229741],[25.2023108,37.0219568],[25.2021623,37.0218051],[25.2024006,37.0212348],[25.2023668,37.0210977],[25.2021965,37.0204076],[25.2030507,37.0189748],[25.2028663,37.0186882],[25.2024524,37.0188186],[25.2023236,37.0184864],[25.2024691,37.0177368],[25.2023294,37.0174317],[25.2016769,37.0172175],[25.2023702,37.0167192],[25.2027434,37.0161475],[25.2027279,37.0158773],[25.2022236,37.0152604],[25.2019752,37.0144788],[25.2025787,37.0136794],[25.2030873,37.0130073],[25.2029748,37.0122873],[25.2031469,37.0117988],[25.2036642,37.0110995],[25.2046612,37.010179],[25.20545,37.008882],[25.2062655,37.0085672],[25.2065713,37.0080053],[25.2073397,37.0075558],[25.2082898,37.0072216],[25.2083792,37.0071013],[25.2087411,37.0066221],[25.2095397,37.006659],[25.2101421,37.0063735],[25.2113925,37.0061128],[25.2117063,37.0060555],[25.2118531,37.0060991],[25.212013,37.0062597],[25.2122369,37.0062034],[25.2127283,37.006275],[25.213357,37.0062325],[25.2142859,37.0059796],[25.2145979,37.0058097],[25.2148772,37.0064152],[25.2155101,37.0066341],[25.2161364,37.0067471],[25.2172911,37.0069584],[25.2178382,37.0074395],[25.2182943,37.0077142],[25.2184047,37.0075869],[25.2191521,37.0072367],[25.2195747,37.0069529],[25.2199582,37.0070391],[25.2207553,37.0062805],[25.2211532,37.0058618],[25.2216015,37.0057851],[25.2215985,37.0055958],[25.2217969,37.0053504],[25.2220311,37.0052398],[25.2227157,37.0051787],[25.2231996,37.0052188],[25.2235125,37.0051074],[25.2246069,37.0053665],[25.2248392,37.0048729]]},{"id":16678,"author":"AnaDigit","name_GR":"\u03a0\u03ac\u03c1\u03bf\u03c2: \u039b\u03b5\u03cd\u03ba\u03b5\u03c2-\u03a0\u03c1\u03cc\u03b4\u03c1\u03bf\u03bc\u03bf\u03c2","description_GR":"","path":"ISLANDS\/Islands_Paros_Lefkes_Prodromos","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":4347,"name_EN":"Paros: Lefkes-Prodromos","description_EN":"","ascent_time":80,"descent_time":85,"marker":"Red_dots","level":12,"ascent":57,"descent":252,"maxelev":221,"minelev":20,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.20647 37.0496,25.24047 37.05976)","views":28,"millestones":"0,25.2064315,37.0573099#1,25.2139325,37.0562613#2,25.2240608,37.0587601#3,25.2325620,37.0559039#4,25.2381739,37.0498695#4.3,25.2404910,37.0509397","x":25.2266386,"y":37.059471,"coor":[[25.2064315,37.0573099],[25.2065319,37.0572548],[25.2068333,37.0571165],[25.2064359,37.0568772],[25.2064786,37.0567325],[25.2066456,37.0566226],[25.2065974,37.0564226],[25.2067081,37.0563133],[25.2073077,37.0560458],[25.208191,37.0558497],[25.2083619,37.055812],[25.2086957,37.0556756],[25.2084876,37.0553172],[25.2083668,37.0549286],[25.208542,37.0548028],[25.2088672,37.0547454],[25.2092507,37.0548136],[25.20963,37.0550216],[25.2100143,37.0551439],[25.2109814,37.055134],[25.2126702,37.0552519],[25.2130443,37.0554374],[25.2137757,37.0561691],[25.2143546,37.0565057],[25.2159675,37.0567956],[25.2168166,37.0571474],[25.2177096,37.0574267],[25.218121,37.0576163],[25.2191939,37.0581145],[25.220592,37.0583345],[25.2215681,37.0588833],[25.221998,37.0590411],[25.2232499,37.0592626],[25.223575,37.0591962],[25.2237848,37.0589506],[25.2240629,37.0587585],[25.2244683,37.0587903],[25.2258226,37.0590828],[25.2266386,37.059471],[25.2273371,37.0595449],[25.2282692,37.0594541],[25.2292142,37.0594714],[25.2302879,37.0590997],[25.2306216,37.0588709],[25.2307626,37.0585449],[25.2308858,37.0578225],[25.2311392,37.0574954],[25.2322804,37.056429],[25.2328478,37.0553504],[25.2331581,37.0550678],[25.2335366,37.0548295],[25.2338823,37.0546456],[25.2342519,37.0545516],[25.2344528,37.0544594],[25.2351485,37.053668],[25.2354426,37.053079],[25.2358345,37.0529735],[25.2358534,37.0527119],[25.2359821,37.0524086],[25.2360268,37.0523045],[25.2361261,37.0521863],[25.2365285,37.0520379],[25.2366808,37.0518943],[25.2362874,37.0513892],[25.2364289,37.0510992],[25.2370311,37.0507865],[25.2368127,37.0502795],[25.236922,37.0499539],[25.2370764,37.049763],[25.2374122,37.0496693],[25.2375477,37.049704],[25.2382705,37.0498947],[25.2389857,37.0496168],[25.2392975,37.0501184],[25.2394163,37.0508968],[25.240491,37.0509397]]},{"id":16679,"author":"AnaDigit","name_GR":"\u03a0\u03ac\u03c1\u03bf\u03c2: \u039c\u03bf\u03bd\u03b1\u03c3\u03c4\u03ae\u03c1\u03b9-\u0391\u03bb\u03bc\u03c5\u03c1\u03cc\u03c2","description_GR":"","path":"ISLANDS\/Islands_Paros_Monastiri_Almyros","activity_type":31,"assistance":1,"difficulty":1,"scenic_value":4,"length":2306,"name_EN":"Paros: Monastiri-Almyros","description_EN":"","ascent_time":45,"descent_time":40,"marker":"No_marks","level":12,"ascent":39,"descent":37,"maxelev":18,"minelev":0,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.22365 37.14104,25.23526 37.14767)","views":11,"millestones":"0,25.2236021,37.1444427#1,25.2298998,37.1461518#2,25.2347472,37.1431840#2.3,25.2353268,37.1455627","x":25.2287791,"y":37.147296,"coor":[[25.2236021,37.1444427],[25.2238423,37.1446745],[25.2241259,37.1448068],[25.2242277,37.1449229],[25.224207,37.1452048],[25.2242137,37.1452273],[25.2243319,37.1455776],[25.2242353,37.1457409],[25.2241229,37.1461431],[25.2239798,37.1463519],[25.2238637,37.1464838],[25.2237093,37.1466837],[25.2236583,37.146878],[25.223697,37.1470556],[25.2242378,37.1471177],[25.2250007,37.1469475],[25.2252818,37.1467441],[25.2256209,37.1466504],[25.2259254,37.1467712],[25.2261698,37.1469129],[25.2265875,37.1469807],[25.226839,37.1472124],[25.2274832,37.147492],[25.2276256,37.1475491],[25.2278794,37.1476231],[25.2279953,37.1475655],[25.2283089,37.1474631],[25.2284758,37.1473352],[25.2287791,37.147296],[25.2292124,37.146931],[25.2293987,37.1466136],[25.229831,37.1461944],[25.23021,37.1459562],[25.230309,37.1458109],[25.2317693,37.1445992],[25.2325298,37.1442848],[25.2327564,37.1440211],[25.23282,37.143777],[25.232736,37.1434624],[25.2324819,37.1430685],[25.2324911,37.1429422],[25.2325964,37.1424904],[25.2329226,37.1417749],[25.2330995,37.1415748],[25.2339129,37.1410526],[25.2339929,37.1411238],[25.2339765,37.1415026],[25.2343544,37.141893],[25.2348484,37.1425008],[25.2348783,37.1429511],[25.2345607,37.1435043],[25.2351507,37.1437776],[25.2351979,37.1438695],[25.2353128,37.1440125],[25.2353169,37.1442648],[25.2353268,37.1455627]]},{"id":16680,"author":"AnaDigit","name_GR":"\u03a0\u03ac\u03c1\u03bf\u03c2: \u039c\u03bf\u03bd\u03b1\u03c3\u03c4\u03ae\u03c1\u03b9-\u03a6\u03ac\u03c1\u03bf\u03c2","description_GR":"","path":"ISLANDS\/Islands_Paros_Monastiri_Faros","activity_type":31,"assistance":1,"difficulty":1,"scenic_value":4,"length":1523,"name_EN":"Paros: Monastiri-Faros","description_EN":"","ascent_time":30,"descent_time":25,"marker":"No_marks","level":12,"ascent":108,"descent":29,"maxelev":80,"minelev":0,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.22242 37.14442,25.22572 37.15453)","views":17,"millestones":"0,25.2236021,37.1444427#1,25.2246438,37.1509565#1.5,25.2250627,37.1545003","x":25.2238399,"y":37.1496771,"coor":[[25.2236021,37.1444427],[25.2238423,37.1446745],[25.2241259,37.1448068],[25.2242277,37.1449229],[25.224207,37.1452048],[25.2242137,37.1452273],[25.2243319,37.1455776],[25.2242353,37.1457409],[25.2241229,37.1461431],[25.2239798,37.1463519],[25.2232765,37.1462442],[25.2230102,37.1464047],[25.2228647,37.1465459],[25.2224424,37.1471542],[25.2223311,37.1476691],[25.2223784,37.1478129],[25.2223136,37.1479848],[25.2224395,37.1481097],[25.2224534,37.1482718],[25.2226269,37.1485584],[25.2224872,37.1489745],[25.2225819,37.149262],[25.2226309,37.1493741],[25.2228949,37.1494705],[25.223166,37.1496525],[25.2234591,37.1498072],[25.2238399,37.1496771],[25.2242338,37.1497542],[25.2242192,37.1502411],[25.224419,37.1507618],[25.2247159,37.1510201],[25.2249645,37.1510716],[25.2250451,37.151179],[25.2250896,37.1514128],[25.2252948,37.151564],[25.225458,37.1515172],[25.225505,37.15151],[25.225529,37.1515998],[25.2253199,37.1518995],[25.2253787,37.1520521],[25.2255243,37.1522646],[25.2258285,37.1524102],[25.2258541,37.1525992],[25.2257086,37.1526548],[25.2253989,37.1530005],[25.2252237,37.1533088],[25.225046,37.1534639],[25.2250611,37.1536981],[25.2248718,37.1538352],[25.2248775,37.1541867],[25.2250724,37.154401],[25.2250627,37.1545003]]},{"id":16681,"author":"AnaDigit","name_GR":"\u03a0\u03ac\u03c1\u03bf\u03c2: \u03a0\u03b1\u03c1\u03bf\u03b9\u03ba\u03b9\u03ac-\u03bc\u03bf\u03bd\u03ae \u0398\u03b1\u03c8\u03b1\u03bd\u03ce\u03bd","description_GR":"","path":"ISLANDS\/Islands_Paros_Parikia_Thapsana","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":3,"length":5625,"name_EN":"Paros: Parikia-Thapsana monastery","description_EN":"","ascent_time":135,"descent_time":125,"marker":"No_marks","level":12,"ascent":409,"descent":51,"maxelev":384,"minelev":9,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.14645 37.05901,25.17609 37.07838)","views":14,"millestones":"0,25.1465246,37.0783811#1,25.1483104,37.0697607#2,25.1561917,37.0649342#3,25.1631512,37.0620212#4,25.1669786,37.0592482#5,25.1741373,37.0595283#5.6,25.1760224,37.0630415","x":25.1628199,"y":37.0617092,"coor":[[25.1465246,37.0783811],[25.1465778,37.0781823],[25.14665,37.0778841],[25.1466027,37.0777313],[25.1464699,37.0772278],[25.1464286,37.0770953],[25.1468049,37.0754264],[25.1468648,37.0752004],[25.1469084,37.0750175],[25.1469319,37.0745238],[25.1469868,37.0735948],[25.1471436,37.0735482],[25.1472765,37.0734117],[25.1473381,37.073294],[25.1473141,37.0728255],[25.1472198,37.0725379],[25.1473294,37.0723476],[25.147342,37.0717796],[25.1474615,37.071499],[25.1475125,37.0712461],[25.1482701,37.0700129],[25.1483421,37.0695706],[25.1490979,37.0697075],[25.1494613,37.0699834],[25.1504026,37.0697489],[25.1505697,37.0696391],[25.1506877,37.0692594],[25.1508862,37.0689961],[25.1511352,37.0683537],[25.1517273,37.0679445],[25.1528876,37.0673203],[25.1531318,37.0671016],[25.154169,37.0657755],[25.1543465,37.0656116],[25.1553066,37.0651335],[25.1567191,37.0648223],[25.1572042,37.0649167],[25.1578776,37.06482],[25.1588383,37.0643869],[25.159425,37.0645074],[25.1597287,37.0645044],[25.1601221,37.064255],[25.1601764,37.0641282],[25.1606792,37.063907],[25.1613676,37.0633234],[25.1622389,37.0626974],[25.1622741,37.0627962],[25.1620375,37.0635016],[25.1621724,37.0635003],[25.162757,37.0627464],[25.1628199,37.0617092],[25.1631392,37.0619945],[25.1633373,37.0624433],[25.1634322,37.0620277],[25.1632344,37.061597],[25.1636668,37.0619262],[25.1637843,37.0629887],[25.1638986,37.0631138],[25.1644775,37.0619814],[25.1647236,37.0618978],[25.1649205,37.0615354],[25.164916,37.0612379],[25.1647112,37.0610867],[25.16481,37.0609235],[25.1652256,37.0608924],[25.1653463,37.0606929],[25.1657969,37.0607425],[25.1664123,37.0605292],[25.1664767,37.0603302],[25.1662412,37.0603776],[25.1659915,37.0602268],[25.1661806,37.0600898],[25.1664273,37.0600423],[25.1666884,37.0594628],[25.1671889,37.0590974],[25.1688774,37.059928],[25.1707883,37.0613153],[25.1710761,37.0617452],[25.1713932,37.0621161],[25.1716422,37.0622218],[25.1718887,37.0621563],[25.1729562,37.0620916],[25.1732923,37.0620072],[25.1735251,37.0617886],[25.1737297,37.0611916],[25.1739272,37.0608742],[25.1741464,37.0597723],[25.1741246,37.0590875],[25.1741913,37.0590328],[25.1743386,37.0591034],[25.1747399,37.0596042],[25.1753075,37.0599411],[25.1757684,37.0603805],[25.1758251,37.0604565],[25.1758758,37.0608256],[25.1761304,37.0612918],[25.1761169,37.0618778],[25.1758495,37.0620427],[25.1757629,37.0622599],[25.1760224,37.0630415]]}],{"extent":[25.14645,37.00487,25.24047,37.15453],"advPath":"http:\/\/www.topoguide.gr\/adventure.php?l=el&ul=1&a=","style":{"default":{"color":"#ff612f","width":6,"action":{"type":"openurl"},"sort":{"type":"none"}},"Islands\/Islands_Zakynthos_Kalamaki_Skopiotisa":{"url":"http:\/\/www.topoguide.gr\/hiking_in_zakynthos.php#test","color":"#ff612f","width":5,"exclude":false,"useStyle":true},"Islands\/Islands_Zakynthos_Kiliomeno_Pandokratoras":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Yperaghathos_Loucha":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Volima_AgAndreas":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Zakynthos_Vassilikos":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Zakynthos_Prodromos_Kalithea":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Loucha_Kalithea":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Klima_Schinari":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Zakynthos_Kiliomeno_Yperaghathos":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Keri_ParaliaKeriou2":{"url":"#advlist","color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Keri_ParaliaKeriou":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Keri_Faros":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Keri_Agalas":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Kalithea_Lagopodo":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Zakynthos_Argasi_Skopiotisa":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Zakynthos_Agalas_Kiliomenos":{"url":null,"color":"#1d950d","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_02_Chorio_Loop":{"url":null,"color":"#08bc25","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_01_Chorio_Alopronia":{"url":null,"color":"#ff2fc5","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_03_Kastro_Alopronia":{"url":null,"color":"#253bdd","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_04_Kastro_Malta":{"url":null,"color":"#2feeff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_05_Kastro_Loop":{"url":null,"color":"#ffd52f","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_06_Episkopi_AgMarina":{"url":null,"color":"#2fdddd","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Sikinos_07_Kastro_Alopronia":{"url":null,"color":"#2fff2f","width":6,"exclude":false,"useStyle":true},"Islands\/Islands_Skopelos_monasteries_Loop":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Skopelos_Loutraki_Klima":{"url":null,"color":"#1ab933","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Skopelos_Loutraki_Faros_loop":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Skopelos_Loutraki_Taxiarches":{"url":null,"color":"#2f7aff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kefalonia_Foukalida":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kefalonia_Damoulianata_AgThekli":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kefalonia_Vilatoria_Petani":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"Car_touring\/CAR_Kefalonia_Gerogombos":{"url":null,"color":"#f029e0","width":6,"exclude":false,"useStyle":true},"Geology\/GEO_Kefalonia_4_karst_formations":{"url":null,"color":"#fff741","width":6,"exclude":false,"useStyle":true},"Islands\/Islands_Kefalonia_Ainos":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"Islands\/Islands_Kefalonia_Anavasi_AgDinati":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"Islands\/Islands_Kefalonia_Fiskardo_Battery":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"Islands\/Islands_Kefalonia_Gyro_apo_Zoodocho_Pigi":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"Islands\/Islands_Kefalonia_Sami_Poros":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"SUV_4x4\/SUV_Kefalonia_Ainos":{"url":null,"color":"#e62fff","width":6,"exclude":false,"useStyle":true},"SUV_4x4\/SUV_Kefalonia_Livadi-AgEleni_beach":{"url":null,"color":"#f72fff","width":6,"exclude":false,"useStyle":true},"GEOLOGY\/GEO_Kefalonia_Mntzavinata_formations":{"url":null,"color":"#f7ff2f","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kefalonia_Antisamos_Fanentes":{"url":null,"color":"#02981a","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kefalonia_Proni_acropolis":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kefalonia_Ainos_traverse":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kefalonia_Assos_castle":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kefalonia_AgDinati_loop":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kefalonia_Atros_ascent":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kefalonia_Ainos_ridge":{"url":null,"color":"#e99429","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kefalonia_Koutavos_loop":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kefalonia_Sami_Fanentes":{"url":null,"color":"#3ee373","width":6,"exclude":false,"useStyle":true},"MTB_ROADBIKE\/MTB_Kalymnos_Vathys_loop":{"url":null,"color":"#e80fb4","width":6,"exclude":false,"useStyle":true},"MTB_ROADBIKE\/Roadbike_Kalymnos_Arginontas_loop":{"url":null,"color":"#e80fb4","width":6,"exclude":false,"useStyle":true},"MTB_ROADBIKE\/Roadbike_Kalymnos_Arginontas_Palionisos":{"url":null,"color":"#e80fb4","width":6,"exclude":false,"useStyle":true},"MTB_ROADBIKE\/Roadbike_Kalymnos_Arginontas_Eborios":{"url":null,"color":"#e80fb4","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kalymnos_Trail_1":{"url":null,"color":"#0f9f14","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kalymnos_Trail_12":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kalymnos_Trail_8a":{"url":null,"color":"#0f9f14","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kalymnos_Trail_10":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kalymnos_Trail_9":{"url":null,"color":"#0f9f14","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kalymnos_Trail_5":{"url":null,"color":"#0f9f14","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kalymnos_Trail_16":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kalymnos_Trail_14":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kalymnos_Trail_4":{"url":"http:\/\/www.alternetgreece.com\/en\/activities\/hiking","color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kalymnos_Trail_17":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Kalymnos_Trail_6":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"ISLANDS\/Islands_Kalymnos_Trail_3":{"url":null,"color":"#0f9f14","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_E4_Kokkinoplos_Prionia":{"url":null,"color":"#23b10f","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_E4_Litochoro_Prionia":{"url":null,"color":"#23b10f","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_O2_Karya_Skolio":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_O2_Krania_Rapsani":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_O2_Rapsani_Tembi":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_Dion_Petrostrouga":{"url":null,"color":"#d01919","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_Gortsia_Apostolidis":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"Thessalia\/Thessaly_Olymbos_Litochoro_Livadaki_Mouses":{"url":null,"color":"#d01919","width":6,"exclude":false,"useStyle":true},"Thessalia\/Thessaly_Olymbos_Vrondou_Barbalas":{"url":null,"color":"#d01919","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Giona_Ascent_Pyramida":{"url":null,"color":"#0f4a96","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Giona_Sykia_Pyramida":{"url":null,"color":"#960f65","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Giona_Viniani_Reka_Giona_ref":{"url":null,"color":"#f7f70d","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_E4_Kaloskopi_51":{"url":null,"color":"#0f962a","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_E4_Stromi_Kaloskopi":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"Sterea\/Sterea_Vardousia_Koprisies":{"url":null,"color":"#178e12","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_E4_Diakos_Stromi":{"url":null,"color":"#502fff","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Vardousia_Southern_Ridge":{"url":null,"color":"#eff900","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Vardousia_E4_Artotina_Diakos":{"url":null,"color":"#ff2fe6","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Vardousia_E4_Grameni_Artotina":{"url":null,"color":"#c52fff","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Vardousia_Oxia_AthDiakos":{"url":null,"color":"#40ff2f","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Oeta_Argirochori_Abelaki":{"url":null,"color":"#f7ff2f","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Oeta_Argyrochori_Trapeza":{"url":null,"color":"#2f72ff","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Oeta_Ypati_Gersali":{"url":null,"color":"#59ff2f","width":6,"exclude":false,"useStyle":true},"Sterea\/Sterea_Oeta_Ypati_Trapeza":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"Sterea\/Sterea_Oiti_Ypati_Kapnochori":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":false},"STEREA\/Sterea_Oeta_Ypati_Kastania":{"url":null,"color":"#127a2f","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Oeta_Trapeza_Pyrgos":{"url":null,"color":"#ff2f2f","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Oeta_Trapeza_Greveno":{"url":null,"color":"#f7ff2f","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Oeta_Katavothra_Pyrgos":{"url":null,"color":"#e62fff","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Oeta_Neochori_Pyrgos":{"url":null,"color":"#2fe6ff","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Oeta_Katavothra-Pyrgos":{"url":null,"color":"#69ff2f","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Kallidromo_Eleftherochori_Gioza":{"url":null,"color":"#13a713","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Kallidromo_Tithronio_Gioza":{"url":null,"color":"#ff2f2f","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Gortynia_Dimitsana_Radou":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"Peloponnese\/Pelop_Gortynia_Lasta_Valtesiniko":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"Peloponnese\/Pelop_Menalon_Trail_Dimitsana_Zygovisti":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":true},"PELOPONNESE\/Pelop_Magouliana_Short_loop":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"PELOPONNESE\/Pelop_Magouliana_Kamari_valley":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"PELOPONNESE\/Pelop_Arkadia_Valtesiniko_Loop":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"PELOPONNESE\/Pelop_Menalon_Stemnitsa_loop1":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"PELOPONNESE\/Pelop_Menalon_Stemnitsa_loop2":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"PELOPONNESE\/Pelop_Menalon_Stemnitsa_Skemna_loop":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"PELOPONNESE\/Pelop_Menalon_Stemnitsa_Elliniko":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"Peloponnese\/Pelop_Gortynia_Vytina_Lasta":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"Peloponnese\/Pelop_Menalon_Trail_Lousios":{"url":null,"color":"#9a2804","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Zygovisti_Elati":{"url":null,"color":"#9a2804","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Elati_Vytina":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Nymfasia_Magouliana":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Valtesiniko_Lagadia":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Vytina_Nymfasia":{"url":null,"color":"#9a2804","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Magouliana_Valtesiniko":{"url":null,"color":"#9a2804","width":6,"exclude":false,"useStyle":true},"Sea\/SEA_TOUR_Ydra_Gyros":{"url":null,"color":"#2f2fff","width":6,"exclude":false,"useStyle":true},"Crete\/Crete_Akrotiri_Gouverneto_loop":{"url":null,"color":"#328e06","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Klokova_Riza_Paliovouna":{"url":null,"color":"#f40808","width":6,"exclude":false,"useStyle":true},"STEREA\/Sterea_Klokova_KatoKalavrouza_Paliovouna":{"url":null,"color":"#ffac2f","width":6,"exclude":false,"useStyle":true}}}); function getPoiCollection(key,data,meta){ this.key = key; this.data = data; this.item = []; //this.meta = meta; this.gsMap = null; this.features = [] ; //this.lineFeatures = [] ; var self = this; //console.log(data); this.source = new ol.source.Vector({wrapX: false, noWrap: true}); this.layer = new ol.layer.Vector({ source: this.source, //clusterSource visible:true }); this.registerMap = function(gsMap){ this.gsMap = gsMap; this.gsMap.map.addLayer(this.layer); this.createFeatures(); } this.createFeatures = function(){ this.features=[]; for(var i in this.data){ //console.log(this.data[i]); var newItem = this.getItem(this.data[i]); newItem.style = this.getIconStyle(newItem); var f = this.gsMap.feature_from_coor(this.data[i].x,this.data[i].y,this.pointMsp(newItem)); //var s = this.gsMap.pointStyle("#ff0000", [0, 0, 0, 0.5], 1, 5, "");//this.adventureIconPointStyle(this.data[i].activity_type,this.data[i].difficulty);//this.gsMap.pointStyle("#ff0000", [0, 0, 0, 0.5], 0, 5, ""); f.setStyle(newItem.style); f.show = function () { var div = document.getElementById("myModal"); div.innerHTML = ''; setTimeout(function () { $('#myModal').modal('show'); }, 200); } newItem.feature = f; this.item.push(newItem); this.features.push(f); } this.source.addFeatures(this.features); this.gsMap.registerOnZoomChangedFunction(function(){self.refresh();}); this.refresh(); } this.zoomTo = function(){ this.gsMap.map.getView().fit( this.gsMap.ll2xy(this.meta.extent), this.gsMap.map.getSize()); } this.pointMsp = function(item){ return { width:item.width, height:item.height, photoPath:item.photoPath, name:item.name, description:item.description, parent:this, click:[function(s,f,l){ var div = document.getElementById("myModal"); var self = f.get('msp'); //#34b0ff div.innerHTML = ''; setTimeout(function () { $('#myModal').modal('show'); }, 200); }]}; } this.poiIconPointStyle = function(activity_type,difficulty){ var iconpath = 'https://anadigit.fr/TopoMedia/Icons/activity_adv_loc/activity_' + activity_type + '_' + difficulty + '_adv_loc.png'; return new ol.style.Style({ image: new ol.style.Icon({ src: iconpath, //size: [liconsize, liconsize] scale:0.5 })/*, stroke: new ol.style.Stroke({ color: (s_color ) ,width: 1+is301 + (map3.getZoom()-8) }) */}) } this.getIconStyle = function(myItem) { var icon_size = this.pop_info_adjust_size(myItem.type, this.gsMap.getZoom() - myItem.zoom_level) var icon_size_set = this.pop_info_adjust_size(myItem.type, this.gsMap.getZoom() - myItem.zoom_level) * icon_size / 100; var is = (icon_size > 0) ? icon_size : 9; var icon_index = myItem.icon_index; if (wpt_icon.anch_fraction_x[icon_index] >= 0) { var anch_x = wpt_icon.anch_fraction_x[icon_index]; var anch_y = wpt_icon.anch_fraction_y[icon_index]; } else { var anch_x = 0.5; var anch_y = 0.5; } if (wpt_icon.scale[icon_index] >= 0) { var scale = wpt_icon.scale[icon_index]; } else { if (icon_size_set > 0) { var scale = icon_size_set; } else { var scale = 0.3; } } scale = 0.2; var MarkerIcon = wpt_icon.url_s[icon_index]; var iconStyle = new ol.style.Style({ image: new ol.style.Icon(({ anchor: [anch_x, anch_y], anchorXUnits: 'fraction', anchorYUnits: 'fraction', //anchorYUnits: 'pixels', opacity: 0.95, src: MarkerIcon, scale: scale })) }); return iconStyle; } this.getItem = function (dat){ var type = dat.type * 1;//[3]*1; var icon = map_point_collection.get(type); var icon_index = icon.iconindex; var img_path = icon.path; return { image: dat.photo, name: dat.name, description: dat.description, link_en: dat.hlink_EN, type: dat.type * 1, dbid: dat.id, hlink: dat.hlink_GR, zoom_level: dat.zoom_level, width: dat.width * 1, height: dat.height * 1, owner: dat.owner, icon_index: icon_index, photoPath: img_path + dat.photo + '.jpg', thumb_path: img_path + 'thumbs/' + dat.photo + '.jpg', //tmpim:add_image(pop_info_tmp, fp.attributes.thumb_path,-230,3,-1,-1,null), path: (dat.type * 1 == 1) ? img_path + dat.photo + '.jpg' : "" } } this.pop_info_adjust_size = function(type, dl) { if (dl < 0) dl = 0; var new_size = 9 + (1.5 * dl); return new_size * 0.2; } this.refresh = function () { try { this.source.clear(); } catch (err) { } var zoom = this.gsMap.getZoom(); for (var i = 0; i < this.item.length; i++) { if (zoom >= this.item[i].zoom_level) this.source.addFeatures([this.item[i].feature]); } } this.getImagetItem = function(path,width,height){ /* PARADOXES - OLES OI EIKONES PIANOYN TO MEGISTO PLATOS - AN TO YPSOS EINEI MEGALYTERO TOY DIAUESIMOY H EIKONA KOVETAI KATV */ var minAvailableWidth =568; //APO BOOTSTRAP, http://www.topoguide.gr/css/bootstrap.css, 5489, var maxAvailableHeight = browser.size()[1]-250; var style = "",divStyle = ""; if(height>maxAvailableHeight){ var ratio = width/height; var renderWidth = maxAvailableHeight*ratio; var renderHeight = maxAvailableHeight; if(minAvailableWidth/ratio>maxAvailableHeight) divStyle += "height:" + renderHeight + "px;"; divStyle += "width:100%;"; style += "width:100%;"; } else{ if(width'; } } var img_path = 'https://anadigit.fr/TopoMedia/map_points/img'; var map_point_collection = { 0 :{iconindex:14,path:img_path + "/Landscape/"}, 1 :{iconindex:17,path:img_path + "/Flora/"}, 2 :{iconindex:18,path:img_path + "/Animals/"}, 3 :{iconindex:19,path:img_path + "/Books/"}, 4 :{iconindex:20,path:img_path + "/Maps/"}, 5 :{iconindex:21,path:img_path + "/Apps/"}, 6 :{iconindex:22,path:img_path + "/Mushrooms/"}, 7 :{iconindex:23,path:img_path + "/Animals/"}, 8 :{iconindex:24,path:img_path + "/Animals/"}, 9 :{iconindex:25,path:img_path + "/Architecture/"}, 10:{iconindex:26,path:img_path + "/Monuments/"}, 447:{iconindex:38,path:img_path + "/Refuges/"}, 450:{iconindex:41,path:img_path + "/Signposts/"}, 71:{iconindex:36,path:img_path + "/Geology/"}, 72:{iconindex:34,path:img_path + "/Geology/"}, 73:{iconindex:35,path:img_path + "/Geology/"}, 204:{iconindex:27,path:img_path + "/logos/"}, 206:{iconindex:28,path:img_path + "/logos/"}, 200:{iconindex:29,path:img_path + "/logos/"}, 201:{iconindex:30,path:img_path + "/logos/"}, 205:{iconindex:31,path:img_path + "/logos/"}, 202:{iconindex:32,path:img_path + "/logos/"}, 203:{iconindex:33,path:img_path + "/logos/"}, 301:{iconindex:42,path:img_path + "/Beach/"}, 1001:{iconindex:42,path:img_path + "/Water/"}, default: {iconindex:28,path:""} } map_point_collection.get = function(key){ return this[key] || this.default; } function wpt_icon_class(){ this.count=0; this.url = new Array(); this.url_s = new Array(); this.cx = new Array(); this.cy = new Array(); this.scx = new Array(); this.scy = new Array(); this.ix = new Array(); this.iy = new Array(); this.anch_fraction_x = new Array(); this.anch_fraction_y = new Array(); this.scale = new Array(); this.inwptwindow = new Array(); this.add = function(url,url_s,cx,cy,ix,iy,scx,scy,anch_fraction_x, anch_fraction_y,scale,inwptwindow){ this.count+=1; this.url[this.count]="https://anadigit.fr/TopoMedia/" + url; this.url_s[this.count]="https://anadigit.fr/TopoMedia/" + url_s; this.cx[this.count]=cx; this.cy[this.count]=cy; this.scx[this.count]=scx; //kentro simeiou gia xarti this.scy[this.count]=scy; this.ix[this.count]=ix; //offset sto icon list this.iy[this.count]=iy; this.anch_fraction_x[this.count]=anch_fraction_x; //offset sto icon list this.anch_fraction_y[this.count]=anch_fraction_y; this.scale[this.count]=scale; this.inwptwindow[this.count]=inwptwindow; } } var wpt_icon = new wpt_icon_class(); wpt_icon.add("Icons/WPT/pin_blue.png","Icons/WPT/pin_blue_s.png",28,35,-15,10,1,18,0.0,1.0,1.0,true); wpt_icon.add("Icons/WPT/pin_green.png","Icons/WPT/pin_green_s.png",28,35,-15,10,1,18,0.0,1.0,1.0,true); wpt_icon.add("Icons/WPT/pin_red.png","Icons/WPT/pin_red_s.png",28,35,-15,10,1,18,0.0,1.0,1.0,true); wpt_icon.add("Icons/WPT/star_blue.png","Icons/WPT/star_blue_s.png",24,24,5,8,11,11,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/star_green.png","Icons/WPT/star_green_s.png",24,24,5,8,11,11,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/star_red.png","Icons/WPT/star_red_s.png",24,24,5,8,11,11,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/lmk_red.png","Icons/WPT/lmk_red_s.png",32,32,-3,0,11,11,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/house_blue.png","Icons/WPT/house_blue_s.png",32,32,5,8,11,11,0.5,0.5,1.0,true);; wpt_icon.add("Icons/WPT/house_red.png","Icons/WPT/house_red_s.png",32,32,5,8,11,11,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/monastery_red.png","Icons/WPT/monastery_red_s.png",32,32,5,8,11,16,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/church_red.png","Icons/WPT/church_red_s.png",32,32,5,8,11,16,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/anchor_blue.png","Icons/WPT/anchor_blue_s.png",32,32,5,8,11,11,0.5,0.5,1.0,true); wpt_icon.add("Icons/WPT/anchor_red.png","Icons/WPT/anchor_red_s.png",32,32,5,8,11,11,0.5,0.5,1.0,true); //photo_points wpt_icon.add("Icons/WPT/landscape.png","Icons/WPT/landscape.png",28,28,5,8,16,16); wpt_icon.add("img/NAV_START.png","img/NAV_START.png",32*1.5,42,-5,-48,11,11,0.5,1.0,0.6,true); wpt_icon.add("img/NAV_END.png","img/NAV_END.png",32*1.5,162,-5,-28,11,11,0.5,1.0,0.6,true); wpt_icon.add("Icons/WPT/flora.png","Icons/WPT/flora.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/bird.png","Icons/WPT/bird.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/book.png","Icons/WPT/book.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/map.png","Icons/WPT/map.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/iphone.png","Icons/WPT/iphone.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/mushroom.png","Icons/WPT/mushroom.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/mammal.png","Icons/WPT/mammal.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/turtle.png","Icons/WPT/turtle.png",30,30,5,8,16,16); wpt_icon.add("Icons/WPT/architecture.png","Icons/WPT/architecture.png",28,28,5,8,16,16); wpt_icon.add("Icons/WPT/monument.png","Icons/WPT/monument.png",28,28,5,8,16,16); // pop_info wpt_icon.add("pop_info/Icons/pop_info_1.png","pop_info/Icons/pop_info_1.png",32,32,5,8,32,32,0.5,1); // iconindex= 27 wpt_icon.add("pop_info/Icons/pop_info_2.png","pop_info/Icons/pop_info_2.png",32,32,5,8,32,32,0.5,1); // iconindex= 28 wpt_icon.add("pop_info/Icons/pop_info_3.png","pop_info/Icons/pop_info_3.png",32,32,5,8,32,32); // iconindex= 29 wpt_icon.add("pop_info/Icons/pop_info_4.png","pop_info/Icons/pop_info_4.png",32,32,5,8,32,32,0.5,1); // iconindex= 30 wpt_icon.add("pop_info/Icons/pop_info_5.png","pop_info/Icons/pop_info_5.png",32,32,5,8,32,32); // iconindex= 31 wpt_icon.add("pop_info/Icons/pop_info_6.png","pop_info/Icons/pop_info_6.png",32,32,5,8,32,32); // iconindex= 32 wpt_icon.add("pop_info/Icons/pop_info_7.png","pop_info/Icons/pop_info_7.png",32,32,5,8,32,32); // iconindex= 33 wpt_icon.add("pop_info/Icons/pop_info_101.png","pop_info/Icons/pop_info_101.png",32,32,5,8,32,32,0.5,0.5); // iconindex= 34 wpt_icon.add("pop_info/Icons/pop_info_102.png","pop_info/Icons/pop_info_102.png",32,32,5,8,32,32); // iconindex= 35 wpt_icon.add("pop_info/Icons/pop_info_103.png","pop_info/Icons/pop_info_103.png",32,32,5,8,32,32); // iconindex= 36 wpt_icon.add("Icons/WPT/POI_446_icon.png","Icons/WPT/POI_446_icon.png",32,32,5,8,32,32); // iconindex= 37 wpt_icon.add("Icons/WPT/POI_447_icon.png","Icons/WPT/POI_447_icon.png",32,32,5,8,32,32); // iconindex= 38 wpt_icon.add("Icons/WPT/POI_448_icon.png","Icons/WPT/POI_448_icon.png",32,32,5,8,32,32); // iconindex= 39 wpt_icon.add("Icons/WPT/POI_449_icon.png","Icons/WPT/POI_449_icon.png",32,32,5,8,32,32); // iconindex= 40 wpt_icon.add("Icons/WPT/POI_450_icon.png","Icons/WPT/POI_450_icon.png",32,32,5,8,32,32); // iconindex= 41 wpt_icon.add("Icons/WPT/Fountain_blue.png","Icons/WPT/Fountain_blue.png",32,32,5,8,32,32); // iconindex= 42 console.log('poi signature up to date');var poiCollection_cyclades_paros = new getPoiCollection("cyclades_paros",[],{});function createAdventureListWidgetContext(){};console.log('sort type: none');function createAdventureListWidgetContext(){var divHere = (document.getElementById('pathList'))?true:false;var style = document.createElement('style');style.type = 'text/css';style.innerHTML = '.advListItemWidgetStyleMona{background:#f5f5f5;overflow:hidden;position:relative;width:100%;height:45px;border-bottom:1px solid #fff;margin:0px;} .advListItemWidgetStyle{background:#fdfdfd;overflow:hidden;position:relative;width:100%;height:45px;border-bottom:1px solid #fff;margin:0px;} .advListItemWidgetStyleMona:hover{background:#dcdcbc;} .advListItemWidgetStyle:hover{background:#dcdcbc;}';if(divHere) document.getElementsByTagName('head')[0].appendChild(style);if(divHere) {document.getElementById('pathList').innerHTML="
Κυκλική πορεία στο Καμάρι
Λεύκες-Δρυός
Λεύκες-Πρόδρομος
Μοναστήρι-Αλμυρός
Μοναστήρι-Φάρος
Παροικιά-μονή Θαψανών
";}else{console.log('adventure list widget activated but div missing. Requested id: pathList');};}; var overrideUserOptions = {lng:23,lat:38,zoom:7,ac:["cyclades_paros"],pc:["cyclades_paros"],url: 'https://m1.anadigit.fr/tms/1.0.0/ntn_combo/{z}/{x}/{-y}.png',showLogo: 1,showZoomTool: 1}; var overrideAfterLoad = function(map){ adventureCollection_cyclades_paros.zoomTo();}; var gsMapManager = this.gsMapManager; gsMapManager.create = function(mapDivId,options,afterLoad){ if(typeof overrideUserOptions != "undefined") { for( var i in options) overrideUserOptions[i] = options[i]; options = overrideUserOptions; } if(typeof afterLoad != "undefined") { afterLoad = afterLoad }else{ if(typeof overrideAfterLoad != "undefined") afterLoad = overrideAfterLoad }; return gsMapManager.create_dummy_function(mapDivId,options,afterLoad); // return new gsMapObject(mapDivId,options,afterLoad); }