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 =
'
'
+ '
' + f.get(clickEvent.title.key) + '
'
+ '
 + ')
'
+ '
' + f.get(clickEvent.text.key) + '
'
+ '
';
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_mikres_kyklades = new getAdventureCollection("mikres_kyklades",[{"id":16370,"author":"AnaDigit","name_GR":"\u0394\u03bf\u03bd\u03bf\u03cd\u03c3\u03b1: \u039a\u03b1\u03bb\u03bf\u03c4\u03b1\u03c1\u03af\u03c4\u03b9\u03c3\u03c3\u03b1-\u0394\u03ac\u03c1\u03bf\u03c2 \u039a\u03b1\u03bb\u03bf\u03c4\u03b1\u03c1\u03af\u03c4\u03b9\u03c3\u03c3\u03b1\u03c2","description_GR":"","path":"Islands\/Islands_Donousa_Kalotaritisa_Faros","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":5,"length":1773,"name_EN":"Donousa: Kalotaritisa-Kalotaritisa Lighthouse","description_EN":"","ascent_time":35,"descent_time":30,"marker":"No_marks","level":12,"ascent":122,"descent":1,"maxelev":139,"minelev":5,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.81786 37.12446,25.82861 37.13504)","views":12,"millestones":"0,25.8185137,37.1246195#1,25.8256850,37.1288146#1.8,25.8288568,37.1348703","x":25.8246629,"y":37.1275804,"coor":[[25.8185137,37.1246195],[25.8178089,37.1250968],[25.8176467,37.1252547],[25.817629,37.1253677],[25.8179103,37.1253634],[25.8184001,37.1256082],[25.818359,37.1257711],[25.8189342,37.1257307],[25.8195453,37.1258655],[25.8200801,37.1261097],[25.8202199,37.1263058],[25.8206243,37.1262726],[25.821508,37.1265114],[25.8227332,37.1269071],[25.8241546,37.1275071],[25.8246629,37.1275804],[25.8253694,37.1279391],[25.8261549,37.1301802],[25.8263734,37.1303751],[25.8265842,37.1307144],[25.8275325,37.1312946],[25.827753,37.1315706],[25.8277716,37.1318768],[25.8276658,37.1321578],[25.8276807,37.1323108],[25.8279506,37.1327663],[25.8286014,37.1336125],[25.8287031,37.1340976],[25.8288211,37.1343211],[25.8288568,37.1348703]]},{"id":16371,"author":"AnaDigit","name_GR":"\u0394\u03bf\u03bd\u03bf\u03cd\u03c3\u03b1: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 4, \u039a\u03ad\u03b4\u03c1\u03bf\u03c2-\u039a\u03ac\u03c4\u03c9 \u039c\u03cd\u03bb\u03bf\u03c2","description_GR":"","path":"Islands\/Islands_Donousa_Kedros_KatoMylos","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":1314,"name_EN":"Donousa: Trail 4, Kedhros-Kato Mylos","description_EN":"","ascent_time":25,"descent_time":25,"marker":"No_marks","level":12,"ascent":59,"descent":39,"maxelev":51,"minelev":0,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.80371 37.09175,25.8123 37.09846)","views":10,"millestones":"0,25.8038731,37.0984600#1,25.8111014,37.0940307#1.3,25.8121172,37.0917570","x":25.8084866,"y":37.0947417,"coor":[[25.8038731,37.09846],[25.8037605,37.0983986],[25.8038006,37.0981907],[25.8036988,37.0978993],[25.8042374,37.0978371],[25.8045105,37.0978757],[25.8046908,37.097891],[25.8051708,37.0972528],[25.805436,37.0970504],[25.8055602,37.0970666],[25.8059431,37.0966101],[25.8064087,37.0963146],[25.8066869,37.0961842],[25.8075285,37.0960902],[25.8076878,37.0956912],[25.8084866,37.0947417],[25.8088115,37.0946827],[25.8092281,37.0946943],[25.8097932,37.0948029],[25.8102714,37.0950389],[25.8103837,37.0950282],[25.810437,37.0944325],[25.8105997,37.0941777],[25.8113706,37.0939496],[25.8116711,37.0938098],[25.8119538,37.0933999],[25.8122751,37.0931877],[25.8122189,37.0927199],[25.8123113,37.0923489],[25.8121172,37.091757]]},{"id":16372,"author":"AnaDigit","name_GR":"\u0394\u03bf\u03bd\u03bf\u03cd\u03c3\u03b1: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 2, \u039a\u03ad\u03b4\u03c1\u03bf\u03c2-\u039c\u03b5\u03c3\u03b1\u03c1\u03b9\u03ac","description_GR":"","path":"Islands\/Islands_Donousa_Kedros_Mesaria","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":3,"length":1468,"name_EN":"Donousa: Trail 2, Kedhros-Mesaria","description_EN":"","ascent_time":30,"descent_time":25,"marker":"No_marks","level":12,"ascent":150,"descent":28,"maxelev":164,"minelev":4,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.80392 37.0973,25.81388 37.10052)","views":9,"millestones":"0,25.8038731,37.0984600#1,25.8110009,37.0992550#1.5,25.8138855,37.0977349","x":25.8087675,"y":37.0996946,"coor":[[25.8038731,37.09846],[25.8038882,37.098622],[25.8040145,37.0987282],[25.8048705,37.099238],[25.8050611,37.0996857],[25.8053184,37.0999184],[25.8056637,37.0997689],[25.8057326,37.099529],[25.8059451,37.0997736],[25.8064129,37.1000459],[25.8066262,37.1000246],[25.806924,37.1002454],[25.8074357,37.100472],[25.8072894,37.0990501],[25.8087675,37.0996946],[25.8099165,37.0997491],[25.8106557,37.0996026],[25.8109332,37.0994452],[25.8111756,37.0987565],[25.8114262,37.0984102],[25.8124,37.098197],[25.8131012,37.0983485],[25.813194,37.0982277],[25.8131253,37.097706],[25.8133005,37.097505],[25.8133362,37.0973467],[25.8134253,37.0973093],[25.8137161,37.0977104],[25.8138855,37.0977349]]},{"id":16373,"author":"AnaDigit","name_GR":"\u0394\u03bf\u03bd\u03bf\u03cd\u03c3\u03b1: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 3, \u039c\u03b5\u03c1\u03c3\u03af\u03bd\u03b7-\u039b\u03b9\u03b2\u03ac\u03b4\u03b9","description_GR":"","path":"Islands\/Islands_Donousa_Mersyni_Livadi","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":908,"name_EN":"Donousa: Trail 3, Mersini-Livadi","description_EN":"","ascent_time":15,"descent_time":20,"marker":"No_marks","level":12,"ascent":7,"descent":108,"maxelev":110,"minelev":0,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.82293 37.09127,25.82821 37.09668)","views":9,"millestones":"0,25.8283391,37.0965935#0.9,25.8228124,37.0918657","x":25.8244332,"y":37.0928322,"coor":[[25.8283391,37.0965935],[25.8279613,37.0963831],[25.8275803,37.0963889],[25.8274336,37.0959586],[25.8275553,37.0954069],[25.8273447,37.0950677],[25.8269103,37.0947859],[25.8265258,37.0947017],[25.8262974,37.094561],[25.8257744,37.0938661],[25.8247555,37.0931337],[25.8244332,37.0928322],[25.8241901,37.0925475],[25.8242384,37.0922133],[25.8240149,37.0918112],[25.8236494,37.0915824],[25.8234874,37.0913957],[25.8233399,37.0913439],[25.8232852,37.0914078],[25.823282,37.0917413],[25.8231952,37.0918778],[25.8228124,37.0918657]]},{"id":16374,"author":"AnaDigit","name_GR":"\u0394\u03bf\u03bd\u03bf\u03cd\u03c3\u03b1: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 1, \u03a3\u03c4\u03b1\u03c5\u03c1\u03cc\u03c2-\u039a\u03b1\u03bb\u03bf\u03c4\u03b1\u03c1\u03af\u03c4\u03b9\u03c3\u03c3\u03b1","description_GR":"","path":"Islands\/Islands_Donousa_Stavros_Kalotaritisa","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":4,"length":4522,"name_EN":"Donousa: Trail 1, Stavros-Kalotaritisa","description_EN":"","ascent_time":105,"descent_time":105,"marker":"No_marks","level":12,"ascent":265,"descent":257,"maxelev":265,"minelev":2,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.79596 37.10012,25.81793 37.12497)","views":24,"millestones":"0,25.7953774,37.1004637#1,25.7970627,37.1069398#2,25.8046466,37.1124770#3,25.8112122,37.1170456#4,25.8142097,37.1229702#4.5,25.8185144,37.1246195","x":25.8088779,"y":37.1144764,"coor":[[25.7953774,37.1004637],[25.7953991,37.1005219],[25.7955267,37.1008918],[25.7954124,37.1009363],[25.7954219,37.100979],[25.795504,37.1011219],[25.7957313,37.1012176],[25.7958366,37.1013873],[25.7958975,37.1015847],[25.7958193,37.1016963],[25.7957204,37.1017969],[25.795773,37.1021206],[25.7957275,37.1022452],[25.7955951,37.102833],[25.7956617,37.1032737],[25.7955565,37.1035817],[25.7957163,37.1041561],[25.7956085,37.1048337],[25.7956709,37.1050333],[25.7965615,37.1051009],[25.7967631,37.1050618],[25.7965615,37.1051009],[25.7956709,37.1050333],[25.7957631,37.1055096],[25.796058,37.1063231],[25.7965472,37.10655],[25.7970282,37.1069032],[25.7973629,37.1072587],[25.7977382,37.1079019],[25.798883,37.1087228],[25.7990281,37.1096219],[25.7993968,37.1099858],[25.800019,37.1110759],[25.8007643,37.1116595],[25.8011944,37.1117611],[25.801679,37.1117898],[25.8022129,37.1120002],[25.802888,37.1122604],[25.8034823,37.1123775],[25.8039688,37.1124873],[25.8053078,37.1124759],[25.8057525,37.1127215],[25.8059219,37.1127459],[25.8066279,37.112618],[25.8069096,37.1126318],[25.807941,37.1129405],[25.8084164,37.1135281],[25.8088779,37.1144764],[25.8092936,37.1149207],[25.8092639,37.1150924],[25.8089312,37.1152958],[25.8089248,37.1155032],[25.8097701,37.1155534],[25.8101424,37.1158586],[25.8111674,37.1163657],[25.8110391,37.1167079],[25.8112862,37.1166861],[25.8110562,37.116951],[25.8112814,37.1169566],[25.8108118,37.1175586],[25.8107246,37.1186235],[25.8105731,37.1188782],[25.8101873,37.1192176],[25.8098158,37.1201606],[25.8098411,37.1202774],[25.8104022,37.1211521],[25.8107812,37.1214707],[25.8110708,37.1218178],[25.8115057,37.1221176],[25.8117938,37.1224016],[25.8124771,37.1227337],[25.8125247,37.1228411],[25.8126259,37.1228395],[25.8127359,37.1227297],[25.812806,37.1228368],[25.812973,37.1227621],[25.8130409,37.1227791],[25.8132296,37.1231368],[25.8135405,37.1229608],[25.8136558,37.1230762],[25.8138415,37.122839],[25.8139451,37.1229365],[25.8140671,37.1230338],[25.8143789,37.1228938],[25.8144286,37.1230914],[25.8149453,37.1230474],[25.8154659,37.1231656],[25.8158245,37.1232165],[25.8159925,37.1233603],[25.8162446,37.1235457],[25.8164105,37.1238947],[25.816892,37.1240856],[25.8172075,37.1240988],[25.8180228,37.1243026],[25.8185144,37.1246195]]},{"id":16390,"author":"AnaDigit","name_GR":"\u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ad\u03c2 5, 6, 7. \u0386\u03b3\u03b9\u03bf\u03c2 \u0393\u03b5\u03ce\u03c1\u03b3\u03b9\u03bf\u03c2-\u0386\u03b3\u03b9\u03bf\u03c2 \u0399\u03c9\u03ac\u03bd\u03bd\u03b7\u03c2","description_GR":"\u0391\u03c0\u03cc \u03c4\u03bf \u03bb\u03b9\u03bc\u03ac\u03bd\u03b9 \u03c3\u03c4\u03b1 \u03c3\u03c0\u03ae\u03bb\u03b1\u03b9\u03b1 \u0391\u03b3\u03af\u03bf\u03c5 \u0399\u03c9\u03ac\u03bd\u03bd\u03b7 \u03ba\u03b1\u03b9 \u03a0\u03bf\u03bb\u03cd\u03c6\u03b7\u03bc\u03bf\u03c5","path":"Islands\/Islands_Iraklia_AgGeorgios_AgIoanis","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":5,"length":7568,"name_EN":"Iraklia: Trail 5, 6, 7. Aghios Georgios-Aghios Ioanis","description_EN":"A direct way from the port to the caves","ascent_time":180,"descent_time":170,"marker":"Red_dots","level":12,"ascent":395,"descent":289,"maxelev":215,"minelev":8,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.42408 36.82814,25.46648 36.8611)","views":13,"millestones":"0,25.4671000,36.8605792#1,25.4600202,36.8538296#2,25.4524173,36.8477365#3,25.4436810,36.8440783#4,25.4354738,36.8418260#5,25.4329634,36.8341696#6,25.4236527,36.8324712#7,25.4326121,36.8287631#7.6,25.4367270,36.8287980","x":25.4346308,"y":36.8394483,"coor":[[25.4671,36.8605792],[25.466444,36.8601163],[25.4662433,36.8598507],[25.4657209,36.8595146],[25.465304,36.8591569],[25.4642719,36.8579798],[25.4641865,36.8576181],[25.4635001,36.8569144],[25.4629208,36.8559481],[25.4625358,36.8554616],[25.4612596,36.8544136],[25.4600371,36.8538338],[25.4590567,36.8535934],[25.4582389,36.8530536],[25.4569705,36.8524112],[25.456595,36.8521273],[25.4560916,36.8516107],[25.4556056,36.8513755],[25.4547106,36.8509425],[25.454365,36.85046],[25.4536503,36.8488463],[25.4531567,36.8482484],[25.45279,36.8479104],[25.4521788,36.8476204],[25.4515811,36.8474474],[25.4512937,36.8470723],[25.4505916,36.8467203],[25.4501543,36.8461308],[25.4496241,36.8455964],[25.4492039,36.8450968],[25.4481744,36.8446226],[25.4476927,36.8441687],[25.4476914,36.8439862],[25.4475336,36.8439431],[25.4473849,36.8437916],[25.4472155,36.8437306],[25.4471287,36.8438849],[25.4466055,36.8440896],[25.4447089,36.8440225],[25.4432077,36.8441128],[25.4419718,36.8445875],[25.4412557,36.8446774],[25.440519,36.8448666],[25.4402489,36.8448157],[25.4390834,36.844262],[25.438333,36.8443161],[25.4377309,36.8445037],[25.4376149,36.8442978],[25.4376302,36.843919],[25.4379517,36.8431219],[25.4377917,36.8429616],[25.4372592,36.8426706],[25.4369897,36.8426558],[25.4368088,36.8425769],[25.4365685,36.8423184],[25.4355856,36.8419337],[25.4352316,36.8415954],[25.4353071,36.8414322],[25.4351956,36.8414696],[25.435161,36.841416],[25.4352122,36.841154],[25.4351561,36.8411546],[25.4353385,36.8407108],[25.4352658,36.8404232],[25.4350964,36.8403621],[25.4351484,36.8401452],[25.4348325,36.8400408],[25.4346308,36.8394483],[25.4346925,36.8391501],[25.4348672,36.8388956],[25.4348539,36.8387876],[25.434186,36.8384532],[25.4334751,36.8376145],[25.4336205,36.8369907],[25.4336336,36.8364948],[25.4338381,36.8360327],[25.4335494,36.8355854],[25.433541,36.8351349],[25.4333017,36.8349304],[25.4332598,36.8344892],[25.4329857,36.8342221],[25.4327748,36.8337379],[25.4325502,36.8337226],[25.4314901,36.8339968],[25.4314094,36.8338806],[25.4312742,36.8338461],[25.4310088,36.8340476],[25.4306601,36.8339887],[25.4301461,36.8340851],[25.4295852,36.8340738],[25.4287593,36.834282],[25.4269143,36.8339617],[25.4267325,36.8338376],[25.4260042,36.8338644],[25.4252846,36.8337649],[25.4247922,36.8338158],[25.4241465,36.833463],[25.423653,36.832856],[25.4235475,36.8326049],[25.42359,36.8324782],[25.4237802,36.8324579],[25.4240245,36.8323287],[25.4243829,36.8323064],[25.4253958,36.8325016],[25.4257344,36.8326237],[25.4261154,36.8326101],[25.4263835,36.8325528],[25.4267389,36.8323683],[25.428463,36.8322214],[25.4291864,36.8319243],[25.4293865,36.8318317],[25.4298387,36.8314297],[25.4300136,36.8311842],[25.430158,36.8311104],[25.4305197,36.8306643],[25.4305933,36.830402],[25.4308582,36.8301735],[25.4313815,36.829374],[25.4317359,36.8291354],[25.4326926,36.8287272],[25.4330856,36.8287585],[25.4334644,36.8286278],[25.4340793,36.8285302],[25.4341581,36.8285473],[25.4344918,36.829003],[25.4348174,36.8290261],[25.4349767,36.8291504],[25.4359046,36.829004],[25.4359686,36.8294268],[25.4360489,36.829525],[25.4362888,36.8291616],[25.4365043,36.8288818],[25.4366832,36.8288526],[25.436727,36.828798]]},{"id":16391,"author":"AnaDigit","name_GR":"\u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 8. \u0386\u03b3\u03b9\u03bf\u03c2 \u0393\u03b5\u03ce\u03c1\u03b3\u03b9\u03bf\u03c2-\u0392\u03bf\u03c1\u03b5\u03b9\u03bd\u03ae \u03a3\u03c0\u03b7\u03bb\u03b9\u03ac","description_GR":"","path":"Islands\/Islands_Iraklia_AgGeorgios_VoriniSpilia","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":5,"length":1542,"name_EN":"Iraklia: Trail 8. Aghios Georgios-Vorini Spilia","description_EN":"","ascent_time":30,"descent_time":30,"marker":"Red_dots","level":12,"ascent":36,"descent":39,"maxelev":60,"minelev":0,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.45362 36.85378,25.46697 36.86074)","views":9,"millestones":"0,25.4671000,36.8605792#1,25.4579717,36.8563703#1.5,25.4534890,36.8540672","x":25.4600326,"y":36.8566551,"coor":[[25.4671,36.8605792],[25.466444,36.8601163],[25.4662433,36.8598507],[25.4657209,36.8595146],[25.465304,36.8591569],[25.4642719,36.8579798],[25.4640281,36.857949],[25.4632359,36.8575802],[25.4624956,36.8569944],[25.4623379,36.8569603],[25.462081,36.8570175],[25.461722,36.8570129],[25.4615296,36.8569252],[25.4600326,36.8566551],[25.4585513,36.8566192],[25.4571151,36.8560059],[25.4568381,36.8555946],[25.4563817,36.8551856],[25.456278,36.8550427],[25.4561805,36.8546292],[25.4560316,36.8544688],[25.4547275,36.8543135],[25.4544679,36.8542265],[25.4542609,36.8539587],[25.4541595,36.8539329],[25.453489,36.8540672]]},{"id":16392,"author":"AnaDigit","name_GR":"\u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 3. \u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ac-\u0386\u03b3\u03b9\u03bf\u03c2 \u0399\u03c9\u03ac\u03bd\u03bd\u03b7\u03c2","description_GR":"\u03a3\u03c4\u03b1 \u03c3\u03c0\u03ae\u03bb\u03b1\u03b9\u03b1 \u0391\u03b3\u03af\u03bf\u03c5 \u0399\u03c9\u03ac\u03bd\u03bd\u03b7 \u03ba\u03b1\u03b9 \u03a0\u03bf\u03bb\u03cd\u03c6\u03b7\u03bc\u03bf\u03c5","path":"Islands\/Islands_Iraklia_Panagia_AgIoanis","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":5,"length":2651,"name_EN":"Iraklia: Trail 3. Panagia-Aghios Ioanis","description_EN":"Visit Aghios Ioanis and Polyfimos caves","ascent_time":50,"descent_time":45,"marker":"Red_dots","level":12,"ascent":141,"descent":174,"maxelev":278,"minelev":117,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.43622 36.82858,25.4544 36.83786)","views":21,"millestones":"0,25.4545593,36.8368130#1,25.4449348,36.8374588#2,25.4373755,36.8334723#2.7,25.4367270,36.8287957","x":25.4426308,"y":36.8370958,"coor":[[25.4545593,36.836813],[25.4543794,36.8368986],[25.4539313,36.8369221],[25.4536974,36.8370061],[25.4531105,36.8368059],[25.4527875,36.8369271],[25.4525185,36.8369303],[25.4523308,36.8370859],[25.4521473,36.8374667],[25.4518708,36.8376684],[25.4506255,36.8376385],[25.4502876,36.8375615],[25.4497222,36.837316],[25.4495459,36.8374804],[25.4492558,36.8375561],[25.4487392,36.8375173],[25.448535,36.8373936],[25.4483566,36.8374498],[25.4474594,36.8374427],[25.447042,36.8373126],[25.4466955,36.8373709],[25.4456414,36.8373747],[25.4453591,36.83727],[25.4452623,36.8374875],[25.4452263,36.8373617],[25.4451391,36.837498],[25.4450358,36.8373731],[25.4449708,36.837491],[25.4448225,36.8373576],[25.4447238,36.837476],[25.4446767,36.8373594],[25.4445218,36.8374695],[25.4444284,36.8372723],[25.4437938,36.8369194],[25.4436895,36.8367404],[25.4433728,36.837195],[25.4426308,36.8370958],[25.4421909,36.8369569],[25.4419976,36.8368151],[25.4419145,36.8365727],[25.4418481,36.8366186],[25.4416176,36.8362879],[25.4415508,36.8363157],[25.4413677,36.8361196],[25.4413429,36.8359937],[25.4412424,36.836013],[25.4408616,36.8354407],[25.4404908,36.8354001],[25.440122,36.8354677],[25.439997,36.8353791],[25.439097,36.8352277],[25.4386996,36.8349621],[25.4385139,36.8346308],[25.4379609,36.8344392],[25.4377663,36.8342253],[25.4376705,36.8339019],[25.437395,36.8335627],[25.4373704,36.8334458],[25.4373745,36.8330672],[25.4375359,36.8327047],[25.4372618,36.8324376],[25.4368219,36.8322987],[25.4366843,36.8321381],[25.4365717,36.8315085],[25.4367776,36.8311274],[25.4363924,36.8309158],[25.4361701,36.8304227],[25.4360738,36.8300723],[25.4362026,36.8297643],[25.4362887,36.8291593],[25.4365043,36.8288795],[25.4366831,36.8288503],[25.436727,36.8287957]]},{"id":16393,"author":"AnaDigit","name_GR":"\u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 2. \u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ac-\u03a6\u03c4\u03b5\u03c1\u03cc \u039c\u03ad\u03c1\u03b9\u03c7\u03b1","description_GR":"\u03a3\u03c4\u03bf\u03c5\u03c2 \u03b8\u03b1\u03bb\u03b1\u03c3\u03c3\u03b9\u03bd\u03bf\u03cd\u03c2 \u03b3\u03ba\u03c1\u03b5\u03bc\u03bf\u03cd\u03c2 \u03c4\u03bf\u03c5 \u039c\u03ad\u03c1\u03b9\u03c7\u03b1","path":"Islands\/Islands_Iraklia_Panagia_FteroMericha","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":5,"length":1795,"name_EN":"Iraklia: Trail 2. Panagia-Ftero Mericha","description_EN":"Toward the Merichas sea cliffs","ascent_time":35,"descent_time":30,"marker":"Red_dots","level":12,"ascent":148,"descent":24,"maxelev":302,"minelev":163,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.45254 36.82272,25.45482 36.83635)","views":6,"millestones":"0,25.4544155,36.8363280#1,25.4543549,36.8291061#1.8,25.4522791,36.8227500","x":25.4548337,"y":36.8315771,"coor":[[25.4544155,36.836328],[25.4544866,36.8358224],[25.4543795,36.8356817],[25.4537669,36.8353106],[25.4533544,36.8348469],[25.454078,36.8345677],[25.4542965,36.8342585],[25.4544295,36.8341758],[25.4543498,36.8341137],[25.4547228,36.8336764],[25.4546103,36.8336598],[25.4546095,36.8336147],[25.4548525,36.8334225],[25.4546838,36.8333975],[25.455015,36.833123],[25.454891,36.8330885],[25.4549554,36.8329345],[25.454913,36.832802],[25.4549521,36.8319092],[25.4548337,36.8315771],[25.4547026,36.831466],[25.4542396,36.8297749],[25.4543826,36.8296289],[25.4542151,36.829667],[25.4543478,36.8295662],[25.4543097,36.8293323],[25.4543919,36.8289347],[25.4540965,36.828731],[25.4539803,36.8285161],[25.453752,36.8283026],[25.4532606,36.8272179],[25.4531362,36.8265704],[25.4528568,36.826024],[25.4527823,36.8256463],[25.4527243,36.8255389],[25.4524644,36.8254339],[25.4527979,36.8246907],[25.4529528,36.8239857],[25.4522791,36.82275]]},{"id":16394,"author":"AnaDigit","name_GR":"\u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac: \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 1. \u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ac-\u03ba\u03bf\u03c1\u03c5\u03c6\u03ae \u03a0\u03ac\u03c0\u03b1","description_GR":"\u0391\u03bd\u03ac\u03b2\u03b1\u03c3\u03b7 \u03c3\u03c4\u03b7\u03bd \u03ba\u03bf\u03c1\u03c5\u03c6\u03ae \u03c4\u03b7\u03c2 \u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac\u03c2","path":"Islands\/Islands_Iraklia_Panagia_Papa","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":5,"length":2129,"name_EN":"Iraklia: Trail 1. Panagia-Papa peak","description_EN":"Ascent to te summit of the island","ascent_time":45,"descent_time":35,"marker":"Red_dots","level":12,"ascent":254,"descent":4,"maxelev":420,"minelev":160,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.44576 36.82587,25.4543 36.83643)","views":14,"millestones":"0,25.4544155,36.8363280#1,25.4505144,36.8289504#2.1,25.4456593,36.8312879","x":25.4504302,"y":36.8285978,"coor":[[25.4544155,36.836328],[25.4544866,36.8358224],[25.4543795,36.8356817],[25.4537669,36.8353106],[25.4533544,36.8348469],[25.4529277,36.8343339],[25.4526787,36.834249],[25.4521919,36.8340026],[25.4520651,36.8338239],[25.4517344,36.8329355],[25.4514237,36.8325157],[25.4506946,36.8319116],[25.4503532,36.8316454],[25.4504075,36.8315546],[25.4503046,36.8314477],[25.4503821,36.8313926],[25.4503798,36.8312755],[25.4501716,36.8309355],[25.450186,36.8305117],[25.4500793,36.8302065],[25.4502246,36.8301777],[25.4501084,36.8299628],[25.4500934,36.8297647],[25.4502543,36.8293751],[25.4504853,36.8291379],[25.4505658,36.8286502],[25.4504302,36.8285978],[25.4502354,36.8277799],[25.450003,36.8273501],[25.449309,36.8268177],[25.4490277,36.8261721],[25.4486982,36.8259418],[25.4485078,36.8259531],[25.4482639,36.8261003],[25.4480027,36.8265181],[25.4479327,36.8269697],[25.4480598,36.8271664],[25.4478602,36.827286],[25.4477403,36.8274678],[25.4474972,36.82766],[25.4471281,36.8283045],[25.4468516,36.8285062],[25.4468117,36.8287681],[25.4465362,36.8290238],[25.446365,36.8294585],[25.4460881,36.8296422],[25.4459721,36.8300312],[25.4458284,36.8301411],[25.445834,36.8304385],[25.4457273,36.8307282],[25.4457901,36.831088],[25.4457378,36.831287],[25.4456593,36.8312879]]},{"id":16395,"author":"AnaDigit","name_GR":"\u0397\u03c1\u03b1\u03ba\u03bb\u03b5\u03b9\u03ac: \u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ac-\u03a0\u03c1\u03bf\u03c6\u03ae\u03c4\u03b7\u03c2 \u0397\u03bb\u03af\u03b1\u03c2","description_GR":"\u03a3\u03cd\u03bd\u03c4\u03bf\u03bc\u03b7 \u03c0\u03bf\u03c1\u03b5\u03af\u03b1 \u03c3\u03c4\u03bf \u03bf\u03c1\u03b5\u03b9\u03bd\u03cc \u03be\u03c9\u03ba\u03bb\u03ae\u03c3\u03b9","path":"Islands\/Islands_Iraklia_Panagia_ProfitisIlias","activity_type":31,"assistance":1,"difficulty":1,"scenic_value":5,"length":1097,"name_EN":"Iraklia: Panagia-Profitis Ilias","description_EN":"A short hike to the landmark of the island","ascent_time":25,"descent_time":15,"marker":"Red_dots","level":13,"ascent":165,"descent":0,"maxelev":340,"minelev":160,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.45215 36.83066,25.45497 36.83636)","views":7,"millestones":"0,25.4544155,36.8363280#1.1,25.4520418,36.8306963","x":25.4549521,"y":36.8319092,"coor":[[25.4544155,36.836328],[25.4544866,36.8358224],[25.4543795,36.8356817],[25.4537669,36.8353106],[25.4533544,36.8348469],[25.454078,36.8345677],[25.4542965,36.8342585],[25.4544295,36.8341758],[25.4543498,36.8341137],[25.4547228,36.8336764],[25.4546103,36.8336598],[25.4546095,36.8336147],[25.4548525,36.8334225],[25.4546838,36.8333975],[25.455015,36.833123],[25.454891,36.8330885],[25.4549554,36.8329345],[25.454913,36.832802],[25.4549521,36.8319092],[25.4548337,36.8315771],[25.4547026,36.831466],[25.4544786,36.8314778],[25.4542586,36.8317058],[25.4542233,36.8316161],[25.454031,36.8315283],[25.4536774,36.8318031],[25.4535687,36.8319847],[25.4534566,36.8319861],[25.4531953,36.831809],[25.453159,36.8316652],[25.4530679,36.8315942],[25.453064,36.8313869],[25.4528291,36.8314168],[25.4526443,36.8311307],[25.4524192,36.8310883],[25.4520418,36.8306963]]},{"id":16428,"author":"AnaDigit","name_GR":"\u039a\u03ac\u03c4\u03c9 \u039a\u03bf\u03c5\u03c6\u03bf\u03bd\u03ae\u03c3\u03b9: \u03a0\u03b1\u03bd\u03b1\u03b3\u03b9\u03ac-\u0393\u03ad\u03bd\u03bf\u03c5\u03c0\u03b1\u03c2","description_GR":"\u0394\u03b9\u03ac\u03c3\u03c7\u03b9\u03c3\u03b7 \u03c3\u03c4\u03bf \u039a\u03ac\u03c4\u03c9 \u039a\u03bf\u03c5\u03c6\u03bf\u03bd\u03ae\u03c3\u03b9","path":"Islands\/Islands_KatoKoufonisi_Panagia_Genoupas","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":3424,"name_EN":"Kato Koufonisi: Panagia-Genoupas","description_EN":"Crossing Kato Koufonisi","ascent_time":70,"descent_time":65,"marker":"Red_dots","level":12,"ascent":114,"descent":95,"maxelev":66,"minelev":1,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.56624 36.90082,25.59395 36.91548)","views":32,"millestones":"0,25.5942514,36.9151074#1,25.5841138,36.9133590#2,25.5763471,36.9082837#3,25.5684832,36.9035620#3.4,25.5663315,36.9011879","x":25.5772479,"y":36.9091466,"coor":[[25.5942514,36.9151074],[25.5941155,36.9148501],[25.5936096,36.9148118],[25.5928731,36.91502],[25.592294,36.9147033],[25.592031,36.9144049],[25.5917041,36.9144047],[25.5915215,36.914263],[25.5911217,36.9144666],[25.5908571,36.9145648],[25.5903923,36.9143457],[25.589113,36.9142254],[25.5877654,36.9138626],[25.5865668,36.9134369],[25.5860954,36.9134432],[25.5856294,36.9132646],[25.5852699,36.9132514],[25.5845992,36.9133866],[25.5839362,36.9133503],[25.583143,36.9135322],[25.5819589,36.9132685],[25.581108,36.9128292],[25.5804977,36.91263],[25.5803594,36.9124516],[25.5800853,36.9121916],[25.5797791,36.9120424],[25.5790919,36.9113755],[25.5787555,36.9108482],[25.5787006,36.9103622],[25.5785121,36.909932],[25.5783237,36.9097723],[25.5775804,36.9094847],[25.5772479,36.9091466],[25.5766858,36.9091],[25.5765246,36.9089038],[25.5762588,36.907988],[25.575839,36.9077682],[25.5755033,36.9078177],[25.5754464,36.9077824],[25.5753825,36.9074047],[25.5752253,36.9073978],[25.5745259,36.9077766],[25.5742678,36.90778],[25.5741656,36.9077183],[25.5740815,36.907449],[25.5737105,36.9068771],[25.5731154,36.9063171],[25.5728503,36.9059781],[25.5722037,36.9056441],[25.5714958,36.9056084],[25.5712594,36.9054696],[25.5703102,36.9051576],[25.5698321,36.9048305],[25.5685271,36.9035858],[25.567483,36.9030227],[25.5673458,36.9028983],[25.5669367,36.9027573],[25.566721,36.9026722],[25.5663625,36.902704],[25.5663055,36.9026574],[25.5662528,36.9022795],[25.5660592,36.9021379],[25.5659637,36.9018597],[25.5663356,36.9013861],[25.5663315,36.9011879]]}],{"extent":[25.42408,36.82272,25.82861,37.13504],"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 =
''
+ '
'+ self.name.replace("
",": ") +'
'
+ self.parent.getImagetItem(self.photoPath,self.width,self.height)
+ '
'+ self.description +'
'
+ '
';
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_mikres_kyklades = new getPoiCollection("mikres_kyklades",[{"name":"\u039a\u039f\u03a5\u03a6\u039f\u039d\u0397\u03a3\u0399\u0391
\u039f\u03b9 \u03c3\u03c0\u03b7\u03bb\u03b9\u03ad\u03c2 \u03c4\u03bf\u03c5 \u039e\u03c5\u03bb\u03bf\u03c0\u03ac\u03c4\u03b7","owner":"\u0393. \u03a1\u03bf\u03cd\u03c3\u03c3\u03bf\u03c2","x":25.6209949,"y":36.9478814,"photo":"Koufonisi_Cave_Xilopatis","type":73,"zoom_level":13,"id":717,"hlink_GR":"","hlink_EN":"","description":"","height":341,"width":600}],{});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:["mikres_kyklades"],pc:["mikres_kyklades"],url: 'https://m1.anadigit.fr/tms/1.0.0/ntn_combo/{z}/{x}/{-y}.png',showLogo: 1,showZoomTool: 1};
var overrideAfterLoad = function(map){ adventureCollection_mikres_kyklades.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);
}