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 = "en";(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 = 10); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports, __webpack_require__) { // OpenLayers. See https://openlayers.org/ // License: https://raw.githubusercontent.com/openlayers/openlayers/master/LICENSE.md // Version: v4.6.5 ;(function (root, factory) { if (true) { module.exports = factory(); } else if (typeof define === "function" && define.amd) { define([], factory); } else { root.ol = factory(); } }(this, function () { var OPENLAYERS = {}; var k,aa=this;function t(a,b){var c=OPENLAYERS;a=a.split(".");c=c||aa;a[0]in c||!c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};var ba,da;function w(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a}function ea(){}function x(a){return a.xp||(a.xp=++fa)}var fa=0;function ha(a){this.message="Assertion failed. See https://openlayers.org/en/v4.6.5/doc/errors/#"+a+" for details.";this.code=a;this.name="AssertionError"}w(ha,Error);function ja(a,b,c,d){this.fa=a;this.la=b;this.ea=c;this.ka=d}function ka(a,b,c,d,e){return void 0!==e?(e.fa=a,e.la=b,e.ea=c,e.ka=d,e):new ja(a,b,c,d)}function ma(a,b,c){return a.fa<=b&&b<=a.la&&a.ea<=c&&c<=a.ka}function na(a,b){return a.fa==b.fa&&a.ea==b.ea&&a.la==b.la&&a.ka==b.ka};function oa(a,b){if(!a)throw new ha(b);};function pa(a,b,c){return Math.min(Math.max(a,b),c)}var qa=function(){var a;"cosh"in Math?a=Math.cosh:a=function(a){a=Math.exp(a);return(a+1/a)/2};return a}();function ra(a){oa(0a*b?a+b:a}function ya(a,b,c){return a+c*(b-a)};function za(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]+2*b;c[1]=a[1]+2*b;return c}function Aa(a,b,c){void 0===c&&(c=[0,0]);c[0]=a[0]*b+.5|0;c[1]=a[1]*b+.5|0;return c}function Ba(a,b){if(Array.isArray(a))return a;void 0===b?b=[a,a]:b[0]=b[1]=a;return b};function Ca(a){for(var b=Da(),c=0,d=a.length;cd&&(g|=4);be&&(g|=2);0===g&&(g=1);return g}function Da(){return[Infinity,Infinity,-Infinity,-Infinity]}function Na(a,b,c,d,e){return e?(e[0]=a,e[1]=b,e[2]=c,e[3]=d,e):[a,b,c,d]}function Oa(a){return Na(Infinity,Infinity,-Infinity,-Infinity,a)}function Pa(a,b){var c=a[0];a=a[1];return Na(c,a,c,a,b)} function Qa(a,b,c,d,e){e=Oa(e);return Ra(e,a,b,c,d)}function Sa(a,b){return a[0]==b[0]&&a[2]==b[2]&&a[1]==b[1]&&a[3]==b[3]}function Ta(a,b){b[0]a[2]&&(a[2]=b[2]);b[1]a[3]&&(a[3]=b[3]);return a}function Ea(a,b){b[0]a[2]&&(a[2]=b[0]);b[1]a[3]&&(a[3]=b[1])} function Ra(a,b,c,d,e){for(;cb[0]?a[0]:b[0],c[1]=a[1]>b[1]?a[1]:b[1],c[2]=a[2]=b[0]&&a[1]<=b[3]&&a[3]>=b[1]}function bb(a){return a[2]Ab?f=Ab:f<-Ab&&(f=-Ab);b[e+1]=f}return b}function Db(a,b,c){var d=a.length;c=1b?1:ac)for(c=1;c>>0,d,e=0;e>=1}return c.join("")};function qc(a){this.minZoom=void 0!==a.minZoom?a.minZoom:0;this.b=a.resolutions;oa(nc(this.b,function(a,b){return b-a}),17);if(!a.origins)for(var b=0,c=this.b.length-1;b=a.minZoom;){2===a.l?(h=Math.floor(h/2),l=Math.floor(l/2),b=ka(h,h,l,l,d)):b=tc(a,f,g,d);if(c.call(null,g,b))return!0;--g}return!1}k.G=function(){return this.o};k.mj=function(){return this.maxZoom};k.nj=function(){return this.minZoom};k.Ic=function(a){return this.g?this.g:this.c[a]};k.Ta=function(a){return this.b[a]}; k.oj=function(){return this.b};function vc(a,b,c,d){if(b[0]=Math.abs(c-f[0])&&25>=g)return!0}return!1}function Ed(a){var b=Fd(a,a),c=b.preventDefault;b.preventDefault=function(){a.preventDefault();c()};b.pointerId=1;b.isPrimary=!0;b.pointerType="mouse";return b}k=Cd.prototype; k.Jm=function(a){if(!Dd(this,a)){(1).toString()in this.a&&this.cancel(a);var b=Ed(a);this.a[(1).toString()]=a;Gd(this.b,"pointerdown",b,a)}};k.Km=function(a){if(!Dd(this,a)){var b=Ed(a);Gd(this.b,"pointermove",b,a)}};k.Nm=function(a){if(!Dd(this,a)){var b=this.a[(1).toString()];b&&b.button===a.button&&(b=Ed(a),Gd(this.b,"pointerup",b,a),delete this.a[(1).toString()])}};k.Mm=function(a){if(!Dd(this,a)){var b=Ed(a);Hd(this.b,b,a)}};k.Lm=function(a){if(!Dd(this,a)){var b=Ed(a);Jd(this.b,b,a)}}; k.cancel=function(a){var b=Ed(a);this.b.cancel(b,a);delete this.a[(1).toString()]};function Kd(a){Bd.call(this,a,{MSPointerDown:this.Sm,MSPointerMove:this.Tm,MSPointerUp:this.Wm,MSPointerOut:this.Um,MSPointerOver:this.Vm,MSPointerCancel:this.Rm,MSGotPointerCapture:this.Pm,MSLostPointerCapture:this.Qm});this.a=a.g;this.g=["","unavailable","touch","pen","mouse"]}w(Kd,Bd);function Ld(a,b){var c=b;"number"===typeof b.pointerType&&(c=Fd(b,b),c.pointerType=a.g[b.pointerType]);return c}k=Kd.prototype; k.Sm=function(a){this.a[a.pointerId.toString()]=a;var b=Ld(this,a);Gd(this.b,"pointerdown",b,a)};k.Tm=function(a){var b=Ld(this,a);Gd(this.b,"pointermove",b,a)};k.Wm=function(a){var b=Ld(this,a);Gd(this.b,"pointerup",b,a);delete this.a[a.pointerId.toString()]};k.Um=function(a){var b=Ld(this,a);Jd(this.b,b,a)};k.Vm=function(a){var b=Ld(this,a);Hd(this.b,b,a)};k.Rm=function(a){var b=Ld(this,a);this.b.cancel(b,a);delete this.a[a.pointerId.toString()]}; k.Qm=function(a){this.b.b(new Md("lostpointercapture",a,a))};k.Pm=function(a){this.b.b(new Md("gotpointercapture",a,a))};function Nd(a){Bd.call(this,a,{pointerdown:this.Kp,pointermove:this.Lp,pointerup:this.Op,pointerout:this.Mp,pointerover:this.Np,pointercancel:this.Jp,gotpointercapture:this.Wl,lostpointercapture:this.Hm})}w(Nd,Bd);k=Nd.prototype;k.Kp=function(a){Od(this.b,a)};k.Lp=function(a){Od(this.b,a)};k.Op=function(a){Od(this.b,a)};k.Mp=function(a){Od(this.b,a)};k.Np=function(a){Od(this.b,a)};k.Jp=function(a){Od(this.b,a)};k.Hm=function(a){Od(this.b,a)};k.Wl=function(a){Od(this.b,a)};function Md(a,b,c){Qc.call(this,a);this.b=b;a=c?c:{};this.buttons=Pd(a);this.pressure=Qd(a,this.buttons);this.bubbles="bubbles"in a?a.bubbles:!1;this.cancelable="cancelable"in a?a.cancelable:!1;this.view="view"in a?a.view:null;this.detail="detail"in a?a.detail:null;this.screenX="screenX"in a?a.screenX:0;this.screenY="screenY"in a?a.screenY:0;this.clientX="clientX"in a?a.clientX:0;this.clientY="clientY"in a?a.clientY:0;this.ctrlKey="ctrlKey"in a?a.ctrlKey:!1;this.altKey="altKey"in a?a.altKey:!1;this.shiftKey= "shiftKey"in a?a.shiftKey:!1;this.metaKey="metaKey"in a?a.metaKey:!1;this.button="button"in a?a.button:0;this.relatedTarget="relatedTarget"in a?a.relatedTarget:null;this.pointerId="pointerId"in a?a.pointerId:0;this.width="width"in a?a.width:0;this.height="height"in a?a.height:0;this.tiltX="tiltX"in a?a.tiltX:0;this.tiltY="tiltY"in a?a.tiltY:0;this.pointerType="pointerType"in a?a.pointerType:"";this.isPrimary="isPrimary"in a?a.isPrimary:!1;b.preventDefault&&(this.preventDefault=function(){b.preventDefault()})} w(Md,Qc);function Pd(a){if(a.buttons||Rd)a=a.buttons;else switch(a.which){case 1:a=1;break;case 2:a=4;break;case 3:a=2;break;default:a=0}return a}function Qd(a,b){var c=0;a.pressure?c=a.pressure:c=b?.5:0;return c}var Rd=!1;try{Rd=1===(new MouseEvent("click",{buttons:1})).buttons}catch(a){};function Sd(a,b){Bd.call(this,a,{touchstart:this.Qq,touchmove:this.Pq,touchend:this.Oq,touchcancel:this.Nq});this.a=a.g;this.j=b;this.g=void 0;this.f=0;this.c=void 0}w(Sd,Bd);k=Sd.prototype;k.Ej=function(){this.f=0;this.c=void 0}; function Td(a,b,c){b=Fd(b,c);b.pointerId=c.identifier+2;b.bubbles=!0;b.cancelable=!0;b.detail=a.f;b.button=0;b.buttons=1;b.width=c.webkitRadiusX||c.radiusX||0;b.height=c.webkitRadiusY||c.radiusY||0;b.pressure=c.webkitForce||c.force||.5;b.isPrimary=a.g===c.identifier;b.pointerType="touch";b.clientX=c.clientX;b.clientY=c.clientY;b.screenX=c.screenX;b.screenY=c.screenY;return b} function Ud(a,b,c){function d(){b.preventDefault()}var e=Array.prototype.slice.call(b.changedTouches),f=e.length,g;for(g=0;g=b.length){var e=[],f;for(f=0;fa.D||Math.abs(b.clientY-a.c.clientY)>a.D}k.ia=function(){this.v&&(Gc(this.v),this.v=null);this.s&&(Gc(this.s),this.s=null);this.i.forEach(Gc);this.i.length=0;this.a&&(Pc(this.a),this.a=null);this.f&&(Pc(this.f),this.f=null);Sc.prototype.ia.call(this)};function ge(a,b){this.s=a;this.c=b;this.b=[];this.g=[];this.a={}}ge.prototype.clear=function(){this.b.length=0;this.g.length=0;lb(this.a)};function he(a){var b=a.b,c=a.g,d=b[0];1==b.length?(b.length=0,c.length=0):(b[0]=b.pop(),c[0]=c.pop(),ie(a,0));b=a.c(d);delete a.a[b];return d}ge.prototype.i=function(a){oa(!(this.c(a)in this.a),31);var b=this.s(a);return Infinity!=b?(this.b.push(a),this.g.push(b),this.a[this.c(a)]=!0,je(this,0,this.b.length-1),!0):!1}; function ie(a,b){for(var c=a.b,d=a.g,e=c.length,f=c[b],g=d[b],h=b;b>1;){var l=2*b+1,m=2*b+2;l=mb;){var g=c-1>>1;if(a[g]>f)d[c]=d[g],a[c]=a[g],c=g;else break}d[c]=e;a[c]=f} function ke(a){var b=a.s,c=a.b,d=a.g,e=0,f=c.length,g;for(g=0;g>1)-1;0<=b;b--)ie(a,b)};function le(a,b){ge.call(this,function(b){return a.apply(null,b)},function(a){return a[0].lb()});this.v=b;this.j=0;this.f={}}w(le,ge);le.prototype.i=function(a){var b=ge.prototype.i.call(this,a);b&&y(a[0],"change",this.l,this);return b};le.prototype.l=function(a){a=a.target;var b=a.getState();if(2===b||3===b||4===b||5===b)Mc(a,"change",this.l,this),a=a.lb(),a in this.f&&(delete this.f[a],--this.j),this.v()}; function me(a,b,c){for(var d=0,e=!1,f,g,h;a.je)return 1;if(e>d)return-1}return 0};function ze(a,b){a[0]+=b[0];a[1]+=b[1];return a}function Ae(a,b){var c=b.Bd(),d=b.xa();b=d[0];d=d[1];var e=a[0]-b;a=a[1]-d;0===e&&0===a&&(e=1);var f=Math.sqrt(e*e+a*a);return[b+c*e/f,d+c*a/f]}function Be(a,b){var c=a[0];a=a[1];var d=b[0],e=b[1];b=d[0];d=d[1];var f=e[0];e=e[1];var g=f-b,h=e-d;c=0===g&&0===h?0:(g*(c-b)+h*(a-d))/(g*g+h*h||0);0>=c?(a=b,c=d):1<=c?(a=f,c=e):(a=b+c*g,c=d+c*h);return[a,c]} function Ce(a,b,c){b=wa(b+180,360)-180;var d=Math.abs(3600*b);c=c||0;var e=Math.pow(10,c),f=Math.floor(d/3600),g=Math.floor((d-3600*f)/60);d=Math.ceil((d-3600*f-60*g)*e)/e;60<=d&&(d=0,g+=1);60<=g&&(g=0,f+=1);return f+"\u00b0 "+xe(g)+"\u2032 "+xe(d,c)+"\u2033"+(0==b?"":" "+a.charAt(0>b?1:0))}function De(a,b,c){return a?b.replace("{x}",a[0].toFixed(c)).replace("{y}",a[1].toFixed(c)):""}function Ee(a,b){for(var c=!0,d=a.length-1;0<=d;--d)if(a[d]!=b[d]){c=!1;break}return c} function Fe(a,b){var c=Math.cos(b);b=Math.sin(b);var d=a[1]*c+a[0]*b;a[0]=a[0]*c-a[1]*b;a[1]=d;return a}function Ge(a,b){a[0]*=b;a[1]*=b}function He(a,b){var c=a[0]-b[0];a=a[1]-b[1];return c*c+a*a}function Ie(a,b){return Math.sqrt(He(a,b))}function Je(a,b){return He(a,Be(a,b))}function Ke(a,b){return De(a,"{x}, {y}",b)};function Me(a){return Math.pow(a,3)}function Oe(a){return 1-Me(1-a)}function Pe(a){return 3*a*a-2*a*a*a}function Qe(a){return a};function Re(){return!0}function Se(){return!1};function Te(a,b,c,d,e,f){for(var g=f?f:[],h=0;ba||0!==this.f&&a<=this.f)return this;var b=a.toString();if(this.i.hasOwnProperty(b))return this.i[b];var c=this.xd(a);if(c.da().lengthe&&(e=f);f=h;g=l}return e}function qf(a,b,c,d,e){var f;var g=0;for(f=c.length;gh){for(;br&&(m=n,r=E)}r>e&&(l[(m-b)/d]=1,q+dla&&iala)&&(0>ca&&xaca)||(v[z++]=S,v[z++]=g,A=S,E=g);S=Ia;g=ta}}v[z++]=S;v[z++]=g}g=z}h.push(g);b=n}return g};function Df(a,b){hf.call(this);this.c=this.j=-1;this.na(a,b)}w(Df,hf);k=Df.prototype;k.clone=function(){var a=new Df(null);Ef(a,this.ja,this.A.slice());return a};k.Nb=function(a,b,c,d){if(df&&0<(m-h)*(f-l)-(e-h)*(n-l)&&g++:n<=f&&0>(m-h)*(f-l)-(e-h)*(n-l)&&g--;h=m;l=n}return 0!==g}function Hf(a,b,c,d,e,f){if(0===c.length||!Gf(a,b,c[0],d,e,f))return!1;var g;b=1;for(g=c.length;bv&&(m=(m+n)/2,Hf(a,b,c,d,m,q)&&(u=m,v=z)),m=n;isNaN(u)&&(u=e[f]);return g?(g.push(u,q,v),g):[u,q,v]};function Jf(a,b,c,d,e,f){for(var g=[a[b],a[b+1]],h=[],l;b+d=e[0]&&f[2]<=e[2]||f[1]>=e[1]&&f[3]<=e[3]?!0:Jf(a,b,c,d,function(a,b){var c=!1,d=Ma(e,a),f=Ma(e,b);if(1===d||1===f)c=!0;else{var g=e[0],h=e[1],r=e[2],u=e[3],v=b[0];b=b[1];a=(b-a[1])/(v-a[0]);f&2&&!(d&2)&&(c=v-(b-u)/a,c=c>=g&&c<=r);c||!(f&4)||d&4||(c=b-(v-r)*a,c=c>=h&&c<=u);c||!(f&8)||d&8||(c=v-(b-h)/a,c=c>=g&&c<=r);c||!(f&16)||d&16||(c=b-(v-g)*a,c=c>=h&&c<=u)}return c}):!1} function Lf(a,b,c,d,e){var f=c[0];if(!(Kf(a,b,f,d,e)||Gf(a,b,f,d,e[0],e[1])||Gf(a,b,f,d,e[0],e[3])||Gf(a,b,f,d,e[2],e[1])||Gf(a,b,f,d,e[2],e[3])))return!1;if(1===c.length)return!0;b=1;for(f=c.length;ba||this.c.length<=a)return null;var b=new Df(null);Ef(b,this.ja,this.A.slice(0===a?0:this.c[a-1],this.c[a]));return b};k.Ud=function(){var a=this.ja,b=this.A,c=this.c,d=[],e=0,f;var g=0;for(f=c.length;g=a.minResolution&&ba.b.length)return!1;var b=Date.now()-a.f,c=a.b.length-3;if(a.b[c+2]b;)d-=3;b=a.b[c+2]-a.b[d+2];if(b<1E3/60)return!1;var e=a.b[c]-a.b[d];c=a.b[c+1]-a.b[d+1];a.g=Math.atan2(c,e);a.a=Math.sqrt(e*e+c*c)/b;return a.a>a.c};function Jg(a){Vc.call(this);this.v=null;this.Ha(!0);this.handleEvent=a.handleEvent}w(Jg,Vc);Jg.prototype.c=function(){return this.get("active")};Jg.prototype.i=function(){return this.v};Jg.prototype.Ha=function(a){this.set("active",a)};Jg.prototype.setMap=function(a){this.v=a};function Kg(a,b,c,d){if(void 0!==b){var e=a.Sa(),f=a.xa();void 0!==e&&f&&0=this.o}function vh(a){if(dh(a)){var b=this.a,c=a.pixel;b.c=this.f;b.g=c;sh(b);rh(b);this.b(new yh(zh,a.coordinate,a))}}th.prototype.U=function(){return this.a.U()}; th.prototype.j=ea;function wh(a){if(!dh(a))return!0;this.a.setMap(null);this.s(a,this.f,a.pixel)&&(this.j(a),this.b(new yh(Ah,a.coordinate,a)));return!1}function uh(a){if(dh(a)&&Yg(a)&&this.C(a)){this.f=a.pixel;this.a.setMap(a.map);var b=this.a,c=this.f;b.c=this.f;b.g=c;sh(b);rh(b);this.b(new yh(Bh,a.coordinate,a));return!0}return!1}var Bh="boxstart",zh="boxdrag",Ah="boxend";function yh(a,b,c){Qc.call(this,a);this.coordinate=b;this.mapBrowserEvent=c}w(yh,Qc);function Ch(a){a=a?a:{};var b=a.condition?a.condition:bh;this.B=void 0!==a.duration?a.duration:200;this.T=void 0!==a.out?a.out:!1;th.call(this,{condition:b,className:a.className||"ol-dragzoom"})}w(Ch,th); Ch.prototype.j=function(){var a=this.v,b=a.aa(),c=a.Cb(),d=this.U().G();if(this.T){var e=b.qd(c);d=[a.Ia(Wa(d)),a.Ia(Za(d))];a=Oa(void 0);var f;var g=0;for(f=d.length;gMath.abs(d)?Ph:Qh;if(this.l===Ph){b=b.aa();this.s?clearTimeout(this.s): bg(b,1,1);this.s=setTimeout(this.B.bind(this),400);c=b.Pa()*Math.pow(2,d/300);var e=b.i,f=b.a,g=0;cf&&(c=Math.min(c,1.5*f),g=-1);if(this.a){var h=cg(b,c,this.a);b.ub(b.Sc(h))}b.gd(c);0===g&&this.O&&b.animate({resolution:b.constrainResolution(c,0g&&b.animate({resolution:f,easing:Oe,anchor:this.a,duration:500});this.f=a;return!1}this.j+=d;d=Math.max(this.$- (a-this.f),0);clearTimeout(this.o);this.o=setTimeout(this.T.bind(this,b),d);return!1}Hh.prototype.B=function(){this.s=void 0;bg(this.v.aa(),1,-1)};Hh.prototype.T=function(a){a=a.aa();a.Ac()&&a.rd();Lg(a,-pa(this.j,-1,1),this.a,this.D);this.l=void 0;this.j=0;this.a=null;this.o=this.f=void 0};Hh.prototype.V=function(a){this.C=a;a||(this.a=null)};var Ph="trackpad",Qh="wheel";function Rh(a){fh.call(this,{handleDownEvent:Sh,handleDragEvent:Th,handleUpEvent:Uh});a=a||{};this.f=null;this.j=void 0;this.a=!1;this.s=0;this.C=void 0!==a.threshold?a.threshold:.3;this.o=void 0!==a.duration?a.duration:250}w(Rh,fh); function Th(a){var b=0,c=this.l[0],d=this.l[1];c=Math.atan2(d.clientY-c.clientY,d.clientX-c.clientX);void 0!==this.j&&(b=c-this.j,this.s+=b,!this.a&&Math.abs(this.s)>this.C&&(this.a=!0));this.j=c;a=a.map;c=a.aa();if(c.l.rotation!==re){d=a.a.getBoundingClientRect();var e=hh(this.l);e[0]-=d.left;e[1]-=d.top;this.f=a.Ra(e);this.a&&(d=c.Sa(),a.render(),Kg(c,d+b,this.f))}} function Uh(a){if(2>this.l.length){a=a.map.aa();bg(a,1,-1);if(this.a){var b=a.Sa(),c=this.f,d=this.o;b=a.constrainRotation(b,0);Kg(a,b,c,d)}return!1}return!0}function Sh(a){return 2<=this.l.length?(a=a.map,this.f=null,this.j=void 0,this.a=!1,this.s=0,this.D||bg(a.aa(),1,1),!0):!1}Rh.prototype.jd=Se;function Vh(a){fh.call(this,{handleDownEvent:Wh,handleDragEvent:Xh,handleUpEvent:Yh});a=a?a:{};this.s=a.constrainResolution||!1;this.f=null;this.o=void 0!==a.duration?a.duration:400;this.a=void 0;this.j=1}w(Vh,fh); function Xh(a){var b=1,c=this.l[0],d=this.l[1],e=c.clientX-d.clientX;c=c.clientY-d.clientY;e=Math.sqrt(e*e+c*c);void 0!==this.a&&(b=this.a/e);this.a=e;a=a.map;e=a.aa();d=e.Pa();var f=e.a,g=e.i;c=d*b;c>f?(b=f/d,c=f):cthis.l.length){a=a.map.aa();bg(a,1,-1);var b=a.Pa();if(this.s||ba.a){var c=this.f,d=this.o;b=a.constrainResolution(b,0,this.j-1);Tg(a,b,c,d)}return!1}return!0}function Wh(a){return 2<=this.l.length?(a=a.map,this.f=null,this.a=void 0,this.j=1,this.D||bg(a.aa(),1,1),!0):!1}Vh.prototype.jd=Se;function Zh(a){a=a?a:{};var b=new B,c=new Gg(-.005,.05,100);(void 0!==a.altShiftDragRotate?a.altShiftDragRotate:1)&&b.push(new mh);(void 0!==a.doubleClickZoom?a.doubleClickZoom:1)&&b.push(new Ug({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.dragPan?a.dragPan:1)&&b.push(new ih({kinetic:c}));(void 0!==a.pinchRotate?a.pinchRotate:1)&&b.push(new Rh);(void 0!==a.pinchZoom?a.pinchZoom:1)&&b.push(new Vh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));if(void 0!==a.keyboard? a.keyboard:1)b.push(new Dh),b.push(new Fh({delta:a.zoomDelta,duration:a.zoomDuration}));(void 0!==a.mouseWheelZoom?a.mouseWheelZoom:1)&&b.push(new Hh({constrainResolution:a.constrainResolution,duration:a.zoomDuration}));(void 0!==a.shiftDragZoom?a.shiftDragZoom:1)&&b.push(new Ch({duration:a.zoomDuration}));return b};function $h(a,b,c,d){Sc.call(this);this.extent=a;this.a=c;this.resolution=b;this.state=d}w($h,Sc);$h.prototype.u=function(){this.b("change")};$h.prototype.G=function(){return this.extent};$h.prototype.getState=function(){return this.state};function ai(a,b,c,d,e){this.c=void 0!==e?e:null;$h.call(this,a,b,c,void 0!==e?0:2);this.g=d}w(ai,$h);ai.prototype.i=function(a){this.state=a?3:2;this.u()};ai.prototype.load=function(){0==this.state&&(this.state=1,this.u(),this.c(this.i.bind(this)))};ai.prototype.Y=function(){return this.g};function bi(a,b,c,d,e){Qc.call(this,a);this.vectorContext=b;this.frameState=c;this.context=d;this.glContext=e}w(bi,Qc);function ci(a){Sc.call(this);this.highWaterMark=void 0!==a?a:2048;this.i=0;this.a={};this.c=this.g=null}w(ci,Sc);function di(a){return a.i>a.highWaterMark}k=ci.prototype;k.clear=function(){this.i=0;this.a={};this.c=this.g=null;this.b("clear")};k.forEach=function(a,b){for(var c=this.g;c;)a.call(b,c.Pc,c.jc,this),c=c.kb}; k.get=function(a){a=this.a[a];oa(void 0!==a,15);if(a===this.c)return a.Pc;a===this.g?(this.g=this.g.kb,this.g.Pb=null):(a.kb.Pb=a.Pb,a.Pb.kb=a.kb);a.kb=null;a.Pb=this.c;this.c=this.c.kb=a;return a.Pc};k.remove=function(a){var b=this.a[a];oa(void 0!==b,15);if(b===this.c){if(this.c=b.Pb)this.c.kb=null}else if(b===this.g){if(this.g=b.kb)this.g.Pb=null}else b.kb.Pb=b.Pb,b.Pb.kb=b.kb;delete this.a[a];--this.i;return b.Pc}; k.pop=function(){var a=this.g;delete this.a[a.jc];a.kb&&(a.kb.Pb=null);this.g=a.kb;this.g||(this.c=null);--this.i;return a.Pc};k.replace=function(a,b){this.get(a);this.a[a].Pc=b};k.set=function(a,b){oa(!(a in this.a),16);b={jc:a,kb:null,Pb:this.c,Pc:b};this.c?this.c.kb=b:this.g=b;this.c=b;this.a[a]=b;++this.i};var ei=[0,0,0,1],fi=[],gi=[0,0,0,1],hi=[0,0,0,0],ii=new ci,ji={},ki=null,li={},ni=function(){function a(a){var b=mi();b.font="32px monospace";f=b.measureText("wmytzilWMYTZIL@#/&?$%10").width;var c=!0;"monospace"!=a&&(b.font="32px "+a+",monospace",c=b.measureText("wmytzilWMYTZIL@#/&?$%10").width!=f);return c}function b(){var b=!0,f;for(f in c)60>c[f]&&(a(f)?(c[f]=60,lb(li),ki=null,d.clear()):(++c[f],b=!1));b&&(window.clearInterval(e),e=void 0)}var c=ji,d=ii,e,f;return function(d){if(d=wg(d))for(var f= 0,g=d.length;f=e?1:2;var g=4===e||8===e;e=parseInt(d.substr(1+0*f,f),16);var h=parseInt(d.substr(1+1*f,f),16);var l=parseInt(d.substr(1+2*f,f),16);d=g?parseInt(d.substr(1+3*f,f), 16):255;1==f&&(e=(e<<4)+e,h=(h<<4)+h,l=(l<<4)+l,g&&(d=(d<<4)+d));f=[e,h,l,d/255]}else 0==d.indexOf("rgba(")?(d=d.slice(5,-1).split(",").map(Number),f=yi(d)):0==d.indexOf("rgb(")?(d=d.slice(4,-1).split(",").map(Number),d.push(1),f=yi(d)):oa(!1,14);d=f;a[c]=d;++b}return d}}();function yi(a){var b=[];b[0]=pa(a[0]+.5|0,0,255);b[1]=pa(a[1]+.5|0,0,255);b[2]=pa(a[2]+.5|0,0,255);b[3]=pa(a[3],0,1);return b};function zi(a){return"string"===typeof a||a instanceof CanvasPattern||a instanceof CanvasGradient?a:xi(a)};function Ai(){}k=Ai.prototype;k.Hh=function(){};k.Hb=function(){};k.Dd=function(){};k.cc=function(){};k.Ce=function(){};k.De=function(){};k.uc=function(){};k.vc=function(){};k.wc=function(){};k.xc=function(){};k.yc=function(){};k.zc=function(){};k.Wb=function(){};k.Oa=function(){};k.Zb=function(){};k.nb=function(){};function Bi(a,b,c,d,e){this.g=a;this.f=b;this.c=c;this.N=d;this.ob=e;this.M=this.b=this.a=this.Wa=this.O=this.T=null;this.$=this.V=this.v=this.B=this.C=this.D=0;this.ca=!1;this.i=this.ab=0;this.ra=!1;this.oa=0;this.ta="";this.Ub=this.ua=0;this.Ea=!1;this.s=this.La=0;this.qa=this.l=this.j=null;this.o=[];this.bb=We()}w(Bi,Ai); function Ci(a,b,c){if(a.M){b=Te(b,0,c,2,a.N,a.o);c=a.g;var d=a.bb,e=c.globalAlpha;1!=a.v&&(c.globalAlpha=e*a.v);var f=a.ab;a.ca&&(f+=a.ob);var g;var h=0;for(g=b.length;ha.la&&(a.la=d.la),d.eaa.ka&&(a.ka=d.ka)):a[b][c]=d:(a[b]={},a[b][c]=d)} function Wi(a,b,c,d,e,f,g,h,l,m){var n=x(b).toString();n in a.wantedTiles||(a.wantedTiles[n]={});var p=a.wantedTiles[n];a=a.tileQueue;var q,r,u;for(u=c.minZoom;u<=g;++u){var v=tc(c,f,u,v);var z=c.Ta(u);for(q=v.fa;q<=v.la;++q)for(r=v.ea;r<=v.ka;++r)if(g-u<=h){var A=b.ad(u,q,r,d,e);0==A.getState()&&(p[A.lb()]=!0,A.lb()in a.a||a.i([A,n,yc(c,A.ya),z]));void 0!==l&&l.call(m,A)}else b.kh(u,q,r,e)}};function Xi(a){Ki.call(this,a);this.V=We()}w(Xi,Ki);function Yi(a,b,c){var d=b.pixelRatio,e=b.size[0]*d,f=b.size[1]*d,g=b.viewState.rotation,h=$a(c),l=Za(c),m=Ya(c);c=Wa(c);af(b.coordinateToPixelTransform,h);af(b.coordinateToPixelTransform,l);af(b.coordinateToPixelTransform,m);af(b.coordinateToPixelTransform,c);a.save();qi(a,-g,e/2,f/2);a.beginPath();a.moveTo(h[0]*d,h[1]*d);a.lineTo(l[0]*d,l[1]*d);a.lineTo(m[0]*d,m[1]*d);a.lineTo(c[0]*d,c[1]*d);a.clip();qi(a,g,e/2,f/2)} function Zi(a,b,c,d,e){var f=a.a;if(Tc(f,b)){var g=d.size[0]*d.pixelRatio,h=d.size[1]*d.pixelRatio,l=d.viewState.rotation;qi(c,-l,g/2,h/2);a=void 0!==e?e:$i(a,d,0);f.b(new bi(b,new Bi(c,d.pixelRatio,d.extent,a,d.viewState.rotation),d,c,null));qi(c,l,g/2,h/2)}}Xi.prototype.s=function(a,b,c,d){if(this.wa(a,b,0,Re,this))return c.call(d,this.a,null)};Xi.prototype.pf=function(a,b,c,d){Zi(this,"postcompose",a,b,d)}; function $i(a,b,c){var d=b.viewState,e=b.pixelRatio,f=e/d.resolution;return ef(a.V,e*b.size[0]/2,e*b.size[1]/2,f,-f,-d.rotation,-d.center[0]+c,-d.center[1])};function aj(a){Xi.call(this,a);this.l=We();this.j=null}w(aj,Xi);aj.prototype.df=function(a,b,c){Zi(this,"precompose",c,a,void 0);var d=this.Y();if(d){var e=b.extent,f=void 0!==e&&!La(e,a.extent)&&hb(e,a.extent);f&&Yi(c,a,e);e=this.v();var g=c.globalAlpha;c.globalAlpha=b.opacity;c.drawImage(d,0,0,+d.width,+d.height,Math.round(e[4]),Math.round(e[5]),Math.round(d.width*e[0]),Math.round(d.height*e[3]));c.globalAlpha=g;f&&c.restore()}this.pf(c,a,b)}; aj.prototype.wa=function(a,b,c,d,e){var f=this.a;return f.ha().wa(a,b.viewState.resolution,b.viewState.rotation,c,b.skippedFeatureUids,function(a){return d.call(e,a,f)})}; aj.prototype.s=function(a,b,c,d){if(this.Y()){if(this.a.ha().wa!==ea)return Xi.prototype.s.apply(this,arguments);var e=af(this.l,a.slice());Ge(e,b.viewState.resolution/this.i);this.j||(this.j=hg(1,1));this.j.clearRect(0,0,1,1);this.j.drawImage(this.Y(),e[0],e[1],1,1,0,0,1,1);e=this.j.getImageData(0,0,1,1).data;if(0a.g){var b=0,c;for(c in a.b){var d=a.b[c];0!==(b++&3)||Tc(d)||(delete a.b[c],--a.a)}}}cj.prototype.get=function(a,b,c){a=b+":"+a+":"+(c?xi(c):"null");return a in this.b?this.b[a]:null};cj.prototype.set=function(a,b,c,d){this.b[b+":"+a+":"+(c?xi(c):"null")]=d;++this.a};cj.prototype.c=function(a){this.g=a;dj(this)};var ej=new cj;function fj(a,b){this.l=b;this.c={};this.v={}}w(fj,Oc);function gj(a){var b=a.viewState,c=a.coordinateToPixelTransform,d=a.pixelToCoordinateTransform;ef(c,a.size[0]/2,a.size[1]/2,1/b.resolution,-1/b.resolution,-b.rotation,-b.center[0],-b.center[1]);ff($e(d,c))}function hj(){dj(ej)}k=fj.prototype; k.wa=function(a,b,c,d,e,f,g){function h(a,c){var f=x(a).toString(),g=b.layerStates[x(c)].Te;if(!(f in b.skippedFeatureUids)||g)return d.call(e,a,g?c:null)}var l,m=b.viewState,n=m.resolution,p=m.projection;m=a;if(p.g){p=p.G();var q=cb(p),r=a[0];if(rp[2])m=[r+q*Math.ceil((p[0]-r)/q),a[1]]}p=b.layerStatesArray;for(q=p.length-1;0<=q;--q){var u=p[q];r=u.layer;if(yg(u,n)&&f.call(g,r)&&(u=ij(this,r),r.ha()&&(l=u.wa(r.ha().D?m:a,b,c,h,e)),l))return l}}; k.Ui=function(a,b,c,d,e){return void 0!==this.wa(a,b,c,Re,this,d,e)};function ij(a,b){var c=x(b).toString();if(c in a.c)return a.c[c];for(var d,e=a.S(),f=0,g=pg.length;fb?1:ae;){if(600l-h/2?-1:1);c(a,b,Math.max(e,Math.floor(b-l*n/h+m)),Math.min(f,Math.floor(b+(h-l)*n/h+m)),g)}h=a[b];l=e;n=f;d(a,e,b);for(0g(a[l],h);)l++;for(;0b?1:0}function f(a,b){if(!(this instanceof f))return new f(a,b);this.Lf=Math.max(4,a||9);this.wh=Math.max(2,Math.ceil(.4*this.Lf));b&&this.Ak(b);this.clear()}function g(a,b){h(a,0,a.children.length,b,a)}function h(a,b,c,d,e){e||(e=v(null));e.fa=Infinity;e.ea=Infinity;e.la=-Infinity;e.ka=-Infinity;for(var f;b=a.fa&&b.ka>=a.ea}function v(a){return{children:a,height:1,fb:!0,fa:Infinity,ea:Infinity,la:-Infinity,ka:-Infinity}}function z(a,b,c,d,e){for(var f=[b,c],g;f.length;)c=f.pop(),b=f.pop(),c-b<=d||(g= b+Math.ceil((c-b)/d/2)*d,A(a,g,b,c,e),f.push(b,g,g,c))}var A=b;A.default=b;f.prototype={all:function(){return this.rh(this.data,[])},search:function(a){var b=this.data,c=[],d=this.xb;if(!u(a,b))return c;for(var e=[],f,g,h,l;b;){f=0;for(g=b.children.length;fthis.Lf)this.Dk(d, b),b--;else break;this.uk(c,d,b)},Dk:function(a,b){var c=a[b],d=c.children.length,e=this.wh;this.vk(c,e,d);d=this.wk(c,e,d);d=v(c.children.splice(d,c.children.length-d));d.height=c.height;d.fb=c.fb;g(c,this.xb);g(d,this.xb);b?a[b-1].children.push(d):this.yh(c,d)},yh:function(a,b){this.data=v([a,b]);this.data.height=a.height+1;this.data.fb=!1;g(this.data,this.xb)},wk:function(a,b,c){var d,e;var f=e=Infinity;for(d=b;d<=c-b;d++){var g=h(a,0,d,this.xb);var l=h(a,d,c,this.xb);var m=Math.max(0,Math.min(g.la, l.la)-Math.max(g.fa,l.fa))*Math.max(0,Math.min(g.ka,l.ka)-Math.max(g.ea,l.ea));g=p(g)+p(l);if(m=b;m--)n=a.children[m],l(f,a.fb?d(n):n),g+=q(f);return g}, uk:function(a,b,c){for(;0<=c;c--)l(b[c],a)},yk:function(a){for(var b=a.length-1,c;0<=b;b--)0===a[b].children.length?0e.width?e.width-n:v;l=l+p>e.height?e.height-p:l;v=a.La;var ta=z[3]+u*r+z[1],la=z[0]+l*r+z[2],ca=c-z[3],ia=d-z[0];if(S||0!==q){var xa=[ca,ia];var Va=[ca+ta,ia];var ic=[ca+ta,ia+la];var Xa=[ca,ia+la]}z=null;0!==q?(f=c+f,g=d+g,z=ef(Ia,f,g,1,1,q,-f,-g),Oa(v),Ea(v,af(Ia,xa)),Ea(v,af(Ia,Va)),Ea(v,af(Ia,ic)),Ea(v,af(Ia,Xa))):Na(ca,ia,ca+ta,ia+la,v);q=b.canvas;q=v[0]<=q.width&& 0<=v[2]&&v[1]<=q.height&&0<=v[3];if(h){if(q||1!=h[4])Ta(h,v),(a=q?[b,z?z.slice(0):null,m,e,n,p,u,l,c,d,r]:null)&&S&&a.push(A,E,xa,Va,ic,Xa),h.push(a)}else q&&(S&&xj(a,b,xa,Va,ic,Xa,A,E),si(b,z,m,e,n,p,u,l,c,d,r))}function Aj(a,b){var c=a.pixelRatio;return 1==c?b:b.map(function(a){return a*c})} function Bj(a,b,c,d,e,f,g){var h=a.coordinates.length,l=Cj(a);g&&(c+=e);g=[b[c],b[c+1]];var m=[NaN,NaN],n=!0,p;for(p=c+e;pXa&&(a.Xa(b),ta= 0);la>Xa&&(b.stroke(),la=0);ta||la||(b.beginPath(),v=z=NaN);++m;break;case 2:p=Z[1];var Le=h[p],Uf=h[p+1],Id=h[p+2]-Le,te=h[p+3]-Uf,Jh=Math.sqrt(Id*Id+te*te);b.moveTo(Le+Jh,Uf);b.arc(Le,Uf,Jh,0,2*Math.PI,!0);++m;break;case 3:b.closePath();++m;break;case 4:p=Z[1];q=Z[2];var Mg=Z[4],Ng=6==Z.length?Z[5]:void 0;ic.geometry=Z[3];ic.feature=Zb;m in xa||(xa[m]=[]);var Wf=xa[m];Ng?Ng(h,p,q,2,Wf):(Wf[0]=h[p],Wf[1]=h[p+1],Wf.length=2);Mg(Wf,ic);++m;break;case 6:p=Z[1];q=Z[2];Ia=Z[3];r=Z[4];u=Z[5];S=f?null: Z[6];var rf=Z[7],yu=Z[8],zu=Z[9],Au=Z[10],Bu=Z[11],jp=Z[12],Cu=Z[13],Du=Z[14],Eu=Z[15];if(16sf[zp-2],Cp=Ap.length,Lh=sf[ve],Mh=sf[ve+1];ve+=2;for(var Og=sf[ve],Pg=sf[ve+1],Ok=0,Oi=Math.sqrt(Math.pow(Og-Lh,2)+Math.pow(Pg-Mh,2)),Yf="",Pk=0,Pi=0;PiMath.PI?-2*Math.PI:Qi<-Math.PI?2*Math.PI:0;if(Math.abs(Qi)>Iu){var Sg=null;break a}}var Ep=Ju/Oi,Fp=ya(Lh,Og,Ep),Gp=ya(Mh,Pg,Ep);Ni==Rg?(Kh&&(Xf[0]=Fp,Xf[1]=Gp,Xf[2]=Qg/2),Xf[4]=Yf):(Yf=Qk,Pk=Qg,Xf=[Fp,Gp,Qg/2,Rg,Yf],Kh?Nk.unshift(Xf):Nk.push(Xf),Ni=Rg);Bp+=Qg}Sg=Nk}if(Sg){var Ri;if(sp){var Zf=0;for(Ri=Sg.length;Zfthis.Wa&&(this.Wa=c.lineWidth,this.i=null)):(c.strokeStyle=void 0,c.lineCap=void 0,c.lineDash=null,c.lineDashOffset=void 0,c.lineJoin=void 0,c.lineWidth=void 0,c.miterLimit= void 0)};k.Ah=function(a,b){var c=a.fillStyle;a=[10,c];"string"!==typeof c&&(b=b.G(),a.push([b[0],b[3]]));this.a.push(a)};k.pd=function(a){this.a.push([11,a.strokeStyle,a.lineWidth*this.pixelRatio,a.lineCap,a.lineJoin,a.miterLimit,Aj(this,a.lineDash),a.lineDashOffset*this.pixelRatio])};function Kj(a,b,c,d){var e=b.fillStyle;if("string"!==typeof e||b.Pk!=e)c.call(a,b,d),b.Pk=e} function Lj(a,b,c){var d=b.strokeStyle,e=b.lineCap,f=b.lineDash,g=b.lineDashOffset,h=b.lineJoin,l=b.lineWidth,m=b.miterLimit;if(b.Vk!=d||b.Qk!=e||f!=b.Fh&&!jc(b.Fh,f)||b.Rk!=g||b.Sk!=h||b.Tk!=l||b.Uk!=m)c.call(a,b),b.Vk=d,b.Qk=e,b.Fh=f,b.Rk=g,b.Sk=h,b.Tk=l,b.Uk=m}function Fj(a,b){a.qa[2]=a.a.length;a.qa=null;a.T[2]=a.b.length;a.T=null;b=[7,b];a.a.push(b);a.b.push(b)}k.bf=ea;function Cj(a){a.i||(a.i=Ga(a.Ea),0e.maxAngle&&(S>E&&(E=S,n=Ia,A=m),S=0,Ia=m-h)),z=g,v=r,u=q);r=ta;q=la}g=S+g>E?[Ia,m]:[n,A];m=g[0];n=g[1]}else n=l[f];for(g=m;g=p)&&d.push(n[g],n[g+1]);g=d.length;if(0==g)return}g=Bj(this,d,0,g,h,!1,!1);Ej(this,b);if(e.backgroundFill||e.backgroundStroke)this.Oa(e.backgroundFill,e.backgroundStroke),Kj(this,this.state, this.Ah,a),Lj(this,this.state,this.pd);Uj(this,l,c,g)}Fj(this,b)}}; Sj.prototype.Y=function(a,b,c,d){var e=d+b+a+c+this.pixelRatio;if(!ii.a.hasOwnProperty(e)){var f=d?this.ab[d]||this.g:null,g=c?this.o[c]||this.c:null,h=this.s[b]||this.f,l=h.scale*this.pixelRatio,m=vj[h.textAlign||"center"];b=d&&f.lineWidth?f.lineWidth:0;a=a.split("\n");var n=a.length,p=[],q=h.font;var r=a.length;var u=0;var v;for(v=0;v=e)for(d=e;d=d;)Xj(c,a+b,a+d),Xj(c,a+d,a+b),Xj(c,a-d,a+b),Xj(c,a-b,a+d),Xj(c,a-b,a-d),Xj(c,a-d,a-b),Xj(c,a+d,a-b),Xj(c,a+b,a-d),d++,e+=1+2*d,0<2*(e-b)+1&&(--b,e+=1-2*b);return Wj[a]=c}k=Vj.prototype;k.Vb=function(a){var b=null;this.a&&(a?(b=this.g,b[4]++):(b=this.g=Da(),b.push(1)));return b};function Zj(a){for(var b in a.b){var c=a.b[b],d;for(d in c)c[d].bf()}} k.wa=function(a,b,c,d,e,f,g){function h(a){for(var b=n.getImageData(0,0,l,l).data,c=0;cm[2];)++Ia,p=n*Ia,p=$i(this,a,p),r.Na(A,p,l,f),h-=n;p=$i(this,a,0)}qi(A,l,S/2,e/2);A!=c&&(z&&Zi(this,"render",A,a,p),v?(d=c.globalAlpha,c.globalAlpha=b.opacity,c.drawImage(A.canvas,-q,-u),c.globalAlpha=d):c.drawImage(A.canvas, -q,-u),A.translate(-q,-u));v||(A.globalAlpha=E)}g&&c.restore();this.pf(c,a,b,p)};k.wa=function(a,b,c,d,e){if(this.c){var f=this.a,g={};return this.c.wa(a,b.viewState.resolution,b.viewState.rotation,c,{},function(a){var b=x(a).toString();if(!(b in g))return g[b]=!0,d.call(e,a,f)},null)}};k.Vi=function(){var a=this.a;a.Jb()&&this.c&&a.u()};k.Wi=function(){Mi(this)}; k.$c=function(a){var b=this.a,c=b.ha();Ui(a,c);var d=a.viewHints[0],e=a.viewHints[1],f=b.ca,g=b.ra;if(!this.i&&!f&&d||!g&&e)return!0;f=a.extent;var h=a.viewState;g=h.projection;var l=h.resolution,m=a.pixelRatio;d=b.g;var n=b.f;e=b.get(ik);void 0===e&&(e=ck);f=Fa(f,n*l);n=h.projection.G();c.D&&h.projection.g&&!La(n,a.extent)&&(a=Math.max(cb(f)/2,cb(n)),f[0]=n[0]-a,f[2]=n[2]+a);if(!this.i&&this.o==l&&this.N==d&&this.v==e&&La(this.l,f))return this.j=!1,!0;this.c=null;this.i=!1;var p=new Vj(.5*l/m,f, l,m,c.$,this.f,b.f);c.ae(f,l,g);a=function(a){var c=a.ib();if(c)var d=c.call(a,l);else(c=b.ib())&&(d=c(a,l));if(d){if(d){c=!1;if(Array.isArray(d))for(var e=0,f=d.length;e>1),h=+dc(g[e],c),0>h?l=e+1:(m=e,n=!h);e=n?l:~l;0>e?(c=(c-g[-e-2])/(g[-e-1]-g[-e-2]),b+=(-e-2)*d,g=ya(a[b],a[b+d],c),h=ya(a[b+1],a[b+d+1],c)):(g=a[b+e*d],h=a[b+e*d+1])}return f? (f[0]=g,f[1]=h,f):[g,h]}function Sk(a,b,c,d,e,f){if(c==b)return null;if(e>1,e=a.j?1:Me(b/a.j)};function el(a,b,c,d,e,f){cl.call(this,a,b,f);this.f=d;this.l=c;this.M=new Image;null!==d&&(this.M.crossOrigin=d);this.c=null;this.v=e}w(el,cl);k=el.prototype;k.ia=function(){1==this.state&&(fl(this),this.M=gl());this.g&&Pc(this.g);this.state=5;this.u();cl.prototype.ia.call(this)};k.Y=function(){return this.M};k.lb=function(){return this.l};k.hn=function(){this.state=3;fl(this);this.M=gl();this.u()};k.jn=function(){this.state=this.M.naturalWidth&&this.M.naturalHeight?2:4;fl(this);this.u()}; k.load=function(){3==this.state&&(this.state=0,this.M=new Image,null!==this.f&&(this.M.crossOrigin=this.f));0==this.state&&(this.state=1,this.u(),this.c=[Lc(this.M,"error",this.hn,this),Lc(this.M,"load",this.jn,this)],this.v(this,this.l))};function fl(a){a.c.forEach(Gc);a.c=null}function gl(){var a=hg(1,1);a.fillStyle="rgba(0,0,0,0)";a.fillRect(0,0,1,1);return a.canvas};function hl(a){this.b=a};function il(a){this.b=a}w(il,hl);il.prototype.S=function(){return 35632};function jl(a){this.b=a}w(jl,hl);jl.prototype.S=function(){return 35633};var kl=new il("precision mediump float;varying vec2 a;varying vec2 b;varying float c;varying float d;uniform float m;uniform vec4 n;uniform vec4 o;uniform vec2 p;void main(void){vec2 windowCenter=vec2((a.x+1.0)/2.0*p.x*d,(a.y+1.0)/2.0*p.y*d);vec2 windowOffset=vec2((b.x+1.0)/2.0*p.x*d,(b.y+1.0)/2.0*p.y*d);float radius=length(windowCenter-windowOffset);float dist=length(windowCenter-gl_FragCoord.xy);if(dist>radius+c){if(o.a==0.0){gl_FragColor=n;}else{gl_FragColor=o;}gl_FragColor.a=gl_FragColor.a-(dist-(radius+c));}else if(n.a==0.0){gl_FragColor=o;if(diststrokeDist){gl_FragColor=o;}else if(dist>=strokeDist-antialias){float step=smoothstep(strokeDist-antialias,strokeDist,dist);gl_FragColor=mix(n,o,step);}} gl_FragColor.a=gl_FragColor.a*m;if(gl_FragColor.a<=0.0){discard;}}"), ll=new jl("varying vec2 a;varying vec2 b;varying float c;varying float d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;void main(void){mat4 offsetMatrix=i*j;a=vec4(h*vec4(e,0.0,1.0)).xy;d=l;float lineWidth=k*l;c=lineWidth/2.0;if(lineWidth==0.0){lineWidth=2.0*l;}vec2 offset;float radius=g+3.0*l;//Until we get gl_VertexID in WebGL,we store an instruction.if(f==0.0){//Offsetting the edges of the triangle by lineWidth/2 is necessary,however//we should also leave some space for the antialiasing,thus we offset by lineWidth.offset=vec2(-1.0,1.0);}else if(f==1.0){offset=vec2(-1.0,-1.0);}else if(f==2.0){offset=vec2(1.0,-1.0);}else{offset=vec2(1.0,1.0);}gl_Position=h*vec4(e+offset*radius,0.0,1.0)+offsetMatrix*vec4(offset*lineWidth,0.0,0.0);b=vec4(h*vec4(e.x+g,e.y,0.0,1.0)).xy;if(distance(a,b)>20000.0){gl_Position=vec4(a,0.0,1.0);}}");function ml(a,b){this.g=a.getUniformLocation(b,"h");this.i=a.getUniformLocation(b,"i");this.c=a.getUniformLocation(b,"j");this.oa=a.getUniformLocation(b,"k");this.qa=a.getUniformLocation(b,"l");this.a=a.getUniformLocation(b,"m");this.C=a.getUniformLocation(b,"n");this.O=a.getUniformLocation(b,"o");this.T=a.getUniformLocation(b,"p");this.b=a.getAttribLocation(b,"e");this.j=a.getAttribLocation(b,"f");this.N=a.getAttribLocation(b,"g")};function nl(){return[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}function pl(a,b){a[0]=b[0];a[1]=b[1];a[4]=b[2];a[5]=b[3];a[12]=b[4];a[13]=b[5];return a};function ql(a,b){this.origin=eb(b);this.bb=We();this.Ea=We();this.La=We();this.V=nl();this.b=[];this.j=null;this.g=[];this.i=[];this.a=[];this.s=null;this.f=void 0}w(ql,Ai); ql.prototype.Na=function(a,b,c,d,e,f,g,h,l,m,n){var p=a.b;if(this.f){var q=p.isEnabled(p.STENCIL_TEST);var r=p.getParameter(p.STENCIL_FUNC);var u=p.getParameter(p.STENCIL_VALUE_MASK);var v=p.getParameter(p.STENCIL_REF);var z=p.getParameter(p.STENCIL_WRITEMASK);var A=p.getParameter(p.STENCIL_FAIL);var E=p.getParameter(p.STENCIL_PASS_DEPTH_PASS);var S=p.getParameter(p.STENCIL_PASS_DEPTH_FAIL);p.enable(p.STENCIL_TEST);p.clear(p.STENCIL_BUFFER_BIT);p.stencilMask(255);p.stencilFunc(p.ALWAYS,1,255);p.stencilOp(p.KEEP, p.KEEP,p.REPLACE);this.f.Na(a,b,c,d,e,f,g,h,l,m,n);p.stencilMask(0);p.stencilFunc(p.NOTEQUAL,1,255)}rl(a,34962,this.s);rl(a,34963,this.j);f=this.Bf(p,a,e,f);var Ia=Xe(this.bb);cf(Ia,2/(c*e[0]),2/(c*e[1]));bf(Ia,-d);df(Ia,-(b[0]-this.origin[0]),-(b[1]-this.origin[1]));b=Xe(this.La);cf(b,2/e[0],2/e[1]);e=Xe(this.Ea);0!==d&&bf(e,-d);p.uniformMatrix4fv(f.g,!1,pl(this.V,Ia));p.uniformMatrix4fv(f.i,!1,pl(this.V,b));p.uniformMatrix4fv(f.c,!1,pl(this.V,e));p.uniform1f(f.a,g);if(void 0===l)this.Od(p,a,h,!1); else{m?a=this.Ee(p,a,h,l,n):(p.clear(p.COLOR_BUFFER_BIT|p.DEPTH_BUFFER_BIT),this.Od(p,a,h,!0),a=(a=l(null))?a:void 0);var ta=a}this.Cf(p,f);this.f&&(q||p.disable(p.STENCIL_TEST),p.clear(p.STENCIL_BUFFER_BIT),p.stencilFunc(r,v,u),p.stencilMask(z),p.stencilOp(A,S,E));return ta};function sl(a,b,c,d){a.drawElements(4,d-c,b.f?5125:5123,c*(b.f?4:2))};var tl=[0,0,0,1],ul=[],vl=[0,0,0,1];function wl(a,b,c,d,e,f){a=(c-a)*(f-b)-(e-a)*(d-b);return a<=xl&&a>=-xl?void 0:0f;f+=d)this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=0,this.a[b++]=this.N,this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=1,this.a[b++]=this.N,this.a[b++]=a[f],this.a[b++]=a[f+1],this.a[b++]=2,this.a[b++]=this.N,this.a[b++]=a[f],this.a[b++]= a[f+1],this.a[b++]=3,this.a[b++]=this.N,this.b[c++]=e,this.b[c++]=e+1,this.b[c++]=e+2,this.b[c++]=e+2,this.b[c++]=e+3,this.b[c++]=e,e+=4}else this.c.u&&(this.l.pop(),this.l.length&&(d=this.l[this.l.length-1],this.c.fillColor=d[0],this.c.strokeColor=d[1],this.c.lineWidth=d[2],this.c.u=!1))};k.gb=function(){this.s=new yl(this.a);this.j=new yl(this.b);this.g.push(this.b.length);0===this.o.length&&0=h;){var l=this.g[g];var m=this.i[g];m=x(m).toString();c[m]&&(d!==f&&sl(a,b,d,f),f=l);g--;d=l}d!==f&&sl(a,b,d,f);d=f=h}}}; k.Ee=function(a,b,c,d,e){var f,g;var h=this.g.length-2;var l=this.g[h+1];for(f=this.o.length-1;0<=f;--f){var m=this.l[f];a.uniform4fv(this.v.C,m[0]);Dl(this,a,m[1],m[2]);for(g=this.o[f];0<=h&&this.g[h]>=g;){m=this.g[h];var n=this.i[h];var p=x(n).toString();if(void 0===c[p]&&n.U()&&(void 0===e||hb(e,n.U().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),sl(a,b,m,l),l=d(n)))return l;h--;l=m}}};function Dl(a,b,c,d){b.uniform4fv(a.v.O,c);b.uniform1f(a.v.oa,d)} k.Oa=function(a,b){if(b){var c=b.g;this.c.lineDash=c?c:ul;c=b.i;this.c.lineDashOffset=c?c:0;c=b.a;c instanceof CanvasGradient||c instanceof CanvasPattern?c=vl:c=vi(c).map(function(a,b){return 3!=b?a/255:a})||vl;b=b.c;b=void 0!==b?b:1}else c=[0,0,0,0],b=0;a=a?a.b:[0,0,0,0];a instanceof CanvasGradient||a instanceof CanvasPattern?a=tl:a=vi(a).map(function(a,b){return 3!=b?a/255:a})||tl;this.c.strokeColor&&jc(this.c.strokeColor,c)&&this.c.fillColor&&jc(this.c.fillColor,a)&&this.c.lineWidth===b||(this.c.u= !0,this.c.fillColor=a,this.c.strokeColor=c,this.c.lineWidth=b,this.l.push([a,c,b]))};var El=new il("precision mediump float;varying vec2 a;varying float b;uniform float k;uniform sampler2D l;void main(void){vec4 texColor=texture2D(l,a);gl_FragColor.rgb=texColor.rgb;float alpha=texColor.a*b*k;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}"),Fl=new jl("varying vec2 a;varying float b;attribute vec2 c;attribute vec2 d;attribute vec2 e;attribute float f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;void main(void){mat4 offsetMatrix=i;if(g==1.0){offsetMatrix=i*j;}vec4 offsets=offsetMatrix*vec4(e,0.0,0.0);gl_Position=h*vec4(c,0.0,1.0)+offsets;a=d;b=f;}");function Gl(a,b){this.g=a.getUniformLocation(b,"h");this.i=a.getUniformLocation(b,"i");this.c=a.getUniformLocation(b,"j");this.a=a.getUniformLocation(b,"k");this.b=a.getAttribLocation(b,"c");this.B=a.getAttribLocation(b,"d");this.v=a.getAttribLocation(b,"e");this.o=a.getAttribLocation(b,"f");this.D=a.getAttribLocation(b,"g")};function Hl(a,b){this.j=a;this.b=b;this.a={};this.c={};this.g={};this.s=this.v=this.i=this.l=null;(this.f=ec(da,"OES_element_index_uint"))&&b.getExtension("OES_element_index_uint");y(this.j,"webglcontextlost",this.zp,this);y(this.j,"webglcontextrestored",this.Ap,this)}w(Hl,Oc); function rl(a,b,c){var d=a.b,e=c.b,f=String(x(c));if(f in a.a)d.bindBuffer(b,a.a[f].buffer);else{var g=d.createBuffer();d.bindBuffer(b,g);var h;34962==b?h=new Float32Array(e):34963==b&&(h=a.f?new Uint32Array(e):new Uint16Array(e));d.bufferData(b,h,c.a);a.a[f]={tc:c,buffer:g}}}function Bl(a,b){var c=a.b;b=String(x(b));var d=a.a[b];c.isContextLost()||c.deleteBuffer(d.buffer);delete a.a[b]}k=Hl.prototype; k.ia=function(){Nc(this.j);var a=this.b;if(!a.isContextLost()){for(var b in this.a)a.deleteBuffer(this.a[b].buffer);for(b in this.g)a.deleteProgram(this.g[b]);for(b in this.c)a.deleteShader(this.c[b]);a.deleteFramebuffer(this.i);a.deleteRenderbuffer(this.s);a.deleteTexture(this.v)}};k.yp=function(){return this.b}; function Il(a){if(!a.i){var b=a.b,c=b.createFramebuffer();b.bindFramebuffer(b.FRAMEBUFFER,c);var d=Jl(b,1,1),e=b.createRenderbuffer();b.bindRenderbuffer(b.RENDERBUFFER,e);b.renderbufferStorage(b.RENDERBUFFER,b.DEPTH_COMPONENT16,1,1);b.framebufferTexture2D(b.FRAMEBUFFER,b.COLOR_ATTACHMENT0,b.TEXTURE_2D,d,0);b.framebufferRenderbuffer(b.FRAMEBUFFER,b.DEPTH_ATTACHMENT,b.RENDERBUFFER,e);b.bindTexture(b.TEXTURE_2D,null);b.bindRenderbuffer(b.RENDERBUFFER,null);b.bindFramebuffer(b.FRAMEBUFFER,null);a.i=c; a.v=d;a.s=e}return a.i}function Kl(a,b){var c=String(x(b));if(c in a.c)return a.c[c];var d=a.b,e=d.createShader(b.S());d.shaderSource(e,b.b);d.compileShader(e);return a.c[c]=e}function Cl(a,b,c){var d=x(b)+"/"+x(c);if(d in a.g)return a.g[d];var e=a.b,f=e.createProgram();e.attachShader(f,Kl(a,b));e.attachShader(f,Kl(a,c));e.linkProgram(f);return a.g[d]=f}k.zp=function(){lb(this.a);lb(this.c);lb(this.g);this.s=this.v=this.i=this.l=null};k.Ap=function(){}; k.cd=function(a){if(a==this.l)return!1;this.b.useProgram(a);this.l=a;return!0};function Ll(a,b,c){var d=a.createTexture();a.bindTexture(a.TEXTURE_2D,d);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR);a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR);void 0!==b&&a.texParameteri(3553,10242,b);void 0!==c&&a.texParameteri(3553,10243,c);return d}function Jl(a,b,c){var d=Ll(a,void 0,void 0);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,b,c,0,a.RGBA,a.UNSIGNED_BYTE,null);return d} function Ml(a,b){var c=Ll(a,33071,33071);a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,b);return c};function Nl(a,b){ql.call(this,a,b);this.C=this.D=void 0;this.v=[];this.o=[];this.qa=this.oa=this.height=void 0;this.Wa=null;this.width=this.scale=this.rotation=this.rotateWithView=this.O=this.T=this.opacity=void 0}w(Nl,ql);k=Nl.prototype;k.Db=function(a){var b=this.s,c=this.j,d=this.ig(!0),e=a.b;return function(){if(!e.isContextLost()){var f;var g=0;for(f=d.length;g=m;){var n=this.g[h];var p=this.i[h];var q=x(p).toString();if(void 0===c[q]&&p.U()&&(void 0===e||hb(e,p.U().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),sl(a,b,n,g),g=d(p)))return g;g=n;h--}}}; k.gb=function(){this.qa=this.oa=this.height=this.C=this.D=void 0;this.b=null;this.scale=this.rotation=this.rotateWithView=this.O=this.T=this.opacity=void 0;this.a=null;this.width=void 0};function Ql(a,b){Nl.call(this,a,b);this.l=[];this.c=[];this.B=[];this.N=[]}w(Ql,Nl);k=Ql.prototype;k.wc=function(a,b){this.g.push(this.b.length);this.i.push(b);b=a.da();Ol(this,b,b.length,a.pa())};k.yc=function(a,b){this.g.push(this.b.length);this.i.push(b);b=a.da();Ol(this,b,b.length,a.pa())}; k.gb=function(a){var b=a.b;this.v.push(this.b.length);this.o.push(this.b.length);this.s=new yl(this.a);this.j=new yl(this.b);var c={};Pl(this.B,this.l,c,b);Pl(this.N,this.c,c,b);this.c=this.l=null;Nl.prototype.gb.call(this,a)}; k.Zb=function(a){var b=a.Vc(),c=a.Y(1),d=a.He(),e=a.Eg(),f=a.i,g=a.bd(),h=a.s,l=a.f,m=a.oc();a=a.a;if(0===this.l.length)this.l.push(c);else{var n=this.l[this.l.length-1];x(n)!=x(c)&&(this.v.push(this.b.length),this.l.push(c))}0===this.c.length?this.c.push(e):(n=this.c[this.c.length-1],x(n)!=x(e)&&(this.o.push(this.b.length),this.c.push(e)));this.D=b[0];this.C=b[1];this.height=m[1];this.oa=d[1];this.qa=d[0];this.opacity=f;this.T=g[0];this.O=g[1];this.rotation=l;this.rotateWithView=h;this.scale=a;this.width= m[0]};k.ig=function(a){return a?this.B.concat(this.N):this.B};k.ag=function(){return this.N};function Rl(a,b,c){var d=b-c;return a[0]===a[d]&&a[1]===a[d+1]&&3<(b-0)/c?!!mf(a,0,b,c):!1};var Sl=new il("precision mediump float;varying float a;varying vec2 aVertex;varying float c;uniform float m;uniform vec4 n;uniform vec2 o;uniform float p;void main(void){if(a>0.0){vec2 windowCoords=vec2((aVertex.x+1.0)/2.0*o.x*p,(aVertex.y+1.0)/2.0*o.y*p);if(length(windowCoords-gl_FragCoord.xy)>c*p){discard;}} gl_FragColor=n;float alpha=n.a*m;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}"),Tl=new jl("varying float a;varying vec2 aVertex;varying float c;attribute vec2 d;attribute vec2 e;attribute vec2 f;attribute float g;uniform mat4 h;uniform mat4 i;uniform mat4 j;uniform float k;uniform float l;bool nearlyEquals(in float value,in float ref){float epsilon=0.000000000001;return value>=ref-epsilon&&value<=ref+epsilon;}void alongNormal(out vec2 offset,in vec2 nextP,in float turnDir,in float direction){vec2 dirVect=nextP-e;vec2 normal=normalize(vec2(-turnDir*dirVect.y,turnDir*dirVect.x));offset=k/2.0*normal*direction;}void miterUp(out vec2 offset,out float round,in bool isRound,in float direction){float halfWidth=k/2.0;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=f-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;round=0.0;if(isRound){round=1.0;}else if(miterLength>l+k){offset=halfWidth*tmpNormal*direction;}} bool miterDown(out vec2 offset,in vec4 projPos,in mat4 offsetMatrix,in float direction){bool degenerate=false;vec2 tangent=normalize(normalize(f-e)+normalize(e-d));vec2 normal=vec2(-tangent.y,tangent.x);vec2 dirVect=d-e;vec2 tmpNormal=normalize(vec2(-dirVect.y,dirVect.x));vec2 longOffset,shortOffset,longVertex;vec4 shortProjVertex;float halfWidth=k/2.0;if(length(f-e)>length(d-e)){longOffset=tmpNormal*direction*halfWidth;shortOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=f;shortProjVertex=h*vec4(d,0.0,1.0);}else{shortOffset=tmpNormal*direction*halfWidth;longOffset=normalize(vec2(dirVect.y,-dirVect.x))*direction*halfWidth;longVertex=d;shortProjVertex=h*vec4(f,0.0,1.0);}vec4 p1=h*vec4(longVertex,0.0,1.0)+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p2=projPos+offsetMatrix*vec4(longOffset,0.0,0.0);vec4 p3=shortProjVertex+offsetMatrix*vec4(-shortOffset,0.0,0.0);vec4 p4=shortProjVertex+offsetMatrix*vec4(shortOffset,0.0,0.0);float denom=(p4.y-p3.y)*(p2.x-p1.x)-(p4.x-p3.x)*(p2.y-p1.y);float firstU=((p4.x-p3.x)*(p1.y-p3.y)-(p4.y-p3.y)*(p1.x-p3.x))/denom;float secondU=((p2.x-p1.x)*(p1.y-p3.y)-(p2.y-p1.y)*(p1.x-p3.x))/denom;float epsilon=0.000000000001;if(firstU>epsilon&&firstU<1.0-epsilon&&secondU>epsilon&&secondU<1.0-epsilon){shortProjVertex.x=p1.x+firstU*(p2.x-p1.x);shortProjVertex.y=p1.y+firstU*(p2.y-p1.y);offset=shortProjVertex.xy;degenerate=true;}else{float miterLength=abs(halfWidth/dot(normal,tmpNormal));offset=normal*direction*miterLength;}return degenerate;}void squareCap(out vec2 offset,out float round,in bool isRound,in vec2 nextP,in float turnDir,in float direction){round=0.0;vec2 dirVect=e-nextP;vec2 firstNormal=normalize(dirVect);vec2 secondNormal=vec2(turnDir*firstNormal.y*direction,-turnDir*firstNormal.x*direction);vec2 hypotenuse=normalize(firstNormal-secondNormal);vec2 normal=vec2(turnDir*hypotenuse.y*direction,-turnDir*hypotenuse.x*direction);float length=sqrt(c*c*2.0);offset=normal*length;if(isRound){round=1.0;}} void main(void){bool degenerate=false;float direction=float(sign(g));mat4 offsetMatrix=i*j;vec2 offset;vec4 projPos=h*vec4(e,0.0,1.0);bool round=nearlyEquals(mod(g,2.0),0.0);a=0.0;c=k/2.0;aVertex=projPos.xy;if(nearlyEquals(mod(g,3.0),0.0)||nearlyEquals(mod(g,17.0),0.0)){alongNormal(offset,f,1.0,direction);}else if(nearlyEquals(mod(g,5.0),0.0)||nearlyEquals(mod(g,13.0),0.0)){alongNormal(offset,d,-1.0,direction);}else if(nearlyEquals(mod(g,23.0),0.0)){miterUp(offset,a,round,direction);}else if(nearlyEquals(mod(g,19.0),0.0)){degenerate=miterDown(offset,projPos,offsetMatrix,direction);}else if(nearlyEquals(mod(g,7.0),0.0)){squareCap(offset,a,round,f,1.0,direction);}else if(nearlyEquals(mod(g,11.0),0.0)){squareCap(offset,a,round,d,-1.0,direction);}if(!degenerate){vec4 offsets=offsetMatrix*vec4(offset,0.0,0.0);gl_Position=projPos+offsets;}else{gl_Position=vec4(offset,0.0,1.0);}}");function Ul(a,b){this.g=a.getUniformLocation(b,"h");this.i=a.getUniformLocation(b,"i");this.c=a.getUniformLocation(b,"j");this.oa=a.getUniformLocation(b,"k");this.O=a.getUniformLocation(b,"l");this.a=a.getUniformLocation(b,"m");this.C=a.getUniformLocation(b,"n");this.T=a.getUniformLocation(b,"o");this.qa=a.getUniformLocation(b,"p");this.l=a.getAttribLocation(b,"d");this.b=a.getAttribLocation(b,"e");this.s=a.getAttribLocation(b,"f");this.f=a.getAttribLocation(b,"g")};function Vl(a,b){ql.call(this,a,b);this.v=null;this.o=[];this.l=[];this.c={strokeColor:null,lineCap:void 0,lineDash:null,lineDashOffset:void 0,lineJoin:void 0,lineWidth:void 0,miterLimit:void 0,u:!1}}w(Vl,ql); function Wl(a,b,c,d){var e,f=a.a.length,g=a.b.length,h="bevel"===a.c.lineJoin?0:"miter"===a.c.lineJoin?1:2,l="butt"===a.c.lineCap?0:"square"===a.c.lineCap?1:2,m=Rl(b,c,d),n=g,p=1;for(e=0;ec&&(this.g.push(c),this.i.push(b),this.c.u&&(this.l.push(c),this.c.u=!1))}; function gm(a,b,c,d){Rl(b,b.length,d)||(b.push(b[0]),b.push(b[1]));Wl(a,b,b.length,d);if(c.length){var e;b=0;for(e=c.length;b=n;){var p=this.g[m]; var q=this.i[m];q=x(q).toString();c[q]&&(g!==l&&(sl(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT)),l=p);m--;g=p}g!==l&&(sl(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT));g=l=n}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))}; k.Ee=function(a,b,c,d,e){var f,g;var h=this.g.length-2;var l=this.g[h+1];for(f=this.l.length-1;0<=f;--f){var m=this.o[f];im(this,a,m[0],m[1],m[2]);for(g=this.l[f];0<=h&&this.g[h]>=g;){m=this.g[h];var n=this.i[h];var p=x(n).toString();if(void 0===c[p]&&n.U()&&(void 0===e||hb(e,n.U().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),sl(a,b,m,l),l=d(n)))return l;h--;l=m}}};function im(a,b,c,d,e){b.uniform4fv(a.v.C,c);b.uniform1f(a.v.oa,d);b.uniform1f(a.v.O,e)} k.Oa=function(a,b){a=b.f;this.c.lineCap=void 0!==a?a:"round";a=b.g;this.c.lineDash=a?a:ul;a=b.i;this.c.lineDashOffset=a?a:0;a=b.j;this.c.lineJoin=void 0!==a?a:"round";a=b.a;a instanceof CanvasGradient||a instanceof CanvasPattern?a=vl:a=vi(a).map(function(a,b){return 3!=b?a/255:a})||vl;var c=b.c;c=void 0!==c?c:1;b=b.l;b=void 0!==b?b:10;this.c.strokeColor&&jc(this.c.strokeColor,a)&&this.c.lineWidth===c&&this.c.miterLimit===b||(this.c.u=!0,this.c.strokeColor=a,this.c.lineWidth=c,this.c.miterLimit=b, this.o.push([a,c,b]))};var Zl=3,$l=5,Yl=7,am=11,bm=13,cm=17,dm=19,em=23;var jm=new il("precision mediump float;uniform vec4 e;uniform float f;void main(void){gl_FragColor=e;float alpha=e.a*f;if(alpha==0.0){discard;}gl_FragColor.a=alpha;}"),km=new jl("attribute vec2 a;uniform mat4 b;uniform mat4 c;uniform mat4 d;void main(void){gl_Position=b*vec4(a,0.0,1.0);}");function lm(a,b){this.g=a.getUniformLocation(b,"b");this.i=a.getUniformLocation(b,"c");this.c=a.getUniformLocation(b,"d");this.C=a.getUniformLocation(b,"e");this.a=a.getUniformLocation(b,"f");this.b=a.getAttribLocation(b,"a")};function mm(){this.b=this.a=this.g=void 0;this.c=0}function nm(a){var b=a.b;if(b){var c=b.next,d=b.Eb;c&&(c.Eb=d);d&&(d.next=c);a.b=c||d;a.g===a.a?(a.b=void 0,a.g=void 0,a.a=void 0):a.g===b?a.g=a.b:a.a===b&&(a.a=d?a.b.Eb:a.b);a.c--}}function om(a){a.b=a.g;if(a.b)return a.b.data}function pm(a){if(a.b&&a.b.next)return a.b=a.b.next,a.b.data}function qm(a){if(a.b&&a.b.next)return a.b.next.data}function rm(a){if(a.b&&a.b.Eb)return a.b=a.b.Eb,a.b.data}function sm(a){if(a.b&&a.b.Eb)return a.b.Eb.data} function tm(a){if(a.b)return a.b.data}mm.prototype.concat=function(a){if(a.b){if(this.b){var b=this.b.next;this.b.next=a.g;a.g.Eb=this.b;b.Eb=a.a;a.a.next=b;this.c+=a.c}else this.b=a.b,this.g=a.g,this.a=a.a,this.c=a.c;a.b=void 0;a.g=void 0;a.a=void 0;a.c=0}};function um(){this.a=rj.Jc(void 0);this.b={}}k=um.prototype;k.Ca=function(a,b){a={fa:a[0],ea:a[1],la:a[2],ka:a[3],value:b};this.a.Ca(a);this.b[x(b)]=a};k.load=function(a,b){for(var c=Array(b.length),d=0,e=b.length;d=g;p-=c)q=Im(a,b[p],b[p+1],h++),m.push(Jm(n,q,d)),l.push([Math.min(n.x,q.x),Math.min(n.y,q.y),Math.max(n.x,q.x),Math.max(n.y,q.y)]),n=q;m.push(Jm(q,f,d));l.push([Math.min(n.x,q.x), Math.min(n.y,q.y),Math.max(n.x,q.x),Math.max(n.y,q.y)]);e.load(l,m)}function Dm(a){var b=om(a),c=b,d=[c.Z.x,c.Z.y];do c=pm(a),c.Z.x>d[0]&&(d=[c.Z.x,c.Z.y]);while(c!==b);return d}function Em(a,b,c){var d=om(a),e=d,f=pm(a),g=!1;do{var h=c?wl(f.X.x,f.X.y,e.X.x,e.X.y,e.Z.x,e.Z.y):wl(e.Z.x,e.Z.y,e.X.x,e.X.y,f.X.x,f.X.y);void 0===h?(Km(e,f,a,b),g=!0,f===d&&(d=qm(a)),f=e,rm(a)):e.X.Kb!==h&&(e.X.Kb=h,g=!0);e=f;f=pm(a)}while(e!==d);return g} function Gm(a,b,c,d,e){for(var f=om(a);f.X.x!==b;)f=pm(a);b=f.X;d={x:d,y:b.y,qb:-1};var g=Infinity,h;var l=Fm({Z:b,X:d},e,!0);var m=0;for(h=l.length;mxl&&d<1-xl&&c>xl&&c<1-xl||e&&0<=d&&1>=d&&0<=c&&1>=c))return[a.x+d*(b.x-a.x),a.y+d*(b.y-a.y)]} function Qm(a,b,c,d,e){if(void 0===b.Kb||void 0===d.Kb)return!1;var f=(c.x-d.x)*(b.y-d.y)>(c.y-d.y)*(b.x-d.x);e=(e.x-d.x)*(b.y-d.y)<(e.y-d.y)*(b.x-d.x);a=(a.x-b.x)*(d.y-b.y)>(a.y-b.y)*(d.x-b.x);c=(c.x-b.x)*(d.y-b.y)<(c.y-b.y)*(d.x-b.x);b=b.Kb?c||a:c&&a;return(d.Kb?e||f:e&&f)&&b}k=Am.prototype; k.xc=function(a,b){var c=a.td(),d=a.pa(),e=this.b.length,f=this.f.b.length;a=a.da();var g,h,l;var m=h=0;for(g=c.length;me&&(this.g.push(e),this.i.push(b),this.l.u&&(this.c.push(e),this.l.u=!1));this.f.b.length>f&&hm(this.f, b,f)};k.zc=function(a,b){var c=a.pb(),d=a.pa();if(0=n;){var p=this.g[m];var q=this.i[m];q=x(q).toString(); c[q]&&(g!==l&&(sl(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT)),l=p);m--;g=p}g!==l&&(sl(a,b,g,l),a.clear(a.DEPTH_BUFFER_BIT));g=l=n}}d||(a.disable(a.DEPTH_TEST),a.clear(a.DEPTH_BUFFER_BIT),a.depthMask(f),a.depthFunc(e))}; k.Ee=function(a,b,c,d,e){var f,g;var h=this.g.length-2;var l=this.g[h+1];for(f=this.c.length-1;0<=f;--f){var m=this.o[f];a.uniform4fv(this.v.C,m);for(g=this.c[f];0<=h&&this.g[h]>=g;){m=this.g[h];var n=this.i[h];var p=x(n).toString();if(void 0===c[p]&&n.U()&&(void 0===e||hb(e,n.U().G()))&&(a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT),sl(a,b,m,l),l=d(n)))return l;h--;l=m}}}; k.Oa=function(a,b){a=a?a.b:[0,0,0,0];a instanceof CanvasGradient||a instanceof CanvasPattern?a=tl:a=vi(a).map(function(a,b){return 3!=b?a/255:a})||tl;this.l.fillColor&&jc(a,this.l.fillColor)||(this.l.fillColor=a,this.l.u=!0,this.o.push(a));b?this.f.Oa(null,b):this.f.Oa(null,new Ak({color:[0,0,0,0],lineWidth:0}))};function Rm(a,b){this.b=b;this.a=[{x:0,y:0,width:a,height:a}];this.c={};this.g=hg(a,a);this.i=this.g.canvas}Rm.prototype.get=function(a){return this.c[a]||null}; Rm.prototype.add=function(a,b,c,d,e){var f;var g=0;for(f=this.a.length;g=b+this.b&&h.height>=c+this.b)return f={offsetX:h.x+this.b,offsetY:h.y+this.b,image:this.i},this.c[a]=f,d.call(e,this.g,h.x+this.b,h.y+this.b),a=g,b+=this.b,d=c+this.b,h.width-b>h.height-d?(c={x:h.x+b,y:h.y,width:h.width-b,height:h.height},b={x:h.x,y:h.y+d,width:b,height:h.height-d},Sm(this,a,c,b)):(c={x:h.x+b,y:h.y,width:h.width-b,height:d},b={x:h.x,y:h.y+d,width:h.width,height:h.height-d}, Sm(this,a,c,b)),f}return null};function Sm(a,b,c,d){b=[b,1];0this.g||c+this.b>this.g)return null;d=Wm(this,!1,a,b,c,d,f);if(!d)return null;a=Wm(this,!0,a,b,c,void 0!==e?e:ea,f);return Vm(d,a)};function Wm(a,b,c,d,e,f,g){var h=b?a.i:a.f,l;var m=0;for(l=h.length;ma[0]||a[0]>e[0]||0>a[1]||a[1]>e[1])&&(this.i|| (this.i=hg(1,1)),this.i.clearRect(0,0,1,1),this.i.drawImage(this.M.Y(),a[0],a[1],1,1,0,0,1,1),e=this.i.getImageData(0,0,1,1).data,0d?b[0]=d-c:0>e&&(b[0]=Math.abs(e)+c),0>f?b[1]=f-c:0>g&&(b[1]=Math.abs(g)+c),0=== b[0]&&0===b[1])||(c=a.aa().xa(),c=a.Ia(c),b=[c[0]+b[0],c[1]+b[1]],a.aa().animate({center:a.Ra(b),duration:this.autoPanAnimation.duration,easing:this.autoPanAnimation.easing}))}}};k.rm=function(){Hn(this)};k.Hj=function(a){this.set(Cn,a)};k.setMap=function(a){this.set(Dn,a)};k.Mj=function(a){this.set(En,a)};k.We=function(a){this.set(Fn,a)};function In(a,b){var c=a.getBoundingClientRect();a=c.left+window.pageXOffset;c=c.top+window.pageYOffset;return[a,c,a+b[0],c+b[1]]}k.Pj=function(a){this.set(Gn,a)}; function Jn(a,b){a.a.visible!==b&&(a.element.style.display=b?"":"none",a.a.visible=b)} function Hn(a){var b=a.Ve(),c=a.pi();if(b&&b.c&&c){c=b.Ia(c);var d=b.Cb();b=a.element.style;var e=a.Xh(),f=a.Yh();Jn(a,!0);var g=e[0];e=e[1];if("bottom-right"==f||"center-right"==f||"top-right"==f)""!==a.a.Se&&(a.a.Se=b.left=""),g=Math.round(d[0]-c[0]-g)+"px",a.a.xf!=g&&(a.a.xf=b.right=g);else{""!==a.a.xf&&(a.a.xf=b.right="");if("bottom-center"==f||"center-center"==f||"top-center"==f)g-=a.element.offsetWidth/2;g=Math.round(c[0]+g)+"px";a.a.Se!=g&&(a.a.Se=b.left=g)}if("bottom-left"==f||"bottom-center"== f||"bottom-right"==f)""!==a.a.Ef&&(a.a.Ef=b.top=""),c=Math.round(d[1]-c[1]-e)+"px",a.a.ze!=c&&(a.a.ze=b.bottom=c);else{""!==a.a.ze&&(a.a.ze=b.bottom="");if("center-left"==f||"center-center"==f||"center-right"==f)e-=a.element.offsetHeight/2;c=Math.round(c[1]+e)+"px";a.a.Ef!=c&&(a.a.Ef=b.top=c)}}else Jn(a,!1)}var Cn="element",Dn="map",En="offset",Fn="position",Gn="positioning";function Kn(a,b,c,d,e,f){cl.call(this,a,b,f);this.c=0;this.l=null;this.v=d;this.a=null;this.f={};this.C=e;this.N=c}w(Kn,cl);k=Kn.prototype;k.ia=function(){this.a=null;this.f={};this.state=5;this.u();cl.prototype.ia.call(this)};k.G=function(){return this.l||Ln};k.qn=function(){return this.v};k.pn=function(){return this.a};k.lb=function(){return this.N};k.rn=function(){return this.o};function ok(a,b,c){return a.f[x(b)+","+c]} k.load=function(){0==this.state&&(oj(this,1),this.C(this,this.N),this.D(null,NaN,null))};k.Cp=function(a,b,c){this.vg(b);this.Ij(a);this.ri(c)};k.Bp=function(){oj(this,3)};k.ri=function(a){this.l=a};k.Ij=function(a){this.a=a;oj(this,2)};k.vg=function(a){this.o=a};k.ug=function(a){this.D=a};var Ln=[0,0,4096,4096];function Mn(a){a=a?a:{};this.c=void 0!==a.className?a.className:"ol-full-screen";var b=void 0!==a.label?a.label:"\u2922";this.l="string"===typeof b?document.createTextNode(b):b;b=void 0!==a.labelActive?a.labelActive:"\u00d7";this.v="string"===typeof b?document.createTextNode(b):b;var c=a.tipLabel?a.tipLabel:"Toggle full-screen";b=document.createElement("button");b.className=this.c+"-"+Nn();b.setAttribute("type","button");b.title=c;b.appendChild(this.l);y(b,"click",this.C,this);c=document.createElement("div"); c.className=this.c+" ol-unselectable ol-control "+(On()?"":"ol-unsupported");c.appendChild(b);vg.call(this,{element:c,target:a.target});this.D=void 0!==a.keys?a.keys:!1;this.j=a.source}w(Mn,vg); Mn.prototype.C=function(a){a.preventDefault();On()&&(a=this.a)&&(Nn()?document.exitFullscreen?document.exitFullscreen():document.msExitFullscreen?document.msExitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen&&document.webkitExitFullscreen():(a=this.j?"string"===typeof this.j?document.getElementById(this.j):this.j:a.Cc(),this.D?a.mozRequestFullScreenWithKeys?a.mozRequestFullScreenWithKeys():a.webkitRequestFullscreen?a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT): Pn(a):Pn(a)))};Mn.prototype.o=function(){var a=this.element.firstElementChild,b=this.a;Nn()?(a.className=this.c+"-true",ig(this.v,this.l)):(a.className=this.c+"-false",ig(this.l,this.v));b&&b.Oc()};Mn.prototype.setMap=function(a){vg.prototype.setMap.call(this,a);a&&this.s.push(y(document,Qn(),this.o,this))}; function On(){var a=document.body;return!!(a.webkitRequestFullscreen||a.mozRequestFullScreen&&document.mozFullScreenEnabled||a.msRequestFullscreen&&document.msFullscreenEnabled||a.requestFullscreen&&document.fullscreenEnabled)}function Nn(){return!!(document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement||document.fullscreenElement)} function Pn(a){a.requestFullscreen?a.requestFullscreen():a.msRequestFullscreen?a.msRequestFullscreen():a.mozRequestFullScreen?a.mozRequestFullScreen():a.webkitRequestFullscreen&&a.webkitRequestFullscreen()}var Qn=function(){var a;return function(){if(!a){var b=document.body;b.webkitRequestFullscreen?a="webkitfullscreenchange":b.mozRequestFullScreen?a="mozfullscreenchange":b.msRequestFullscreen?a="MSFullscreenChange":b.requestFullscreen&&(a="fullscreenchange")}return a}}();function Rn(a){a=a?a:{};var b=document.createElement("DIV");b.className=void 0!==a.className?a.className:"ol-mouse-position";vg.call(this,{element:b,render:a.render?a.render:Sn,target:a.target});y(this,Xc(Tn),this.En,this);a.coordinateFormat&&this.Gj(a.coordinateFormat);a.projection&&this.ti(a.projection);this.o=void 0!==a.undefinedHTML?a.undefinedHTML:"";this.v=b.innerHTML;this.l=this.j=this.c=null}w(Rn,vg); function Sn(a){a=a.frameState;a?this.c!=a.viewState.projection&&(this.c=a.viewState.projection,this.j=null):this.c=null;Un(this,this.l)}k=Rn.prototype;k.En=function(){this.j=null};k.Qh=function(){return this.get(Vn)};k.si=function(){return this.get(Tn)};k.mm=function(a){this.l=this.a.ud(a);Un(this,this.l)};k.nm=function(){Un(this,null);this.l=null};k.setMap=function(a){vg.prototype.setMap.call(this,a);a&&(a=a.a,this.s.push(y(a,"mousemove",this.mm,this),y(a,"mouseout",this.nm,this)))}; k.Gj=function(a){this.set(Vn,a)};k.ti=function(a){this.set(Tn,Ob(a))};function Un(a,b){var c=a.o;if(b&&a.c){if(!a.j){var d=a.si();a.j=d?Pb(a.c,d):$b}if(b=a.a.Ra(b))a.j(b,b),c=(c=a.Qh())?c(b):b.toString()}a.v&&c==a.v||(a.element.innerHTML=c,a.v=c)}var Tn="projection",Vn="coordinateFormat";function Wn(a){function b(a){a=h.Sd(a);l.a.aa().ub(a);window.removeEventListener("mousemove",c);window.removeEventListener("mouseup",b)}function c(a){a=h.Sd({clientX:a.clientX-n.offsetWidth/2,clientY:a.clientY+n.offsetHeight/2});m.We(a)}a=a?a:{};this.j=void 0!==a.collapsed?a.collapsed:!0;this.l=void 0!==a.collapsible?a.collapsible:!0;this.l||(this.j=!1);var d=void 0!==a.className?a.className:"ol-overviewmap",e=void 0!==a.tipLabel?a.tipLabel:"Overview map",f=void 0!==a.collapseLabel?a.collapseLabel: "\u00ab";"string"===typeof f?(this.o=document.createElement("span"),this.o.textContent=f):this.o=f;f=void 0!==a.label?a.label:"\u00bb";"string"===typeof f?(this.D=document.createElement("span"),this.D.textContent=f):this.D=f;var g=this.l&&!this.j?this.o:this.D;f=document.createElement("button");f.setAttribute("type","button");f.title=e;f.appendChild(g);y(f,"click",this.Hn,this);this.C=document.createElement("DIV");this.C.className="ol-overviewmap-map";var h=this.c=new G({controls:new B,interactions:new B, view:a.view});a.layers&&a.layers.forEach(function(a){h.xe(a)},this);e=document.createElement("DIV");e.className="ol-overviewmap-box";e.style.boxSizing="border-box";this.v=new Bn({position:[0,0],positioning:"bottom-left",element:e});this.c.ye(this.v);e=document.createElement("div");e.className=d+" ol-unselectable ol-control"+(this.j&&this.l?" ol-collapsed":"")+(this.l?"":" ol-uncollapsible");e.appendChild(this.C);e.appendChild(f);vg.call(this,{element:e,render:a.render?a.render:Xn,target:a.target}); var l=this,m=this.v,n=this.v.Rd();n.addEventListener("mousedown",function(){window.addEventListener("mousemove",c);window.addEventListener("mouseup",b)})}w(Wn,vg);k=Wn.prototype;k.setMap=function(a){var b=this.a;a!==b&&(b&&((b=b.aa())&&Mc(b,Xc("rotation"),this.Qe,this),this.c.Ad(null)),vg.prototype.setMap.call(this,a),a&&(this.c.Ad(this.C),this.s.push(y(a,"propertychange",this.lm,this)),0===this.c.Xe().kc()&&this.c.zf(a.hc()),a=a.aa()))&&(y(a,Xc("rotation"),this.Qe,this),ag(a)&&(this.c.Oc(),Yn(this)))}; k.lm=function(a){"view"===a.key&&((a=a.oldValue)&&Mc(a,Xc("rotation"),this.Qe,this),a=this.a.aa(),y(a,Xc("rotation"),this.Qe,this))};k.Qe=function(){this.c.aa().ce(this.a.aa().Sa())};function Xn(){var a=this.a,b=this.c;if(a.c&&b.c){var c=a.Cb();a=a.aa().qd(c);var d=b.Cb();c=b.aa().qd(d);var e=b.Ia($a(a)),f=b.Ia(Ya(a));b=Math.abs(e[0]-f[0]);e=Math.abs(e[1]-f[1]);f=d[0];d=d[1];b<.1*f||e<.1*d||b>.75*f||e>.75*d?Yn(this):La(c,a)||(a=this.c,c=this.a.aa(),a.aa().ub(c.xa()))}Zn(this)} function Yn(a){var b=a.a;a=a.c;var c=b.Cb();b=b.aa().qd(c);a=a.aa();ib(b,1/(.1*Math.pow(2,Math.log(7.5)/Math.LN2/2)));a.Uf(b)}function Zn(a){var b=a.a,c=a.c;if(b.c&&c.c){var d=b.Cb(),e=b.aa(),f=c.aa();c=e.Sa();b=a.v;var g=a.v.Rd(),h=e.qd(d);d=f.Pa();e=Wa(h);f=Za(h);if(a=a.a.aa().xa()){var l=[e[0]-a[0],e[1]-a[1]];Fe(l,c);ze(l,a)}b.We(l);g&&(g.style.width=Math.abs((e[0]-f[0])/d)+"px",g.style.height=Math.abs((f[1]-e[1])/d)+"px")}}k.Hn=function(a){a.preventDefault();$n(this)}; function $n(a){a.element.classList.toggle("ol-collapsed");a.j?ig(a.o,a.D):ig(a.D,a.o);a.j=!a.j;var b=a.c;a.j||b.c||(b.Oc(),Yn(a),Lc(b,"postrender",function(){Zn(this)},a))}k.Gn=function(){return this.l};k.Jn=function(a){this.l!==a&&(this.l=a,this.element.classList.toggle("ol-uncollapsible"),!a&&this.j&&$n(this))};k.In=function(a){this.l&&this.j!==a&&$n(this)};k.Fn=function(){return this.j};k.Hl=function(){return this.c};function ao(a){a=a?a:{};var b=void 0!==a.className?a.className:"ol-scale-line";this.l=document.createElement("DIV");this.l.className=b+"-inner";this.c=document.createElement("DIV");this.c.className=b+" ol-unselectable";this.c.appendChild(this.l);this.o=null;this.v=void 0!==a.minWidth?a.minWidth:64;this.j=!1;this.B=void 0;this.D="";vg.call(this,{element:this.c,render:a.render?a.render:bo,target:a.target});y(this,Xc(co),this.V,this);this.O(a.units||"metric")}w(ao,vg);var eo=[1,2,5];ao.prototype.C=function(){return this.get(co)}; function bo(a){(a=a.frameState)?this.o=a.viewState:this.o=null;fo(this)}ao.prototype.V=function(){fo(this)};ao.prototype.O=function(a){this.set(co,a)}; function fo(a){var b=a.o;if(b){var c=b.center,d=b.projection,e=a.C();b=Nb(d,b.resolution,c,"degrees"==e?"degrees":"m");"degrees"!=e&&(b*=d.Bc());var f=a.v*b;c="";"degrees"==e?(c=ub.degrees,"degrees"==d.a?f*=c:b/=c,ff?(c="in",b/=.0254):1609.344>f?(c="ft",b/=.3048):(c="mi",b/=1609.344):"nautical"==e?(b/=1852,c="nm"):"metric"==e?.001>f?(c="\u03bcm",b*=1E6):1>f?(c="mm",b*=1E3):1E3>f?c="m":(c="km",b/=1E3):"us"==e?.9144>f? (c="in",b*=39.37):1609.344>f?(c="ft",b/=.30480061):(c="mi",b/=1609.3472):oa(!1,33);for(e=3*Math.floor(Math.log(a.v*b)/Math.log(10));;){f=eo[(e%3+3)%3]*Math.pow(10,Math.floor(e/3));d=Math.round(f/b);if(isNaN(d)){a.c.style.display="none";a.j=!1;return}if(d>=a.v)break;++e}b=f+" "+c;a.D!=b&&(a.l.innerHTML=b,a.D=b);a.B!=d&&(a.l.style.width=d+"px",a.B=d);a.j||(a.c.style.display="",a.j=!0)}else a.j&&(a.c.style.display="none",a.j=!1)}var co="units";function go(a){a=a?a:{};this.c=void 0;this.j=ho;this.D=this.v=0;this.O=null;this.$=!1;this.V=void 0!==a.duration?a.duration:200;var b=void 0!==a.className?a.className:"ol-zoomslider",c=document.createElement("button");c.setAttribute("type","button");c.className=b+"-thumb ol-unselectable";var d=document.createElement("div");d.className=b+" ol-unselectable ol-control";d.appendChild(c);this.l=new Xd(d);y(this.l,"pointerdown",this.$l,this);y(this.l,"pointermove",this.Yl,this);y(this.l,"pointerup",this.Zl, this);y(d,"click",this.Xl,this);y(c,"click",Rc);vg.call(this,{element:d,render:a.render?a.render:io})}w(go,vg);go.prototype.ia=function(){Pc(this.l);vg.prototype.ia.call(this)};var ho=0;k=go.prototype;k.setMap=function(a){vg.prototype.setMap.call(this,a);a&&a.render()}; function io(a){if(a.frameState){if(!this.$){var b=this.element,c=b.offsetWidth,d=b.offsetHeight,e=b.firstElementChild,f=getComputedStyle(e);b=e.offsetWidth+parseFloat(f.marginRight)+parseFloat(f.marginLeft);e=e.offsetHeight+parseFloat(f.marginTop)+parseFloat(f.marginBottom);this.O=[b,e];c>d?(this.j=1,this.D=c-b):(this.j=ho,this.v=d-e);this.$=!0}a=a.frameState.viewState.resolution;a!==this.c&&(this.c=a,jo(this,a))}} k.Xl=function(a){var b=this.a.aa();a=ko(this,pa(1===this.j?(a.offsetX-this.O[0]/2)/this.D:(a.offsetY-this.O[1]/2)/this.v,0,1));b.animate({resolution:b.constrainResolution(a),duration:this.V,easing:Oe})};k.$l=function(a){this.o||a.b.target!==this.element.firstElementChild||(bg(this.a.aa(),1,1),this.C=a.clientX,this.B=a.clientY,this.o=!0)}; k.Yl=function(a){if(this.o){var b=this.element.firstElementChild;this.c=ko(this,pa(1===this.j?(a.clientX-this.C+parseInt(b.style.left,10))/this.D:(a.clientY-this.B+parseInt(b.style.top,10))/this.v,0,1));this.a.aa().gd(this.c);jo(this,this.c);this.C=a.clientX;this.B=a.clientY}};k.Zl=function(){if(this.o){var a=this.a.aa();bg(a,1,-1);a.animate({resolution:a.constrainResolution(this.c),duration:this.V,easing:Oe});this.o=!1;this.B=this.C=void 0}}; function jo(a,b){b=1-gg(a.a.aa())(b);var c=a.element.firstElementChild;1==a.j?c.style.left=a.D*b+"px":c.style.top=a.v*b+"px"}function ko(a,b){return fg(a.a.aa())(1-b)};function lo(a){a=a?a:{};this.extent=a.extent?a.extent:null;var b=void 0!==a.className?a.className:"ol-zoom-extent",c=void 0!==a.label?a.label:"E",d=void 0!==a.tipLabel?a.tipLabel:"Fit to extent",e=document.createElement("button");e.setAttribute("type","button");e.title=d;e.appendChild("string"===typeof c?document.createTextNode(c):c);y(e,"click",this.c,this);c=document.createElement("div");c.className=b+" ol-unselectable ol-control";c.appendChild(e);vg.call(this,{element:c,target:a.target})} w(lo,vg);lo.prototype.c=function(a){a.preventDefault();a=this.a.aa();var b=this.extent?this.extent:a.v.G();a.Uf(b)};var mo=document.implementation.createDocument("","",null);function no(a,b){return mo.createElementNS(a,b)}function oo(a,b){return po(a,b,[]).join("")}function po(a,b,c){if(a.nodeType==Node.CDATA_SECTION_NODE||a.nodeType==Node.TEXT_NODE)b?c.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):c.push(a.nodeValue);else for(a=a.firstChild;a;a=a.nextSibling)po(a,b,c);return c}function qo(a){return a instanceof Document}function ro(a){return a instanceof Node} function so(a){return(new DOMParser).parseFromString(a,"application/xml")}function to(a,b){return function(c,d){c=a.call(b,c,d);void 0!==c&&gc(d[d.length-1],c)}}function uo(a,b){return function(c,d){c=a.call(void 0!==b?b:this,c,d);void 0!==c&&d[d.length-1].push(c)}}function vo(a,b){return function(c,d){c=a.call(void 0!==b?b:this,c,d);void 0!==c&&(d[d.length-1]=c)}} function wo(a){return function(b,c){var d=a.call(this,b,c);if(void 0!==d){c=c[c.length-1];b=b.localName;var e;b in c?e=c[b]:e=c[b]=[];e.push(d)}}}function L(a,b){return function(c,d){var e=a.call(this,c,d);void 0!==e&&(d[d.length-1][void 0!==b?b:c.localName]=e)}}function M(a,b){return function(c,d,e){a.call(void 0!==b?b:this,c,d,e);e[e.length-1].node.appendChild(c)}} function xo(a){var b,c;return function(d,e,f){if(void 0===b){b={};var g={};g[d.localName]=a;b[d.namespaceURI]=g;c=yo(d.localName)}zo(b,c,e,f)}}function yo(a,b){return function(c,d,e){c=d[d.length-1].node;d=a;void 0===d&&(d=e);e=b;void 0===b&&(e=c.namespaceURI);return no(e,d)}}var Ao=yo();function Bo(a,b){for(var c=b.length,d=Array(c),e=0;eh.status){var a=b.S();if("json"==a||"text"==a)var e=h.responseText;else"xml"==a?(e=h.responseXML)||(e=so(h.responseText)):"arraybuffer"==a&&(e=h.response);e?c.call(this,b.Qa(e,{featureProjection:g}),b.sb(e),b.cg()):d.call(this)}else d.call(this)}.bind(this);h.onerror=function(){d.call(this)}.bind(this); h.send()}}function Fo(a,b){return Eo(a,b,function(a){this.Qc(a)},ea)};function Go(){this.i=this.defaultDataProjection=null}function Ho(a,b,c){var d;c&&(d={dataProjection:c.dataProjection?c.dataProjection:a.sb(b),featureProjection:c.featureProjection});return Io(a,d)}function Io(a,b){return kb({dataProjection:a.defaultDataProjection,featureProjection:a.i},b)}Go.prototype.cg=function(){return null}; function Jo(a,b,c){var d=c?Ob(c.featureProjection):null,e=c?Ob(c.dataProjection):null,f;d&&e&&!Xb(d,e)?a instanceof gf?f=(b?a.clone():a).mb(b?d:e,b?e:d):f=bc(a,e,d):f=a;if(b&&c&&void 0!==c.decimals){var g=Math.pow(10,c.decimals);f===a&&(f=f.clone());f.Rc(function(a){for(var b=0,c=a.length;ba||this.c.length<=a)return null;var b=new I(null);b.ba(this.ja,this.A.slice(0===a?0:this.c[a-1],this.c[a]));return b}; k.wd=function(){var a=this.A,b=this.c,c=this.ja,d=[],e=0,f;var g=0;for(f=b.length;ga||b<=a)return null;b=new C(null);b.ba(this.ja,this.A.slice(a*this.a,(a+1)*this.a));return b};k.de=function(){var a=this.A,b=this.ja,c=this.a,d=[],e;var f=0;for(e=a.length;fa||this.c.length<=a)return null;if(0===a)var b=0;else b=this.c[a-1],b=b[b.length-1];a=this.c[a].slice();var c=a[a.length-1];if(0!==b){var d;var e=0;for(d=a.length;ea||0!==this.f&&ac;++c){var d=parseInt(b[c],10).toString(16);b[c]=1==d.length?"0"+d:d}ip(a,b.join(""))}function us(a,b,c){a={node:a};var d=b.S();if("GeometryCollection"==d){var e=b.vd();var f=vs}else"MultiPoint"==d?(e=b.de(),f=ws):"MultiLineString"==d?(e=b.wd(),f=xs):"MultiPolygon"==d?(e=b.Vd(),f=ys):oa(!1,39);Do(a,zs,f,e,c)}function As(a,b,c){Do({node:a},Bs,Cs,[b],c)} function Ds(a,b,c){var d={node:a};b.c&&a.setAttribute("id",b.c);a=b.L();var e={address:1,description:1,name:1,open:1,phoneNumber:1,styleUrl:1,visibility:1};e[b.a]=1;var f=Object.keys(a||{}).sort().filter(function(a){return!e[a]});if(0>4;if(128>f)return d(a,g,b);f=e[c.ga++];g|=(f&127)<<3;if(128>f)return d(a,g,b);f=e[c.ga++];g|=(f&127)<<10;if(128>f)return d(a,g,b);f=e[c.ga++];g|=(f&127)<<17;if(128>f)return d(a,g,b);f=e[c.ga++];g|=(f&127)<<24;if(128>f)return d(a,g,b);f=e[c.ga++];if(128>f)return d(a,g|(f&1)<<31,b);throw Error("Expected varint not more than 10 bytes"); }function d(a,b,c){return c?4294967296*b+(a>>>0):4294967296*(b>>>0)+(a>>>0)}var e={read:function(a,b,c,d,e){var f=8*e-d-1;var g=(1<>1,l=-7;e=c?e-1:0;var m=c?-1:1,v=a[b+e];e+=m;c=v&(1<<-l)-1;v>>=-l;for(l+=f;0>=-l;for(l+=d;0>1,m=23===e?Math.pow(2, -24)-Math.pow(2,-77):0;n=d?0:n-1;var z=d?1:-1,A=0>b||0===b&&0>1/b?1:0;b=Math.abs(b);isNaN(b)||Infinity===b?(b=isNaN(b)?1:0,d=h):(d=Math.floor(Math.log(b)/Math.LN2),1>b*(f=Math.pow(2,-d))&&(d--,f*=2),b=1<=d+l?b+m/f:b+m*Math.pow(2,1-l),2<=b*f&&(d++,f/=2),d+l>=h?(b=0,d=h):1<=d+l?(b=(b*f-1)*Math.pow(2,e),d+=l):(b=b*Math.pow(2,l-1)*Math.pow(2,e),d=0));for(;8<=e;a[c+n]=b&255,n+=z,b/=256,e-=8);d=d<>3,f=this.ga;this.type=d&7;a(e,b,this);this.ga===f&&this.Lq(d)}return b},Zp:function(){var a=e.read(this.tc,this.ga,!0,23,4);this.ga+=4;return a},Vp:function(){var a=e.read(this.tc,this.ga,!0,52,8);this.ga+=8;return a},Ua:function(a){var b=this.tc;var d=b[this.ga++];var e=d&127;if(128>d)return e;d=b[this.ga++];e|=(d&127)<<7;if(128>d)return e;d=b[this.ga++];e|=(d&127)<<14;if(128>d)return e;d=b[this.ga++];e|=(d&127)<<21;if(128>d)return e;d=b[this.ga]; return c(e|(d&15)<<28,a,this)},lq:function(){return this.Ua(!0)},Ug:function(){var a=this.Ua();return 1===a%2?(a+1)/-2:a/2},Tp:function(){return!!this.Ua()},Vg:function(){for(var a=this.Ua()+this.ga,b=this.tc,c="",d=this.ga;da)break;if(1===p)128>e&&(n=e);else if(2===p){var q=b[d+1];128===(q&192)&&(n=(e&31)<<6|q&63,127>=n&&(n=null))}else if(3===p){q=b[d+1];var r=b[d+2];128===(q&192)&&128===(r&192)&&(n=(e&15)<<12|(q&63)<<6|r&63,2047>=n||55296<= n&&57343>=n)&&(n=null)}else if(4===p){q=b[d+1];r=b[d+2];var u=b[d+3];128===(q&192)&&128===(r&192)&&128===(u&192)&&(n=(e&15)<<18|(q&63)<<12|(r&63)<<6|u&63,65535>=n||1114112<=n)&&(n=null)}null===n?(n=65533,p=1):65535>>10&1023|55296),n=56320|n&1023);c+=String.fromCharCode(n);d+=p}this.ga=a;return c},Lq:function(a){a&=7;if(a===b.c)for(;127>3,a=1===a?c.Vg():2===a?c.Zp():3===a?c.Vp():4===a?c.lq():5===a?c.Ua():6===a?c.Ug():7===a?c.Tp():null;b.values.push(a)}} function mt(a,b,c){if(1==a)b.id=c.Ua();else if(2==a)for(a=c.Ua()+c.ga;c.ga>=3),n--,1===m||2===m?(p+=b.Ug(),q+=b.Ug(),1===m&&r>u&&(l.push(r),u=r),g.push(p,q),r+=2):7===m?r>u&&(g.push(g[u],g[u+1]),r+=2):oa(!1,59);r>u&&l.push(r);b=h.length;var v;1===d?v=1===b?"Point":"MultiPoint":2===d?v=1===b?"LineString":"MultiLineString":3===d&&(v="Polygon");d=v;if(a.b===it)g=new a.b(d, g,h,f,e);else{if("Polygon"==d){d=[];l=b=v=0;for(c=h.length;lc?~(c<<1):c<<1;b="";d=0;for(c=a.length;d>=5;g+=String.fromCharCode(f+63);b+=g}return b} function zt(a,b){b=b?b:1E5;var c=[],d=0,e=0,f;var g=0;for(f=a.length;gh?(c.push(d),e=d=0):e+=5}a=0;for(d=c.length;a>1):e>>1;a=0;for(d=c.length;a=b||"."==b||"-"==b){c.type=4;b=a.b;var d=!1,e=!1;do{if("."==f)d=!0;else if("e"==f||"E"==f)e=!0;var f=a.a.charAt(++a.b)}while("0"<=f&&"9">=f||"."==f&&(void 0===d||!d)||!e&&("e"==f||"E"==f)||e&&("-"==f||"+"==f));a=parseFloat(a.a.substring(b,a.b--));c.value=a}else if("a"<=b&&"z">=b||"A"<=b&&"Z">=b){c.type=1;b=a.b;do f=a.a.charAt(++a.b);while("a"<=f&&"z">= f||"A"<=f&&"Z">=f);a=a.a.substring(b,a.b--).toUpperCase();c.value=a}else{if(" "==b||"\t"==b||"\r"==b||"\n"==b)return Uu(a);if(""===b)c.type=6;else throw Error("Unexpected character: "+b);}return c}function Qu(a){this.g=a;this.a="XY"}function Su(a){a.b=Uu(a.g)}function Vu(a,b){(b=a.b.type==b)&&Su(a);return b} function Tu(a){var b=a.b;if(Vu(a,1)){b=b.value;var c="XY",d=a.b;1==a.b.type&&(d=d.value,"Z"===d?c="XYZ":"M"===d?c="XYM":"ZM"===d&&(c="XYZM"),"XY"!==c&&Su(a));a.a=c;if("GEOMETRYCOLLECTION"==b){a:{if(Vu(a,2)){b=[];do b.push(Tu(a));while(Vu(a,5));if(Vu(a,3)){a=b;break a}}else if(Wu(a)){a=[];break a}throw Error(Xu(a));}return new Mq(a)}d=Yu[b];c=Zu[b];if(!d||!c)throw Error("Invalid geometry type: "+b);b=d.call(a);return new c(b,a.a)}throw Error(Xu(a));}k=Qu.prototype; k.Hg=function(){if(Vu(this,2)){var a=$u(this);if(Vu(this,3))return a}else if(Wu(this))return null;throw Error(Xu(this));};k.Gg=function(){if(Vu(this,2)){var a=av(this);if(Vu(this,3))return a}else if(Wu(this))return[];throw Error(Xu(this));};k.Ig=function(){if(Vu(this,2)){var a=bv(this);if(Vu(this,3))return a}else if(Wu(this))return[];throw Error(Xu(this));}; k.Hp=function(){if(Vu(this,2)){var a;if(2==this.b.type)for(a=[this.Hg()];Vu(this,5);)a.push(this.Hg());else a=av(this);if(Vu(this,3))return a}else if(Wu(this))return[];throw Error(Xu(this));};k.Gp=function(){if(Vu(this,2)){var a=bv(this);if(Vu(this,3))return a}else if(Wu(this))return[];throw Error(Xu(this));};k.Ip=function(){if(Vu(this,2)){for(var a=[this.Ig()];Vu(this,5);)a.push(this.Ig());if(Vu(this,3))return a}else if(Wu(this))return[];throw Error(Xu(this));}; function $u(a){for(var b=[],c=a.a.length,d=0;d=b[0]||a[1]<=b[1]&&a[3]>=b[1]?!0:Ua(a,this.Bb,this)):!1}; k.ub=function(a){var b=this.a,c=a.slice();c[b]=c[0]+(this.A[b]-this.A[0]);var d;for(d=1;da.sc:e<=a.sc}a.s?(e=b.coordinate,c=a.j.U(),a.f===Kw?d=a.a:a.f===Jw?(d=a.a[0],d=d[d.length-1],Rw(a,b)&&(e=a.s.slice())):(d=a.a,d=d[d.length-1]),d[0]=e[0],d[1]=e[1],a.cb(a.a,c),a.B&&a.B.U().na(e),c instanceof D&&a.f!==Jw?(a.C||(a.C=new Hk(new I(null))),e=c.Wh(0),b=a.C.U(),b.ba(e.ja,e.da())):a.T&&(b=a.C.U(),b.na(a.T)),Tw(a)):(b=b.coordinate.slice(),a.B?a.B.U().na(b):(a.B=new Hk(new C(b)), Tw(a)));return!0}function Rw(a,b){var c=!1;if(a.j){var d=!1,e=[a.s];a.f===Lw?d=a.a.length>a.Ea:a.f===Jw&&(d=a.a[0].length>a.Ea,e=[a.a[0][0],a.a[0][a.a[0].length-2]]);if(d){d=b.map;for(var f=0,g=e.length;f=a.ua&&(a.o?e.pop():d=!0);e.push(b.slice());a.cb(e,c)}else a.f===Jw&&(e=a.a[0],e.length>=a.ua&&(a.o?e.pop():d=!0),e.push(b.slice()),d&&(a.s=e[0]),a.cb(a.a,c));Tw(a);d&&a.Pd()} k.nq=function(){if(this.j){var a=this.j.U();if(this.f===Lw){var b=this.a;b.splice(-2,1);this.cb(b,a);2<=b.length&&(this.s=b[b.length-2].slice())}else if(this.f===Jw){b=this.a[0];b.splice(-2,1);var c=this.C.U();c.na(b);this.cb(this.a,a)}0===b.length&&(this.s=null);Tw(this)}}; k.Pd=function(){var a=Sw(this),b=this.a,c=a.U();this.f===Lw?(b.pop(),this.cb(b,c)):this.f===Jw&&(b[0].pop(),this.cb(b,c),b=c.W());"MultiPoint"===this.O?a.Va(new No([b])):"MultiLineString"===this.O?a.Va(new P([b])):"MultiPolygon"===this.O&&a.Va(new Q([b]));this.b(new Uw("drawend",a));this.La&&this.La.push(a);this.ob&&this.ob.Gb(a)};function Sw(a){a.s=null;var b=a.j;b&&(a.j=null,a.B=null,a.C=null,a.ra.ha().clear(!0));return b} k.Zn=function(a){var b=a.U();this.j=a;this.a=b.W();a=this.a[this.a.length-1];this.s=a.slice();this.a.push(a.slice());Tw(this);this.b(new Uw("drawstart",this.j))};k.jd=Se;function Tw(a){var b=[];a.j&&b.push(a.j);a.C&&b.push(a.C);a.B&&b.push(a.B);a=a.ra.ha();a.clear(!0);a.Qc(b)}k.Ki=function(){var a=this.v,b=this.c();a&&b||Sw(this);this.ra.setMap(b?a:null)}; function Iw(a){var b;"Point"===a||"MultiPoint"===a?b=Kw:"LineString"===a||"MultiLineString"===a?b=Lw:"Polygon"===a||"MultiPolygon"===a?b=Jw:"Circle"===a&&(b=Qw);return b}var Kw="Point",Lw="LineString",Jw="Polygon",Qw="Circle";function Uw(a,b){Qc.call(this,a);this.feature=b}w(Uw,Qc);function Vw(a){var b=a||{};this.a=this.j=null;this.C=void 0!==b.pixelTolerance?b.pixelTolerance:10;this.B=!1;this.T=this.s=null;a||(a={});fh.call(this,{handleDownEvent:Ww,handleDragEvent:Xw,handleEvent:Yw,handleUpEvent:Zw});this.o=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.boxStyle?a.boxStyle:$w(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.O=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.pointerStyle?a.pointerStyle:ax(),updateWhileAnimating:!0, updateWhileInteracting:!0});a.extent&&this.f(a.extent)}w(Vw,fh);function Yw(a){if(!(a instanceof Ad))return!0;if("pointermove"==a.type&&!this.D){var b=a.pixel,c=a.map,d=bx(this,b,c);d||(d=c.Ra(b));cx(this,d)}gh.call(this,a);return!1} function Ww(a){function b(a){var b=null,c=null;a[0]==e[0]?b=e[2]:a[0]==e[2]&&(b=e[0]);a[1]==e[1]?c=e[3]:a[1]==e[3]&&(c=e[1]);return null!==b&&null!==c?[b,c]:null}var c=a.pixel,d=a.map,e=this.G();(a=bx(this,c,d))&&e?(c=a[0]==e[0]||a[0]==e[2]?a[0]:null,d=a[1]==e[1]||a[1]==e[3]?a[1]:null,null!==c&&null!==d?this.a=dx(b(a)):null!==c?this.a=ex(b([c,e[1]]),b([c,e[3]])):null!==d&&(this.a=ex(b([e[0],d]),b([e[2],d])))):(a=d.Ra(c),this.f([a[0],a[1],a[0],a[1]]),this.a=dx(a));return!0} function Xw(a){this.a&&(a=a.coordinate,this.f(this.a(a)),cx(this,a));return!0}function Zw(){this.a=null;var a=this.G();a&&0!==ab(a)||this.f(null);return!1}function $w(){var a=Gk();return function(){return a.Polygon}}function ax(){var a=Gk();return function(){return a.Point}}function dx(a){return function(b){return Ca([a,b])}}function ex(a,b){return a[0]==b[0]?function(c){return Ca([a,[c[0],b[1]]])}:a[1]==b[1]?function(c){return Ca([a,[b[0],c[1]]])}:null} function bx(a,b,c){function d(a,b){return Je(e,a)-Je(e,b)}var e=c.Ra(b),f=a.G();if(f){f=[[[f[0],f[1]],[f[0],f[3]]],[[f[0],f[3]],[f[2],f[3]]],[[f[2],f[3]],[f[2],f[1]]],[[f[2],f[1]],[f[0],f[1]]]];f.sort(d);f=f[0];var g=Be(e,f),h=c.Ia(g);if(Ie(b,h)<=a.C)return b=c.Ia(f[0]),c=c.Ia(f[1]),b=He(h,b),c=He(h,c),a.B=Math.sqrt(Math.min(b,c))<=a.C,a.B&&(g=b>c?f[1]:f[0]),g}return null}function cx(a,b){var c=a.T;c?c.U().na(b):(c=new Hk(new C(b)),a.T=c,a.O.ha().Gb(c))} Vw.prototype.setMap=function(a){this.o.setMap(a);this.O.setMap(a);fh.prototype.setMap.call(this,a)};Vw.prototype.G=function(){return this.j};Vw.prototype.f=function(a){this.j=a?a:null;var b=this.s;b?a?b.Va(Rf(a)):b.Va(void 0):(this.s=b=a?new Hk(Rf(a)):new Hk({}),this.o.ha().Gb(b));this.b(new fx(this.j))};function fx(a){Qc.call(this,"extentchanged");this.extent=a}w(fx,Qc);function gx(a){fh.call(this,{handleDownEvent:hx,handleDragEvent:ix,handleEvent:jx,handleUpEvent:kx});this.Md=a.condition?a.condition:eh;this.bb=function(a){return Wg(a)&&$g(a)};this.ob=a.deleteCondition?a.deleteCondition:this.bb;this.sc=a.insertVertexCondition?a.insertVertexCondition:Re;this.La=this.f=null;this.Ea=[0,0];this.C=this.T=!1;this.a=new um;this.ra=void 0!==a.pixelTolerance?a.pixelTolerance:10;this.s=this.ua=!1;this.j=[];this.B=new T({source:new U({useSpatialIndex:!1,wrapX:!!a.wrapX}),style:a.style? a.style:lx(),updateWhileAnimating:!0,updateWhileInteracting:!0});this.ca={Point:this.io,LineString:this.Mi,LinearRing:this.Mi,Polygon:this.jo,MultiPoint:this.fo,MultiLineString:this.eo,MultiPolygon:this.ho,Circle:this.bo,GeometryCollection:this.co};this.V=null;a.source?(this.V=a.source,a=new B(this.V.ee()),y(this.V,"addfeature",this.vm,this),y(this.V,"removefeature",this.xm,this)):a=a.features;if(!a)throw Error("The modify interaction requires features or a source");this.o=a;this.o.forEach(this.xg, this);y(this.o,"add",this.$n,this);y(this.o,"remove",this.ao,this);this.O=null}w(gx,fh);k=gx.prototype;k.xg=function(a){var b=a.U();b&&b.S()in this.ca&&this.ca[b.S()].call(this,a,b);(b=this.v)&&b.c&&this.c()&&mx(this,this.Ea,b);y(a,"change",this.Li,this)};function nx(a,b){a.C||(a.C=!0,a.b(new ox("modifystart",a.o,b)))}function px(a,b){qx(a,b);a.f&&0===a.o.kc()&&(a.B.ha().Lb(a.f),a.f=null);Mc(b,"change",a.Li,a)} function qx(a,b){a=a.a;var c=[];a.forEach(function(a){b===a.feature&&c.push(a)});for(var d=c.length-1;0<=d;--d)a.remove(c[d])}k.Ha=function(a){this.f&&!a&&(this.B.ha().Lb(this.f),this.f=null);fh.prototype.Ha.call(this,a)};k.setMap=function(a){this.B.setMap(a);fh.prototype.setMap.call(this,a)};k.vm=function(a){a.feature&&this.o.push(a.feature)};k.xm=function(a){a.feature&&this.o.remove(a.feature)};k.$n=function(a){this.xg(a.element)};k.Li=function(a){this.s||(a=a.target,px(this,a),this.xg(a))}; k.ao=function(a){px(this,a.element)};k.io=function(a,b){var c=b.W();a={feature:a,geometry:b,ma:[c,c]};this.a.Ca(b.G(),a)};k.fo=function(a,b){var c=b.W(),d;var e=0;for(d=c.length;em?h[1]:h[0]),rx(a,l),m=1,c=f.length;mn&&(n=0);f=g.geometry;var p=d=f.W();var q=!1;switch(f.S()){case "MultiLineString":2c&&(a.index+=e)})}function lx(){var a=Gk();return function(){return a.Point}}function ox(a,b,c){Qc.call(this,a);this.features=b;this.mapBrowserEvent=c}w(ox,Qc);function wx(a){Jg.call(this,{handleEvent:xx});a=a?a:{};this.C=a.condition?a.condition:$g;this.D=a.addCondition?a.addCondition:Se;this.B=a.removeCondition?a.removeCondition:Se;this.T=a.toggleCondition?a.toggleCondition:bh;this.s=a.multi?a.multi:!1;this.l=a.filter?a.filter:Re;this.j=a.hitTolerance?a.hitTolerance:0;this.f=new T({source:new U({useSpatialIndex:!1,features:a.features,wrapX:a.wrapX}),style:a.style?a.style:yx(),updateWhileAnimating:!0,updateWhileInteracting:!0});if(a.layers)if("function"=== typeof a.layers)a=a.layers;else{var b=a.layers;a=function(a){return ec(b,a)}}else a=Re;this.o=a;this.a={};a=this.f.ha().i;y(a,"add",this.ko,this);y(a,"remove",this.oo,this)}w(wx,Jg);k=wx.prototype;k.lo=function(){return this.f.ha().i};k.mo=function(){return this.j};k.no=function(a){a=x(a);return this.a[a]}; function xx(a){if(!this.C(a))return!0;var b=this.D(a),c=this.B(a),d=this.T(a),e=!b&&!c&&!d,f=a.map,g=this.f.ha().i,h=[],l=[];if(e){lb(this.a);f.Tc(a.pixel,function(a,b){if(this.l(a,b))return l.push(a),a=x(a),this.a[a]=b,!this.s}.bind(this),{layerFilter:this.o,hitTolerance:this.j});for(e=g.kc()-1;0<=e;--e){f=g.item(e);var m=l.indexOf(f);-1b?m[1]:m[0],l=d.Ia(f)}else a.C&&(f=h?Ae(c,g[0].feature.U()):Be(c,m),l=d.Ia(f),Ie(b,l)<=a.f&&(e=!0,a.O&& !h&&(c=d.Ia(m[0]),h=d.Ia(m[1]),c=He(l,c),b=He(l,h),h=Math.sqrt(Math.min(c,b)),h=h<=a.f)))&&(f=c>b?m[1]:m[0],l=d.Ia(f));e&&(l=[Math.round(l[0]),Math.round(l[1])])}return{Mq:e,vertex:f,Vq:l}}k.$j=function(a){this.Lb(a,!1);this.Gb(a,!1)};k.ro=function(a,b){b=Sf(b).W()[0];var c;var d=0;for(c=b.length-1;dXa&&(Xa=Zb,m=Z)}if(0===Xa){g=null;break a}Xa=g[m];g[m]=g[l];g[l]=Xa;for(m=l+1;mthis.b/2){var b=[[a.source[0][0],a.source[0][1]],[a.source[1][0],a.source[1][1]],[a.source[2][0],a.source[2][1]]];b[0][0]-n>this.b/2&&(b[0][0]-=this.b);b[1][0]-n>this.b/2&&(b[1][0]-=this.b);b[2][0]-n>this.b/2&&(b[2][0]-=this.b);Math.max(b[0][0],b[1][0],b[2][0])-Math.min(b[0][0],b[1][0],b[2][0])p,u=!1;if(0a.v),u)){Math.abs(b[0]-d[0])<=Math.abs(b[1]-d[1])?(r=[(c[0]+d[0])/2,(c[1]+d[1])/2],q=a.a(r),n=[(e[0]+b[0])/2,(e[1]+b[1])/2],p=a.a(n),fy(a,b,c,r,n,f,g,q,p,m-1),fy(a,n,r,d,e,p,q,h,l,m-1)):(r=[(b[0]+c[0])/2,(b[1]+c[1])/2],q=a.a(r),n=[(d[0]+e[0])/2,(d[1]+e[1])/2],p=a.a(n),fy(a,b,r,n,e,f,q,p,l,m-1),fy(a,r,c,d,n,q,g,h,p,m-1));return}if(r){if(!a.s)return;a.l=!0}a.c.push({source:[f,h,l],target:[b,d,e]});a.c.push({source:[f,g,h],target:[b,c,d]})}} function gy(a){var b=Da();a.c.forEach(function(a){a=a.source;Ea(b,a[0]);Ea(b,a[1]);Ea(b,a[2])});return b};function hy(a,b,c,d,e,f,g,h,l,m,n){cl.call(this,e,0);this.B=void 0!==n?n:!1;this.C=g;this.D=h;this.N=null;this.c=b;this.l=d;this.v=f?f:e;this.a=[];this.Id=null;this.f=0;f=d.Ma(this.v);h=this.l.G();e=this.c.G();f=h?gb(f,h):f;if(0===ab(f))this.state=4;else if((h=a.G())&&(e?e=gb(e,h):e=h),d=by(a,c,eb(f),d.Ta(this.v[0])),!isFinite(d)||0>=d)this.state=4;else if(this.o=new ey(a,c,f,e,d*(void 0!==m?m:.5)),0===this.o.c.length)this.state=4;else if(this.f=b.Dc(d),c=gy(this.o),e&&(a.g?(c[1]=pa(c[1],e[1],e[3]), c[3]=pa(c[3],e[1],e[3])):c=gb(c,e)),ab(c)){a=tc(b,c,this.f);for(b=a.fa;b<=a.la;b++)for(c=a.ea;c<=a.ka;c++)(m=l(this.f,b,c,g))&&this.a.push(m);0===this.a.length&&(this.state=4)}else this.state=4}w(hy,cl);hy.prototype.ia=function(){1==this.state&&(this.Id.forEach(Gc),this.Id=null);cl.prototype.ia.call(this)};hy.prototype.Y=function(){return this.N}; hy.prototype.he=function(){var a=[];this.a.forEach(function(b){b&&2==b.getState()&&a.push({extent:this.c.Ma(b.ya),image:b.Y()})},this);this.a.length=0;if(0===a.length)this.state=3;else{var b=this.v[0],c=this.l.Za(b),d="number"===typeof c?c:c[0];c="number"===typeof c?c:c[1];b=this.l.Ta(b);var e=this.c.Ta(this.f),f=this.l.Ma(this.v);this.N=dy(d,c,this.C,e,this.c.G(),b,f,this.o,a,this.D,this.B);this.state=2}this.u()}; hy.prototype.load=function(){if(0==this.state){this.state=1;this.u();var a=0;this.Id=[];this.a.forEach(function(b){var c=b.getState();if(0==c||1==c){a++;var d=y(b,"change",function(){var c=b.getState();if(2==c||3==c||4==c)Gc(d),a--,0===a&&(this.Id.forEach(Gc),this.Id=null,this.he())},this);this.Id.push(d)}},this);this.a.forEach(function(a){0==a.getState()&&a.load()});0===a&&setTimeout(this.he.bind(this),0)}};function iy(a){uw.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,state:a.state,wrapX:a.wrapX});this.bb=void 0!==a.opaque?a.opaque:!1;this.sc=void 0!==a.tilePixelRatio?a.tilePixelRatio:1;this.tileGrid=void 0!==a.tileGrid?a.tileGrid:null;this.a=new $x(a.cacheSize);this.j=[0,0];this.jc="";this.Ea={transition:a.transition}}w(iy,uw);k=iy.prototype;k.cj=function(){return di(this.a)};k.sd=function(a,b){(a=this.Yd(a))&&a.sd(b)}; function Li(a,b,c,d,e){a=a.Yd(b);if(!a)return!1;b=!0;for(var f,g,h=d.fa;h<=d.la;++h)for(var l=d.ea;l<=d.ka;++l)f=c+"/"+h+"/"+l,g=!1,a.a.hasOwnProperty(f)&&(f=a.get(f),(g=2===f.getState())&&(g=!1!==e(f))),g||(b=!1);return b}k.Zf=function(){return 0};function jy(a,b){a.jc!==b&&(a.jc=b,a.u())}k.eg=function(){return this.bb};k.jb=function(){return this.tileGrid};k.eb=function(a){return this.tileGrid?this.tileGrid:zc(a)};k.Yd=function(a){var b=this.c;return b&&!Xb(b,a)?null:this.a};k.Xc=function(){return this.sc}; k.Zd=function(a,b,c){c=this.eb(c);b=this.Xc(b);a=Ba(c.Za(a),this.j);return 1==b?a:Aa(a,b,this.j)};function ky(a,b,c){var d=void 0!==c?c:a.c;c=a.eb(d);if(a.D&&d.c){var e=b;b=e[0];a=yc(c,e);d=Dc(d);Ja(d,a)?b=e:(e=cb(d),a[0]+=e*Math.ceil((d[0]-a[0])/e),b=c.jg(a,b))}e=b[0];d=b[1];a=b[2];if(c.minZoom>e||e>c.maxZoom)c=!1;else{var f=c.G();c=(c=f?tc(c,f,e):c.a?c.a[e]:null)?ma(c,d,a):!0}return c?b:null}k.sa=function(){this.a.clear();this.u()};k.kh=ea;function ly(a,b){Qc.call(this,a);this.tile=b}w(ly,Qc);function my(a){iy.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tilePixelRatio:a.tilePixelRatio,wrapX:a.wrapX,transition:a.transition});this.tileLoadFunction=a.tileLoadFunction;this.tileUrlFunction=this.dc?this.dc.bind(this):Xx;this.urls=null;a.urls?this.vb(a.urls):a.url&&this.rb(a.url);a.tileUrlFunction&&this.hb(a.tileUrlFunction);this.V={}}w(my,iy);k=my.prototype;k.yb=function(){return this.tileLoadFunction}; k.zb=function(){return this.tileUrlFunction};k.Ab=function(){return this.urls};k.dj=function(a){a=a.target;var b=x(a),c=a.getState();if(1==c){this.V[b]=!0;var d="tileloadstart"}else b in this.V&&(delete this.V[b],d=3==c?"tileloaderror":2==c||5==c?"tileloadend":void 0);void 0!=d&&this.b(new ly(d,a))};k.Fb=function(a){this.a.clear();this.tileLoadFunction=a;this.u()};k.hb=function(a,b){this.tileUrlFunction=a;ay(this.a);"undefined"!==typeof b?jy(this,b):this.u()}; k.rb=function(a){var b=this.urls=Yx(a);this.hb(this.dc?this.dc.bind(this):Vx(b,this.tileGrid),a)};k.vb=function(a){this.urls=a;var b=a.join("\n");this.hb(this.dc?this.dc.bind(this):Vx(a,this.tileGrid),b)};k.kh=function(a,b,c){a=a+"/"+b+"/"+c;this.a.a.hasOwnProperty(a)&&this.a.get(a)};function ny(a){my.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,extent:a.extent,logo:a.logo,opaque:a.opaque,projection:a.projection,state:a.state,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction?a.tileLoadFunction:oy,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls,wrapX:a.wrapX,transition:a.transition});this.crossOrigin=void 0!==a.crossOrigin?a.crossOrigin:null;this.tileClass=void 0!==a.tileClass?a.tileClass:el;this.f={};this.s={};this.ob= a.reprojectionErrorThreshold;this.O=!1}w(ny,my);k=ny.prototype;k.cj=function(){if(di(this.a))return!0;for(var a in this.f)if(di(this.f[a]))return!0;return!1};k.sd=function(a,b){a=this.Yd(a);this.a.sd(this.a==a?b:{});for(var c in this.f){var d=this.f[c];d.sd(d==a?b:{})}};k.Zf=function(a){return this.c&&a&&!Xb(this.c,a)?0:this.$f()};k.$f=function(){return 0};k.eg=function(a){return this.c&&a&&!Xb(this.c,a)?!1:my.prototype.eg.call(this,a)}; k.eb=function(a){var b=this.c;return!this.tileGrid||b&&!Xb(b,a)?(b=x(a).toString(),b in this.s||(this.s[b]=zc(a)),this.s[b]):this.tileGrid};k.Yd=function(a){var b=this.c;if(!b||Xb(b,a))return this.a;a=x(a).toString();a in this.f||(this.f[a]=new $x(this.a.highWaterMark));return this.f[a]}; function py(a,b,c,d,e,f,g){b=[b,c,d];e=(c=ky(a,b,f))?a.tileUrlFunction(c,e,f):void 0;e=new a.tileClass(b,void 0!==e?0:4,void 0!==e?e:"",a.crossOrigin,a.tileLoadFunction,a.Ea);e.key=g;y(e,"change",a.dj,a);return e} k.ad=function(a,b,c,d,e){var f=this.c;if(f&&e&&!Xb(f,e)){var g=this.Yd(e);c=[a,b,c];var h;a=c[0]+"/"+c[1]+"/"+c[2];g.a.hasOwnProperty(a)&&(h=g.get(a));b=this.jc;if(h&&h.key==b)return h;var l=this.eb(f),m=this.eb(e),n=ky(this,c,e);d=new hy(f,l,e,m,c,n,this.Xc(d),this.$f(),function(a,b,c,d){return qy(this,a,b,c,d,f)}.bind(this),this.ob,this.O);d.key=b;h?(d.g=h,dl(d),g.replace(a,d)):g.set(a,d);return d}return qy(this,a,b,c,d,f||e)}; function qy(a,b,c,d,e,f){var g=b+"/"+c+"/"+d,h=a.jc;if(a.a.a.hasOwnProperty(g)){var l=a.a.get(g);if(l.key!=h){var m=l;l=py(a,b,c,d,e,f,h);0==m.getState()?l.g=m.g:l.g=m;dl(l);a.a.replace(g,l)}}else l=py(a,b,c,d,e,f,h),a.a.set(g,l);return l}k.Qb=function(a){if(this.O!=a){this.O=a;for(var b in this.f)this.f[b].clear();this.u()}};k.Rb=function(a,b){if(a=Ob(a))a=x(a).toString(),a in this.s||(this.s[a]=b)};function oy(a,b){a.Y().src=b};function ry(a){this.i=void 0!==a.hidpi?a.hidpi:!1;ny.call(this,{cacheSize:a.cacheSize,crossOrigin:"anonymous",opaque:!0,projection:Ob("EPSG:3857"),reprojectionErrorThreshold:a.reprojectionErrorThreshold,state:"loading",tileLoadFunction:a.tileLoadFunction,tilePixelRatio:this.i?2:1,wrapX:void 0!==a.wrapX?a.wrapX:!0,transition:a.transition});this.o=void 0!==a.culture?a.culture:"en-us";this.$=void 0!==a.maxZoom?a.maxZoom:-1;this.l=a.key;this.B=a.imagerySet;Zx("https://dev.virtualearth.net/REST/v1/Imagery/Metadata/"+ this.B+"?uriScheme=https&include=ImageryProviders&key="+this.l+"&c="+this.o,this.La.bind(this),void 0,"jsonp")}w(ry,ny);ry.prototype.ca=function(){return this.l};ry.prototype.ua=function(){return this.B}; ry.prototype.La=function(a){if(200!=a.statusCode||"OK"!=a.statusDescription||"ValidCredentials"!=a.authenticationResultCode||1!=a.resourceSets.length||1!=a.resourceSets[0].resources.length)ww(this,"error");else{var b=a.brandLogoUri;-1==b.indexOf("https")&&(b=b.replace("http","https"));var c=a.resourceSets[0].resources[0];a=-1==this.$?c.zoomMax:this.$;var d=Dc(this.c);this.tileGrid=Bc({extent:d,minZoom:c.zoomMin,maxZoom:a,tileSize:(c.imageWidth==c.imageHeight?c.imageWidth:[c.imageWidth,c.imageHeight])/ (this.i?2:1)});var e=this.o,f=this.i;this.tileUrlFunction=Wx(c.imageUrlSubdomains.map(function(a){var b=[0,0,0],d=c.imageUrl.replace("{subdomain}",a).replace("{culture}",e);return function(a){if(a)return oc(a[0],a[1],-a[2]-1,b),a=d,f&&(a+="&dpi=d1&device=mobile"),a.replace("{quadkey}",pc(b))}}));if(c.imageryProviders){var g=Pb(Ob("EPSG:4326"),this.c);this.va(function(a){var b=[],d=a.viewState.zoom;c.imageryProviders.map(function(c){for(var e=!1,f=c.coverageAreas,h=0,l=f.length;h=m.zoomMin&&d<=m.zoomMax&&(m=m.bbox,m=jb([m[1],m[0],m[3],m[2]],g),hb(m,a.extent))){e=!0;break}}e&&b.push(c.attribution)});b.push('Terms of Use');return b})}this.T=b;ww(this,"ready")}};function sy(a){a=a||{};var b=void 0!==a.projection?a.projection:"EPSG:3857",c=void 0!==a.tileGrid?a.tileGrid:Bc({extent:Dc(b),maxZoom:a.maxZoom,minZoom:a.minZoom,tileSize:a.tileSize});ny.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:a.opaque,projection:b,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:c,tileLoadFunction:a.tileLoadFunction,tilePixelRatio:a.tilePixelRatio,tileUrlFunction:a.tileUrlFunction,url:a.url,urls:a.urls, wrapX:void 0!==a.wrapX?a.wrapX:!0,transition:a.transition})}w(sy,ny);function ty(a){this.o=a.account;this.B=a.map||"";this.i=a.config||{};this.l={};sy.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,maxZoom:void 0!==a.maxZoom?a.maxZoom:18,minZoom:a.minZoom,projection:a.projection,state:"loading",wrapX:a.wrapX});uy(this)}w(ty,sy);k=ty.prototype;k.nl=function(){return this.i};k.Sq=function(a){kb(this.i,a);uy(this)};k.uq=function(a){this.i=a||{};uy(this)}; function uy(a){var b=JSON.stringify(a.i);if(a.l[b])vy(a,a.l[b]);else{var c="https://"+a.o+".carto.com/api/v1/map";a.B&&(c+="/named/"+a.B);var d=new XMLHttpRequest;d.addEventListener("load",a.em.bind(a,b));d.addEventListener("error",a.dm.bind(a));d.open("POST",c);d.setRequestHeader("Content-type","application/json");d.send(JSON.stringify(a.i))}} k.em=function(a,b){b=b.target;if(!b.status||200<=b.status&&300>b.status){try{var c=JSON.parse(b.responseText)}catch(d){ww(this,"error");return}vy(this,c);this.l[a]=c;ww(this,"ready")}else ww(this,"error")};k.dm=function(){ww(this,"error")};function vy(a,b){a.rb("https://"+b.cdn_url.https+"/"+a.o+"/api/v1/map/"+b.layergroupid+"/{z}/{x}/{y}.png")};function X(a){U.call(this,{attributions:a.attributions,extent:a.extent,logo:a.logo,projection:a.projection,wrapX:a.wrapX});this.resolution=void 0;this.distance=void 0!==a.distance?a.distance:20;this.features=[];this.geometryFunction=a.geometryFunction||function(a){a=a.U();oa(a instanceof C,10);return a};this.source=a.source;this.source.I("change",X.prototype.sa,this)}w(X,U);k=X.prototype;k.Eo=function(){return this.distance};k.Fo=function(){return this.source}; k.ae=function(a,b,c){this.source.ae(a,b,c);b!==this.resolution&&(this.clear(),this.resolution=b,wy(this),this.Qc(this.features))};k.vq=function(a){this.distance=a;this.sa()};k.sa=function(){this.clear();wy(this);this.Qc(this.features);U.prototype.sa.call(this)}; function wy(a){if(void 0!==a.resolution){a.features.length=0;for(var b=Da(),c=a.distance*a.resolution,d=a.source.ee(),e={},f=0,g=d.length;fm*l?h*g/(m*p):l*g/(n*p),SETVIEWCENTERX:f[0],SETVIEWCENTERY:f[1]};kb(e,this.f);d=Gy(d,e);d=new bl(a,b,c,d,this.V,this.a);y(d,"change",this.j,this)}else d=null;this.M=d;this.B=this.g;return d};k.Mo=function(){return this.a};k.Po=function(a){kb(this.f,a);this.u()};k.Oo=function(a){this.M=null;this.a=a;this.u()};function Ky(a){var b=a.imageExtent,c=void 0!==a.crossOrigin?a.crossOrigin:null,d=void 0!==a.imageLoadFunction?a.imageLoadFunction:Fy;zy.call(this,{attributions:a.attributions,logo:a.logo,projection:Ob(a.projection)});this.M=new bl(b,void 0,1,a.url,c,d);this.a=a.imageSize?a.imageSize:null;y(this.M,"change",this.j,this)}w(Ky,zy);Ky.prototype.Wc=function(a){return hb(a,this.M.G())?this.M:null}; Ky.prototype.j=function(a){if(2==this.M.getState()){var b=this.M.G(),c=this.M.Y();if(this.a){var d=this.a[0];var e=this.a[1]}else d=c.width,e=c.height;b=Math.ceil(cb(b)/(db(b)/e));if(b!=d){b=hg(b,e);var f=b.canvas;b.drawImage(c,0,0,d,e,0,0,f.width,f.height);this.M.ih(f)}}zy.prototype.j.call(this,a)};function Ly(a){this.a=a.source;this.ob=We();this.f=hg();this.l=[0,0];this.ca=rj.Jc(9);this.bb=void 0==a.renderBuffer?100:a.renderBuffer;this.B=null;Iy.call(this,{attributions:a.attributions,canvasFunction:this.Mk.bind(this),logo:a.logo,projection:a.projection,ratio:a.ratio,resolutions:a.resolutions,state:this.a.getState()});this.O=null;this.s=void 0;this.aj(a.style);y(this.a,"change",this.To,this)}w(Ly,Iy);k=Ly.prototype; k.Mk=function(a,b,c,d,e){var f=new Vj(.5*b/c,a,b,c,this.a.$,this.ca,this.bb);this.a.ae(a,b,e);var g=!1;this.a.ec(a,function(a){var d;if(!(d=g)){var e;(d=a.ib())?e=d.call(a,b):this.s&&(e=this.s(a,b));if(e){var h,p=!1;Array.isArray(e)||(e=[e]);d=0;for(h=e.length;dOpenStreetMap contributors.'];sy.call(this,{attributions:b,cacheSize:a.cacheSize,crossOrigin:void 0!==a.crossOrigin?a.crossOrigin:"anonymous",opaque:void 0!==a.opaque?a.opaque:!0,maxZoom:void 0!==a.maxZoom?a.maxZoom:19,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileLoadFunction:a.tileLoadFunction,url:void 0!==a.url?a.url:"https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png", wrapX:a.wrapX})}w(Ry,sy);rj.nf={};rj.nf.Hf=function(){}; (function(a){function b(a,b,c){if(g)return new ImageData(a,b,c);b=h.createImageData(b,c);b.data.set(a);return b}function c(a){var b=!0;try{new ImageData(10,10)}catch(n){b=!1}return function(c){var d=c.buffers,e=c.meta,f=c.width,g=c.height,h=d.length,l=d[0].byteLength;if(c.imageOps){l=Array(h);for(c=0;cthis.Bk;)this.Nd.shift().callback(null,null)};f.prototype.uh=function(){if(0===this.ve&&0Stamen Design, under CC BY 3.0.','© OpenStreetMap contributors.'],az={terrain:{Ob:"jpg",opaque:!0},"terrain-background":{Ob:"jpg",opaque:!0},"terrain-labels":{Ob:"png",opaque:!1},"terrain-lines":{Ob:"png",opaque:!1},"toner-background":{Ob:"png",opaque:!0},toner:{Ob:"png",opaque:!0},"toner-hybrid":{Ob:"png",opaque:!1},"toner-labels":{Ob:"png", opaque:!1},"toner-lines":{Ob:"png",opaque:!1},"toner-lite":{Ob:"png",opaque:!0},watercolor:{Ob:"jpg",opaque:!0}},$y={terrain:{minZoom:4,maxZoom:18},toner:{minZoom:0,maxZoom:20},watercolor:{minZoom:1,maxZoom:16}};function cz(a){a=a||{};ny.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0,transition:a.transition});this.i=a.params||{};this.l=Da();jy(this,dz(this))}w(cz,ny);function dz(a){var b=0,c=[],d;for(d in a.i)c[b++]=d+"-"+a.i[d];return c.join("/")}cz.prototype.o=function(){return this.i}; cz.prototype.Xc=function(a){return a}; cz.prototype.dc=function(a,b,c){var d=this.tileGrid;d||(d=this.eb(c));if(!(d.b.length<=a[0])){var e=d.Ma(a,this.l),f=Ba(d.Za(a[0]),this.j);1!=b&&(f=Aa(f,b,this.j));d={F:"image",FORMAT:"PNG32",TRANSPARENT:!0};kb(d,this.i);var g=this.urls;g?(c=c.wb.split(":").pop(),d.SIZE=f[0]+","+f[1],d.BBOX=e.join(","),d.BBOXSR=c,d.IMAGESR=c,d.DPI=Math.round(d.DPI?d.DPI*b:90*b),a=(1==g.length?g[0]:g[wa((a[1]<a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.ef();return}this.Cg(b)}else this.ef()};k.ap=function(){this.ef()};k.Sl=function(){return this.i}; k.Cg=function(a){var b=Ob("EPSG:4326"),c=this.c;if(void 0!==a.bounds){var d=Pb(b,c);d=jb(a.bounds,d)}var e=a.minzoom||0,f=a.maxzoom||22;this.tileGrid=c=Bc({extent:Dc(c),maxZoom:f,minZoom:e});this.tileUrlFunction=Vx(a.tiles,c);if(void 0!==a.attribution&&!this.C){var g=void 0!==d?d:b.G();this.va(function(b){return hb(g,b.extent)?[a.attribution]:null})}this.i=a;ww(this,"ready")};k.ef=function(){ww(this,"error")};function hz(a){iy.call(this,{projection:Ob("EPSG:3857"),state:"loading"});this.s=void 0!==a.preemptive?a.preemptive:!0;this.l=Xx;this.f=void 0;this.i=a.jsonp||!1;if(a.url)if(this.i)Zx(a.url,this.Dg.bind(this),this.ff.bind(this));else{var b=new XMLHttpRequest;b.addEventListener("load",this.gp.bind(this));b.addEventListener("error",this.fp.bind(this));b.open("GET",a.url);b.send()}else a.tileJSON?this.Dg(a.tileJSON):oa(!1,51)}w(hz,iy);k=hz.prototype; k.gp=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.ff();return}this.Dg(b)}else this.ff()};k.fp=function(){this.ff()};k.Pl=function(){return this.f};k.al=function(a,b,c,d,e){this.tileGrid?(b=this.tileGrid.Le(a,b),iz(this.ad(b[0],b[1],b[2],1,this.c),a,c,d,e)):!0===e?setTimeout(function(){c.call(d,null)},0):c.call(d,null)};k.ff=function(){ww(this,"error")}; k.Dg=function(a){var b=Ob("EPSG:4326"),c=this.c;if(void 0!==a.bounds){var d=Pb(b,c);d=jb(a.bounds,d)}var e=a.minzoom||0,f=a.maxzoom||22;this.tileGrid=c=Bc({extent:Dc(c),maxZoom:f,minZoom:e});this.f=a.template;if(e=a.grids){this.l=Vx(e,c);if(void 0!==a.attribution){var g=void 0!==d?d:b.G();this.va(function(b){return hb(g,b.extent)?[a.attribution]:null})}ww(this,"ready")}else ww(this,"error")}; k.ad=function(a,b,c,d,e){var f=a+"/"+b+"/"+c;if(this.a.a.hasOwnProperty(f))return this.a.get(f);a=[a,b,c];b=ky(this,a,e);d=this.l(b,d,e);d=new jz(a,void 0!==d?0:4,void 0!==d?d:"",this.tileGrid.Ma(a),this.s,this.i);this.a.set(f,d);return d};k.kh=function(a,b,c){a=a+"/"+b+"/"+c;this.a.a.hasOwnProperty(a)&&this.a.get(a)};function jz(a,b,c,d,e,f){cl.call(this,a,b);this.v=c;this.a=d;this.N=e;this.c=this.l=this.f=null;this.o=f}w(jz,cl);k=jz.prototype;k.Y=function(){return null}; k.getData=function(a){if(!this.f||!this.l)return null;var b=this.f[Math.floor((1-(a[1]-this.a[1])/(this.a[3]-this.a[1]))*this.f.length)];if("string"!==typeof b)return null;b=b.charCodeAt(Math.floor((a[0]-this.a[0])/(this.a[2]-this.a[0])*b.length));93<=b&&b--;35<=b&&b--;b-=32;a=null;b in this.l&&(b=this.l[b],this.c&&b in this.c?a=this.c[b]:a=b);return a}; function iz(a,b,c,d,e){0==a.state&&!0===e?(Lc(a,"change",function(){c.call(d,this.getData(b))},a),kz(a)):!0===e?setTimeout(function(){c.call(d,this.getData(b))}.bind(a),0):c.call(d,a.getData(b))}k.lb=function(){return this.v};k.Ne=function(){this.state=3;this.u()};k.bj=function(a){this.f=a.grid;this.l=a.keys;this.c=a.data;this.state=4;this.u()}; function kz(a){if(0==a.state)if(a.state=1,a.o)Zx(a.v,a.bj.bind(a),a.Ne.bind(a));else{var b=new XMLHttpRequest;b.addEventListener("load",a.ep.bind(a));b.addEventListener("error",a.cp.bind(a));b.open("GET",a.v);b.send()}}k.ep=function(a){a=a.target;if(!a.status||200<=a.status&&300>a.status){try{var b=JSON.parse(a.responseText)}catch(c){this.Ne();return}this.bj(b)}else this.Ne()};k.cp=function(){this.Ne()};k.load=function(){this.N&&kz(this)};function lz(a){a=a||{};var b=a.params||{};ny.call(this,{attributions:a.attributions,cacheSize:a.cacheSize,crossOrigin:a.crossOrigin,logo:a.logo,opaque:!("TRANSPARENT"in b?b.TRANSPARENT:1),projection:a.projection,reprojectionErrorThreshold:a.reprojectionErrorThreshold,tileClass:a.tileClass,tileGrid:a.tileGrid,tileLoadFunction:a.tileLoadFunction,url:a.url,urls:a.urls,wrapX:void 0!==a.wrapX?a.wrapX:!0,transition:a.transition});this.o=void 0!==a.gutter?a.gutter:0;this.i=b;this.l=!0;this.B=a.serverType; this.$=void 0!==a.hidpi?a.hidpi:!0;this.ca=Da();mz(this);jy(this,nz(this))}w(lz,ny);k=lz.prototype; k.hp=function(a,b,c,d){c=Ob(c);var e=this.c,f=this.tileGrid;f||(f=this.eb(c));b=f.Le(a,b);if(!(f.b.length<=b[0])){var g=f.Ta(b[0]),h=f.Ma(b,this.ca);f=Ba(f.Za(b[0]),this.j);var l=this.o;0!==l&&(f=za(f,l,this.j),h=Fa(h,g*l,h));e&&e!==c&&(g=by(e,c,a,g),h=bc(h,c,e),a=ac(a,c,e));l={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetFeatureInfo",FORMAT:"image/png",TRANSPARENT:!0,QUERY_LAYERS:this.i.LAYERS};kb(l,this.i,d);d=Math.floor((h[3]-a[1])/g);l[this.l?"I":"X"]=Math.floor((a[0]-h[0])/g);l[this.l?"J":"Y"]= d;return oz(this,b,f,h,1,e||c,l)}};k.$f=function(){return this.o};k.ip=function(){return this.i}; function oz(a,b,c,d,e,f,g){var h=a.urls;if(h){g.WIDTH=c[0];g.HEIGHT=c[1];g[a.l?"CRS":"SRS"]=f.wb;"STYLES"in a.i||(g.STYLES="");if(1!=e)switch(a.B){case "geoserver":c=90*e+.5|0;g.FORMAT_OPTIONS="FORMAT_OPTIONS"in g?g.FORMAT_OPTIONS+(";dpi:"+c):"dpi:"+c;break;case "mapserver":g.MAP_RESOLUTION=90*e;break;case "carmentaserver":case "qgis":g.DPI=90*e;break;default:oa(!1,52)}f=f.b;a.l&&"ne"==f.substr(0,2)&&(a=d[0],d[0]=d[1],d[1]=a,a=d[2],d[2]=d[3],d[3]=a);g.BBOX=d.join(",");return Gy(1==h.length?h[0]:h[wa((b[1]<< b[0])+b[2],h.length)],g)}}k.Xc=function(a){return this.$&&void 0!==this.B?a:1};function nz(a){var b=0,c=[],d;for(d in a.i)c[b++]=d+"-"+a.i[d];return c.join("/")} k.dc=function(a,b,c){var d=this.tileGrid;d||(d=this.eb(c));if(!(d.b.length<=a[0])){1==b||this.$&&void 0!==this.B||(b=1);var e=d.Ta(a[0]),f=d.Ma(a,this.ca);d=Ba(d.Za(a[0]),this.j);var g=this.o;0!==g&&(d=za(d,g,this.j),f=Fa(f,e*g,f));1!=b&&(d=Aa(d,b,this.j));e={SERVICE:"WMS",VERSION:"1.3.0",REQUEST:"GetMap",FORMAT:"image/png",TRANSPARENT:!0};kb(e,this.i);return oz(this,a,d,f,b,c,e)}};k.jp=function(a){kb(this.i,a);mz(this);jy(this,nz(this))};function mz(a){a.l=0<=ye(a.i.VERSION||"1.3.0")};function pz(a,b,c,d,e,f,g,h,l,m,n,p,q,r,u){cl.call(this,a,b,u);this.v={};this.o={};this.c=m;this.a=[];this.D=c;this.l=f;this.f=[];this.N=[];if(f){var v=l.Ma(f),z=l.Ta(a[0]);h.Vf(v,h.Dc(z),function(a){var b=gb(v,h.Ma(a)),c=h.G();c&&(b=gb(b,c));.5<=cb(b)/z&&.5<=db(b)/z&&(b=a.toString(),c=m[b],c||(c=g(a,n,p),c=m[b]=new q(a,void 0==c?4:0,void 0==c?"":c,d,e),this.N.push(y(c,"change",r))),c.c++,this.a.push(b))}.bind(this))}}w(pz,cl);k=pz.prototype; k.ia=function(){for(var a=0,b=this.a.length;ag||d>g;)e.push([Math.ceil(c/g),Math.ceil(d/g)]),g+=g;break;case xz:for(;c>g||d>g;)e.push([Math.ceil(c/g),Math.ceil(d/g)]),c>>=1,d>>=1;break;default:oa(!1,53)}e.push([1,1]);e.reverse();d=[1];var h=[0];g=1;for(c=e.length;ga?Pe(2*a):1-Pe(2*(a-.5))}); t("ol.extent.boundingExtent",Ca);t("ol.extent.buffer",Fa);t("ol.extent.containsCoordinate",Ja);t("ol.extent.containsExtent",La);t("ol.extent.containsXY",Ka);t("ol.extent.createEmpty",Da);t("ol.extent.equals",Sa);t("ol.extent.extend",Ta);t("ol.extent.getArea",ab);t("ol.extent.getBottomLeft",Wa);t("ol.extent.getBottomRight",Ya);t("ol.extent.getCenter",eb);t("ol.extent.getHeight",db);t("ol.extent.getIntersection",gb);t("ol.extent.getSize",function(a){return[a[2]-a[0],a[3]-a[1]]}); t("ol.extent.getTopLeft",$a);t("ol.extent.getTopRight",Za);t("ol.extent.getWidth",cb);t("ol.extent.intersects",hb);t("ol.extent.isEmpty",bb);t("ol.extent.applyTransform",jb);t("ol.Feature",Hk);Hk.prototype.clone=Hk.prototype.clone;Hk.prototype.getGeometry=Hk.prototype.U;Hk.prototype.getId=Hk.prototype.an;Hk.prototype.getGeometryName=Hk.prototype.sl;Hk.prototype.getStyle=Hk.prototype.bn;Hk.prototype.getStyleFunction=Hk.prototype.ib;Hk.prototype.setGeometry=Hk.prototype.Va;Hk.prototype.setStyle=Hk.prototype.sg; Hk.prototype.setId=Hk.prototype.qc;Hk.prototype.setGeometryName=Hk.prototype.Lc;t("ol.featureloader.xhr",Fo);t("ol.Geolocation",Jk);Jk.prototype.getAccuracy=Jk.prototype.el;Jk.prototype.getAccuracyGeometry=Jk.prototype.fl;Jk.prototype.getAltitude=Jk.prototype.gl;Jk.prototype.getAltitudeAccuracy=Jk.prototype.hl;Jk.prototype.getHeading=Jk.prototype.cn;Jk.prototype.getPosition=Jk.prototype.dn;Jk.prototype.getProjection=Jk.prototype.mi;Jk.prototype.getSpeed=Jk.prototype.Ol;Jk.prototype.getTracking=Jk.prototype.ni; Jk.prototype.getTrackingOptions=Jk.prototype.ai;Jk.prototype.setProjection=Jk.prototype.oi;Jk.prototype.setTracking=Jk.prototype.Ue;Jk.prototype.setTrackingOptions=Jk.prototype.Rj;t("ol.Graticule",Xk);Xk.prototype.getMap=Xk.prototype.gn;Xk.prototype.getMeridians=Xk.prototype.Cl;Xk.prototype.getParallels=Xk.prototype.Jl;Xk.prototype.setMap=Xk.prototype.setMap;t("ol.has.DEVICE_PIXEL_RATIO",nd);t("ol.has.CANVAS",pd);t("ol.has.DEVICE_ORIENTATION",qd);t("ol.has.GEOLOCATION",rd);t("ol.has.TOUCH",sd); t("ol.has.WEBGL",hd);bl.prototype.getImage=bl.prototype.Y;bl.prototype.load=bl.prototype.load;el.prototype.getImage=el.prototype.Y;t("ol.inherits",w);t("ol.interaction.defaults",Zh);t("ol.Kinetic",Gg);t("ol.loadingstrategy.all",tw);t("ol.loadingstrategy.bbox",function(a){return[a]});t("ol.loadingstrategy.tile",function(a){return function(b,c){c=a.Dc(c);b=tc(a,b,c);var d=[];c=[c,0,0];for(c[1]=b.fa;c[1]<=b.la;++c[1])for(c[2]=b.ea;c[2]<=b.ka;++c[2])d.push(a.Ma(c));return d}});t("ol.Map",K); ed.prototype.originalEvent=ed.prototype.originalEvent;ed.prototype.pixel=ed.prototype.pixel;ed.prototype.coordinate=ed.prototype.coordinate;ed.prototype.dragging=ed.prototype.dragging;dd.prototype.map=dd.prototype.map;dd.prototype.frameState=dd.prototype.frameState;t("ol.Object",Vc);Vc.prototype.get=Vc.prototype.get;Vc.prototype.getKeys=Vc.prototype.P;Vc.prototype.getProperties=Vc.prototype.L;Vc.prototype.set=Vc.prototype.set;Vc.prototype.setProperties=Vc.prototype.H;Vc.prototype.unset=Vc.prototype.R; Zc.prototype.key=Zc.prototype.key;Zc.prototype.oldValue=Zc.prototype.oldValue;t("ol.Observable",Uc);t("ol.Observable.unByKey",function(a){if(Array.isArray(a))for(var b=0,c=a.length;bb||180Terms of Use');ry.prototype.getApiKey=ry.prototype.ca;ry.prototype.getImagerySet=ry.prototype.ua;t("ol.source.CartoDB",ty);ty.prototype.getConfig=ty.prototype.nl;ty.prototype.updateConfig=ty.prototype.Sq;ty.prototype.setConfig=ty.prototype.uq;t("ol.source.Cluster",X);X.prototype.getDistance=X.prototype.Eo; X.prototype.getSource=X.prototype.Fo;X.prototype.setDistance=X.prototype.vq;t("ol.source.Image",zy);By.prototype.image=By.prototype.image;t("ol.source.ImageArcGISRest",Hy);Hy.prototype.getParams=Hy.prototype.Ho;Hy.prototype.getImageLoadFunction=Hy.prototype.Go;Hy.prototype.getUrl=Hy.prototype.Io;Hy.prototype.setImageLoadFunction=Hy.prototype.Jo;Hy.prototype.setUrl=Hy.prototype.Ko;Hy.prototype.updateParams=Hy.prototype.Lo;t("ol.source.ImageCanvas",Iy);t("ol.source.ImageMapGuide",Jy); Jy.prototype.getParams=Jy.prototype.No;Jy.prototype.getImageLoadFunction=Jy.prototype.Mo;Jy.prototype.updateParams=Jy.prototype.Po;Jy.prototype.setImageLoadFunction=Jy.prototype.Oo;t("ol.source.ImageStatic",Ky);t("ol.source.ImageVector",Ly);Ly.prototype.getSource=Ly.prototype.Qo;Ly.prototype.getStyle=Ly.prototype.Ro;Ly.prototype.getStyleFunction=Ly.prototype.ib;Ly.prototype.setStyle=Ly.prototype.aj;t("ol.source.ImageWMS",Ny);Ny.prototype.getGetFeatureInfoUrl=Ny.prototype.Uo; Ny.prototype.getParams=Ny.prototype.Wo;Ny.prototype.getImageLoadFunction=Ny.prototype.Vo;Ny.prototype.getUrl=Ny.prototype.Xo;Ny.prototype.setImageLoadFunction=Ny.prototype.Yo;Ny.prototype.setUrl=Ny.prototype.Zo;Ny.prototype.updateParams=Ny.prototype.$o;t("ol.source.OSM",Ry);t("ol.source.OSM.ATTRIBUTION",'© OpenStreetMap contributors.');t("ol.source.Raster",Sy);Sy.prototype.setOperation=Sy.prototype.s;Wy.prototype.extent=Wy.prototype.extent; Wy.prototype.resolution=Wy.prototype.resolution;Wy.prototype.data=Wy.prototype.data;t("ol.source.Source",uw);uw.prototype.getAttributions=uw.prototype.za;uw.prototype.getLogo=uw.prototype.Aa;uw.prototype.getProjection=uw.prototype.Da;uw.prototype.getState=uw.prototype.getState;uw.prototype.refresh=uw.prototype.sa;uw.prototype.setAttributions=uw.prototype.va;t("ol.source.Stamen",Zy);t("ol.source.Tile",iy);iy.prototype.getTileGrid=iy.prototype.jb;ly.prototype.tile=ly.prototype.tile; t("ol.source.TileArcGISRest",cz);cz.prototype.getParams=cz.prototype.o;cz.prototype.updateParams=cz.prototype.B;t("ol.source.TileDebug",ez);t("ol.source.TileImage",ny);ny.prototype.setRenderReprojectionEdges=ny.prototype.Qb;ny.prototype.setTileGridForProjection=ny.prototype.Rb;t("ol.source.TileJSON",gz);gz.prototype.getTileJSON=gz.prototype.Sl;t("ol.source.TileUTFGrid",hz);hz.prototype.getTemplate=hz.prototype.Pl;hz.prototype.forDataAtCoordinateAndResolution=hz.prototype.al; t("ol.source.TileWMS",lz);lz.prototype.getGetFeatureInfoUrl=lz.prototype.hp;lz.prototype.getParams=lz.prototype.ip;lz.prototype.updateParams=lz.prototype.jp;my.prototype.getTileLoadFunction=my.prototype.yb;my.prototype.getTileUrlFunction=my.prototype.zb;my.prototype.getUrls=my.prototype.Ab;my.prototype.setTileLoadFunction=my.prototype.Fb;my.prototype.setTileUrlFunction=my.prototype.hb;my.prototype.setUrl=my.prototype.rb;my.prototype.setUrls=my.prototype.vb;t("ol.source.Vector",U); U.prototype.addFeature=U.prototype.Gb;U.prototype.addFeatures=U.prototype.Qc;U.prototype.clear=U.prototype.clear;U.prototype.forEachFeature=U.prototype.Lh;U.prototype.forEachFeatureInExtent=U.prototype.ec;U.prototype.forEachFeatureIntersectingExtent=U.prototype.Mh;U.prototype.getFeaturesCollection=U.prototype.Th;U.prototype.getFeatures=U.prototype.ee;U.prototype.getFeaturesAtCoordinate=U.prototype.Sh;U.prototype.getFeaturesInExtent=U.prototype.Yf;U.prototype.getClosestFeatureToCoordinate=U.prototype.Oh; U.prototype.getExtent=U.prototype.G;U.prototype.getFeatureById=U.prototype.Rh;U.prototype.getFormat=U.prototype.ej;U.prototype.getUrl=U.prototype.fj;U.prototype.removeLoadedExtent=U.prototype.Cj;U.prototype.removeFeature=U.prototype.Lb;U.prototype.setLoader=U.prototype.hj;Bw.prototype.feature=Bw.prototype.feature;t("ol.source.VectorTile",rz);rz.prototype.clear=rz.prototype.clear;t("ol.source.WMTS",Y);Y.prototype.getDimensions=Y.prototype.ol;Y.prototype.getFormat=Y.prototype.kp; Y.prototype.getLayer=Y.prototype.lp;Y.prototype.getMatrixSet=Y.prototype.Al;Y.prototype.getRequestEncoding=Y.prototype.Nl;Y.prototype.getStyle=Y.prototype.mp;Y.prototype.getVersion=Y.prototype.Ul;Y.prototype.updateDimensions=Y.prototype.Tq; t("ol.source.WMTS.optionsFromCapabilities",function(a,b){var c=hc(a.Contents.Layer,function(a){return a.Identifier==b.layer});if(null===c)return null;var d=a.Contents.TileMatrixSet;var e=1e&&(e=0);var f=c.TileMatrixSetLink[e].TileMatrixSet;var g=c.TileMatrixSetLink[e].TileMatrixSetLimits;var h=c.Format[0];"format"in b&&(h=b.format);e=mc(c.Style,function(a){return"style"in b?a.Title==b.style:a.isDefault});0>e&&(e=0);e=c.Style[e].Identifier;var l={};"Dimension"in c&&c.Dimension.forEach(function(a){var b=a.Identifier,c=a.Default;void 0===c&&(c=a.Value[0]);l[b]=c});var m=hc(a.Contents.TileMatrixSet,function(a){return a.Identifier==f}),n,p=m.SupportedCRS;p&&(n=Ob(p.replace(/urn:ogc:def:crs:(\w+):(.*:)?(\w+)$/, "$1:$3"))||Ob(p));"projection"in b&&(p=Ob(b.projection),!p||n&&!Xb(p,n)||(n=p));p=c.WGS84BoundingBox;if(void 0!==p){var q=Ob("EPSG:4326").G();q=p[0]==q[0]&&p[2]==q[2];var r=bc(p,"EPSG:4326",n);(p=n.G())&&(La(p,r)||(r=void 0))}g=tz(m,r,g);var u=[];m=b.requestEncoding;m=void 0!==m?m:"";if("OperationsMetadata"in a&&"GetTile"in a.OperationsMetadata)for(a=a.OperationsMetadata.GetTile.DCP.HTTP.Get,r=0,p=a.length;r ms) { clearInterval(timer); resolve(self); } }, step); return self; }; this.passedOl = ol; var self = this; window.addEventListener('load', function () { if (self.beforeLoad != undefined) self.beforeLoad(self); self.init(); if (self.afterLoad != undefined) self.afterLoad(self); self.clearNonACListItemsFromPathListWidget(self); }, false); } gsMapObjectClass.prototype.clearNonACListItemsFromPathListWidget = function (self) { var items = document.getElementsByName("__ac_pathListItem"); var visiblePaths = self.userOptions.visiblePaths; if (visiblePaths !== undefined) { items.forEach(function (i) { if (visiblePaths.indexOf(i.id.replace('__ac_', '')) === -1) { setTimeout(function () { i.remove(); }, 10); setTimeout(function () { i.remove(); }, 100); setTimeout(function () { i.remove(); }, 500); setTimeout(function () { i.remove(); }, 1000); setTimeout(function () { i.remove(); }, 2000); setTimeout(function () { i.remove(); }, 5500); setTimeout(function () { i.remove(); }, 8500); } }); } }; gsMapObjectClass.prototype.setBaseMap = function (url) { this.map.removeLayer(this.activeBaseLayer); switch (url) { case 'bing': var styles = [ 'Road', 'Aerial', 'AerialWithLabels', 'collinsBart', 'ordnanceSurvey' ]; this.activeBaseLayer = new ol.layer.Tile({ source: new ol.source.BingMaps({ key: 'AnOH4hX_YaNwHAdisvgGuUAGcEXxFYE2TwJsswR-vZTSEaTHffULolihVlFpIhjv', imagerySet: styles[1] }) }); break; case 'ktimanet': this.activeBaseLayer = new ol.layer.Tile({ source: new ol.source.TileWMS({ url: 'http://gis.ktimanet.gr/wms/wmsopen/wmsserver.aspx?', //crossOrigin: 'anonymous', params: { 'SRS': 'EPSG:900913', 'FORMAT': 'jpeg', 'LAYERS': 'basic', 'TILED': true }, serverType: 'mapserver' }) }); break; case 'osm': this.activeBaseLayer = new ol.layer.Tile({ source: new ol.source.OSM() }); break; default: this.activeBaseLayer = new ol.layer.Tile({ source: new ol.source.XYZ({ url: (url || 'https://m1.anadigit.fr/tms/1.0.0/ntn_combo/{z}/{x}/{-y}.png') // 'http://a.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png') , crossOrigin: null }) }); break; } this.map.getLayers().insertAt(0, this.activeBaseLayer); }; gsMapObjectClass.prototype.init = function () { var self = this; this.createModal(); 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://m1.anadigit.fr/tms/1.0.0/ntn_combo/{z}/{x}/{-y}.png') // '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({ rotate: false, attribution: false, zoom: (self.userOptions.showZoomTool == 1) }); // let fs = new ol.control.FullScreen(); // myControls.extend([fs]); // console.log(fs); var interactions = ol.interaction.defaults({ altShiftDragRotate: false, pinchRotate: false }); //if(self.userOptions.showZoomTool == 1) myControls.extend([new ol.control.ZoomSlider()]); this.map = new ol.Map({ controls: myControls, interactions: interactions, 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 }); 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('console.log(adventureCollection_' + adventureCollectionsKeys[i] + ');'); if (this.userOptions.visiblePaths) { for (var i in adventureCollectionsKeys) eval('adventureCollection_' + adventureCollectionsKeys[i] + '.setVisibleItems(this.userOptions.visiblePaths);'); } eval('adventureCollection_' + adventureCollectionsKeys[i] + '.initOl(this.passedOl,this.modal);'); eval('adventureCollection_' + adventureCollectionsKeys[i] + '.registerMap(this);'); eval('this.adventureCollectionList.push(adventureCollection_' + adventureCollectionsKeys[i] + ');'); } var poiCollectionsKeys = (self.userOptions.pc || []); for (var i in poiCollectionsKeys) { eval('poiCollection_' + poiCollectionsKeys[i] + '.initOl(this.passedOl,this.modal);'); eval('poiCollection_' + poiCollectionsKeys[i] + '.registerMap(this);'); } if (this.userOptions.onLoad && this.userOptions.onLoad.zoom) { for (var i in adventureCollectionsKeys) { // eval('adventureCollection_' + adventureCollectionsKeys[i] + '.zoomTo();'); eval('this.zoomTo();'); } } 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.zoomTo = function (full) { var zoomed = false; if (this.adventureCollectionList.length > 0 && !full) { this.adventureCollectionList.forEach(function (ac) { var v = ac.zoomTo(); if (v) zoomed = true; }); } if (!zoomed) { var ext_1; this.map.getLayers().forEach(function (layer) { if (layer.type === 'VECTOR') { var r2 = layer.getSource().getExtent(); if (r2.every(function (v) { return isFinite(v); })) { if (ext_1) { ext_1 = [ Math.min(ext_1[0], r2[0]), Math.min(ext_1[1], r2[1]), Math.max(ext_1[2], r2[2]), Math.max(ext_1[3], r2[3]) ]; } else { ext_1 = r2.slice(); } } } }); if (ext_1) { this.map.getView().fit(ext_1, { duration: 500, padding: [10, 10, 10, 10] }); } } }; gsMapObjectClass.prototype.log = function () { var adventureCollectionsKeys = (this.userOptions.ac || []); for (var i in adventureCollectionsKeys) { var collection = void 0; eval('collection = adventureCollection_' + adventureCollectionsKeys[i]); console.log(collection); collection.data.forEach(function (adventure) { console.info(adventure.path); }); } ; }; gsMapObjectClass.prototype.createModal = function () { this.modal = divGenerator.create({ modal: { close: true, transition_time: 500, opacity: 0.5 }, move: true, style: { 'cursor': 'default', } }); }; 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 }) })*/ /***/ }), /* 2 */ /***/ (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.basemapManager = {}; map.basemapManager.items = [ { dom: undefined, name: 'topoguide', url: 'https://m1.anadigit.fr/tms/1.0.0/ntn_combo/{z}/{x}/{-y}.png', active: true, image_url: 'https://anadigit.fr/topoguidemap/img/thumbs/tn.jpg' }, { dom: undefined, name: 'Cadastre', url: 'ktimanet', active: false, image_url: 'https://anadigit.fr/topoguidemap/img/thumbs/ktima.jpg' }, { dom: undefined, name: 'OSM', url: 'osm', active: false, image_url: 'https://anadigit.fr/topoguidemap/img/thumbs/osm.jpg' }, { dom: undefined, name: 'BING', url: 'bing', active: true, image_url: 'https://anadigit.fr/topoguidemap/img/thumbs/bing.jpg' } ]; var css = "\n\n #tg_basemap_manager{ \n border: 1px solid gray; \n position: absolute;\n transition: all 0.2s;\n }\n \n \n #tg_basemap_manager:hover{ \n transform: scale(1.07); /* Equal to scaleX(0.7) scaleY(0.7) */\n }\n \n \n \n \n \n .tg_basemap_selector_container {\n position: absolute;\n display: inline-block;\n /*width: 100%;*/\n bottom: 0px;\n left: 0px;\n\n /*background-color: yellowgreen;*/\n }\n\n .tg_basemap_selector_trigger {\n position: relative;\n height: 34px;\n width: 34px;\n bottom: 4px;\n left: 15px;\n }\n\n .tg_basemap_selector_trigger input {\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .tg_basemap_selector_panel {\n display: inline-block;\n width: 50px;\n position: relative;\n }\n\n .tg_basemap_selector_panel .tg_basemap_selector_panel_header {\n position: relative;\n cursor: pointer;\n top:-10px;\n width: 50px;\n height: 50px;\n background-color: rgb(91, 134, 48);\n -webkit-transition: .4s;\n transition: .4s;\n border-radius: 10px;\n }\n\n input:checked+.tg_basemap_selector_panel .tg_basemap_selector_panel_header {\n background-color: rgb(91, 134, 48);\n margin-bottom: 120px;\n }\n\n .tg_basemap_selector_panel_body {\n position: absolute;\n bottom: 0px;\n width: 100%;\n top: 40px;\n background-color: transparent;\n }\n \n \n .tg_basemap_selector_panel_body_content{\n background-color: white;\n position:absolute;\n left:13px;\n top:30px;\n bottom:10px;\n right:10px;\n border-radius: 8px;\n overflow:hidden;\n\n padding-right: 8px;\n padding-left: 8px;\n }\n\n .tg_basemap_selector_panel_body_content_item{\n display:inline-block;\n height:100%;\n padding-top:10px;\n padding-bottom:10px;\n width:25%;\n }\n\n\n \n .tg_basemap_selector_panel_body_content_item>div {\n border:1px solid transparent;\n overflow:hidden;\n position:relative;\n background-color:#eee;\n border-radius: 8px;\n height: 100%;\n margin-left: auto;\n margin-right: auto;\n width:90%;\n }\n\n .tg_basemap_selector_panel_body_content_item>div:hover {\n border:1px solid #085bf3!important;\n }\n\n .tg_basemap_selector_panel_body_content_item>div[selected=true] {\n border:1px solid #085bf3!important;\n }\n\n "; var style = document.createElement('style'); style.appendChild(document.createTextNode(css)); document.getElementsByTagName('head')[0].appendChild(style); /* var d = document.createElement('div'); d.id = 'tg_basemap_manager'; d.style.bottom = '10px'; d.style.right = '10px'; d.style.borderRadius = '9px'; d.style.width = '90px'; d.style.height = '90px'; d.style.overflow = 'hidden'; map.dom.appendChild(d); map.basemapManager['dom'] = d; map.basemapManager.dom.innerHTML = ``; d.onclick = function (){ console.log(map); let active_index = map.basemapManager.items.findIndex(i=>i.active === true); let new_active_index = active_index + 1; if(map.basemapManager.items.length === new_active_index){ new_active_index = 0 } let next_active_index = new_active_index + 1; if(map.basemapManager.items.length === next_active_index){ next_active_index = 0 } map.basemapManager.items.forEach((v:any,i:number)=>{ v.active = i === new_active_index; }); console.log(new_active_index); map.setBaseMap(map.basemapManager.items[new_active_index].url); map.basemapManager.dom.innerHTML = ``; }; */ var d = document.createElement('div'); d.className = 'tg_basemap_selector_container'; map.dom.appendChild(d); d.innerHTML = "\n \n
\n
\n
\n"; var body = document.getElementById("tg_basemap_selector_panel_body_content"); // body.innerHTML = ``; body.innerHTML = map.basemapManager.items.map(function (i, index) { var selected = 'selected=false'; if (index === 0) { selected = 'selected=true'; } return "
\n
\n
\n
" + i.name + "
\n
\n
"; }).join(''); map.basemapManager['dom'] = d; map.basemapManager.items.forEach(function (i, index) { var id = "tg_basemap_selector_panel_body_content_item_" + index; var dom = document.getElementById(id); i.dom = dom; dom.onclick = function () { var new_active_index = index; map.basemapManager.items.forEach(function (v, i) { v.active = i === new_active_index; console.log(v); v.dom.removeAttribute("selected"); if (v.active) { v.dom.setAttribute("selected", "true"); } else { v.dom.setAttribute("selected", "false"); } }); console.log(new_active_index); map.setBaseMap(map.basemapManager.items[new_active_index].url); //map.basemapManager.dom.innerHTML = ``; }; }); // 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:number[]){ // 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:string,params:any){ // 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); }); } exports.load = load; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ol = __webpack_require__(0); 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', featureProjection: 'EPSG:3857', }), wrapX: false }); item.source.on('addfeature', function (event) { var properties = event.feature.getProperties(); if (properties['style']) { var style_1 = properties['style']; var style_object = {}; if (style_1.color) { var color = style_1.color || 'black'; var width = style_1.width || 1; style_object.stroke = new ol.style.Stroke({ color: color, width: width }); } if (style_1.fill) { style_object.fill = new ol.style.Fill({ color: style_1.fill }); } var st = new ol.style.Style(style_object); event.feature.setStyle(st); } }); // 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'; } } self.modal.dom.innerHTML = '
' + '
' + f.get(clickEvent.title.key) + '
' + '' + '
' + f.get(clickEvent.text.key) + '
' + '
'; setTimeout(function () { self.modal.show(); // $('#myModal').modal('show'); }, 200); } if (clickEvent.type === 'function') { clickEvent.function(map, f); } if (clickEvent.type === 'hide') { item.hide(); } } }); } if (params.events.onLoad && params.events.onLoad.zoom) { setTimeout(function () { var x = item.getExtent(); x && map.flytoextentR({ extent: x }, map); }, 2000); } } 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); map.gsLayers.regenList(); 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]; }; map.gsLayers.regenList = function () { map.gsLayers['dom'].innerHTML = ""; var _loop_1 = function (i) { // console.log(i); var d = document.createElement('div'); d.style.textAlign = 'right'; map.gsLayers['dom'].appendChild(d); var span_2 = document.createElement('span'); span_2.innerHTML = i.name; span_2.className = "tg_layer_span_label"; d.appendChild(span_2); var label = document.createElement('label'); label.className = "tg_layer_switch"; d.appendChild(label); var input = document.createElement('input'); input.type = "checkbox"; input.checked = i.active; label.appendChild(input); input.onchange = function (e) { if (e.target.checked === true) { i.show(); } else { i.hide(); } }; var span = document.createElement('span'); //span.innerHTML = i.name; span.className = "tg_layer_slider tg_layer_round"; label.appendChild(span); /* let label = document.createElement('label'); d.appendChild(label); let span = document.createElement('span'); span.innerHTML = i.name; label.appendChild(span); let input = document.createElement('input'); input.type = "checkbox"; input.checked = i.active; label.appendChild(input); input.onchange = function(e:any){ if(e.target.checked === true){ i.show(); }else{ i.hide(); } } */ // html += `
`; }; for (var _i = 0, _a = map.gsLayers.item; _i < _a.length; _i++) { var i = _a[_i]; _loop_1(i); } // map.gsLayers['dom'].innerHTML = html; }; }); gsMapInitEndFunctionList.push(function (map) { //console.log(map); var css = "\n\n #tg_layer_list{ \n position: absolute;\n bottom:10px;\n right:10px;\n background-color:rgba(255,255,255,0.9);\n transition: all 0.2s;\n min-width:90px;\n border-radius:8px;\n }\n /*\n #tg_layer_list>div{ \n text-align:right;\n font-family:Arial;\n font-size:11pt;\n margin:4px;\n cursor:pointer;\n }\n #tg_layer_list>div>label>span{ \n position:relative;top:-2px;\n cursor:pointer;\n }\n #tg_layer_list>div>label>input{ \n margin-left:9px;margin-top:3px;\n cursor:pointer;\n }\n\n */\n #tg_layer_list>div {\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror HTML */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently\n supported by Chrome, Edge, Opera and Firefox */\n }\n\n\n .tg_layer_span_label{ \n text-align:right;\n font-family:Arial;\n font-size:10pt;\n margin:4px;\n cursor:default;\n vertical-align:top;\n top:6px;\n position:relative;\n font-weight:bold;\n }\n\n\n /* The switch - the box around the slider */\n.tg_layer_switch {\n position: relative;\n display: inline-block;\n width: 60px;\n height: 34px;\n zoom: 0.8;\n -moz-transform: scale(0.8);\n transform: scale(0.8);\n}\n\n/* Hide default HTML checkbox */\n.tg_layer_switch input {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n/* The slider */\n.tg_layer_slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n -webkit-transition: .4s;\n transition: .4s;\n}\n\n.tg_layer_slider:before {\n position: absolute;\n content: \"\";\n height: 26px;\n width: 26px;\n left: 4px;\n bottom: 4px;\n background-color: white;\n -webkit-transition: .4s;\n transition: .4s;\n}\n\ninput:checked + .tg_layer_slider {\n background-color: rgb(91,134,48);\n}\n\ninput:focus + .tg_layer_slider {\n box-shadow: 0 0 1px rgb(91,134,48);\n}\n\ninput:checked + .tg_layer_slider:before {\n -webkit-transform: translateX(26px);\n -ms-transform: translateX(26px);\n transform: translateX(26px);\n}\n\n/* Rounded sliders */\n.tg_layer_slider.tg_layer_round {\n border-radius: 34px;\n}\n\n.tg_layer_slider.tg_layer_round:before {\n border-radius: 50%;\n}\n \n "; var style = document.createElement('style'); style.appendChild(document.createTextNode(css)); document.getElementsByTagName('head')[0].appendChild(style); var d = document.createElement('div'); d.id = 'tg_layer_list'; map.dom.appendChild(d); map.gsLayers['dom'] = d; map.gsLayers.regenList(); }); } exports.load = load; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ol = __webpack_require__(0); function load(gsMapClickNotFoundFunctionList, gsMapHoverNotFoundFunctionList, gsMapInitEndFunctionList, gsMapInitStartFunctionList) { gsMapInitStartFunctionList.push(function (map) { map.pointStyle = function (fillColor, strokeColor, strokeWidth, radius, text, textOffsetY, textColor) { 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: 'normal 17px Arial', text: text, fill: new ol.style.Fill({ color: textColor }), stroke: new ol.style.Stroke({ color: textColor, width: 0 }), 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); } } else { if (type == 'icon') { st = map.pointStyleIcon(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; }; function textStyle(params) { var textParams = params.text || null; if (textParams) { return new ol.style.Text({ //textAlign: align, //textBaseline: baseline, textAlign: 'bottom', //textBaseline: baseline, font: 'normal 12px Arial', //text: text, //fill: new ol.style.Fill({color: textColor}), //stroke: new ol.style.Stroke({color: textColor, width: 0}), offsetX: 0, offsetY: 0, rotation: 0 }); } else { return null; } } 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.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; /***/ }), /* 5 */ /***/ (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) { var css = "\n #tg_toolbar_container{\n position: absolute;\n left:7px;\n top:7px;\n background-color: lightgray;\n }\n\n #tg_toolbar_container>div{\n margin:5px;\n width:36px;\n height:36px;\n background-color: white;\n position:relative;\n }\n "; var style = document.createElement('style'); style.appendChild(document.createTextNode(css)); document.getElementsByTagName('head')[0].appendChild(style); var d = document.createElement('div'); d.id = 'tg_toolbar_container'; map.dom.appendChild(d); d.innerHTML = "\n
\n
+
\n
\n
-
\n
\n"; var body = document.getElementById("tg_toolbar_container"); document.onfullscreenchange = function () { if (document.fullscreenElement) { document.getElementById('tg_toolbar_container_fullscreen').getElementsByTagName('img')[0].src = "https://anadigit.fr/topoguidemap/img/thumbs/collapse_toolbar.png"; } else { document.getElementById('tg_toolbar_container_fullscreen').getElementsByTagName('img')[0].src = "https://anadigit.fr/topoguidemap/img/thumbs/expand_toolbar.png"; } }; body.childNodes.forEach(function (div, index) { // layers if (div.id === 'tg_toolbar_container_layer') { div.onclick = function () { var map_trigger = document.getElementById('tg_basemap_selector_trigger_input'); map_trigger.checked = !map_trigger.checked; if (map_trigger.checked) { map_trigger.parentNode.parentNode.style.width = '100%'; } else { setTimeout(function () { map_trigger.parentNode.parentNode.style.width = 'unset'; }, 500); } }; } if (div.id === 'tg_toolbar_container_fullscreen') { div.onclick = function () { if (document.fullscreenElement) { document.exitFullscreen(); } else { var elem = map.dom; if (elem.requestFullscreen) { elem.requestFullscreen(); } else if (elem.msRequestFullscreen) { elem.msRequestFullscreen(); } else if (elem.mozRequestFullScreen) { elem.mozRequestFullScreen(); } else if (elem.webkitRequestFullscreen) { elem.webkitRequestFullscreen(); } } }; } if (div.id === 'tg_toolbar_container_zoom_in') { div.onclick = function () { map.map.getView().animate({ zoom: map.map.getView().getZoom() + 1, duration: 300 }); // map.map.getView().setZoom(map.map.getView().getZoom() + 1); }; } if (div.id === 'tg_toolbar_container_zoom_out') { div.onclick = function () { map.map.getView().animate({ zoom: map.map.getView().getZoom() - 1, duration: 300 }); // map.map.getView().setZoom(map.map.getView().getZoom() - 1); }; } if (div.id === 'tg_toolbar_container_home') { div.onclick = function () { map.zoomTo(); }; } }); // tg_basemap_selector_trigger_input /* let body = document.getElementById("tg_basemap_selector_panel_body_content"); // body.innerHTML = ``; body.innerHTML = map.basemapManager.items.map((i, index) => { let selected = 'selected=false'; if (index === 0) { selected = 'selected=true'; } return `
${i.name}
`; }).join(''); map.basemapManager['dom'] = d; map.basemapManager.items.forEach((i, index) => { let id = `tg_basemap_selector_panel_body_content_item_${index}`; let dom = document.getElementById(id); i.dom = dom; dom.onclick = function () { let new_active_index = index; map.basemapManager.items.forEach((v: any, i: number) => { v.active = i === new_active_index; console.log(v) v.dom.removeAttribute("selected"); if (v.active) { (v.dom).setAttribute("selected", "true"); } else { (v.dom).setAttribute("selected", "false"); } }); console.log(new_active_index); map.setBaseMap(map.basemapManager.items[new_active_index].url); //map.basemapManager.dom.innerHTML = ``; } }); */ }); } exports.load = load; /***/ }), /* 6 */ /***/ (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; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bootstrapcss = "\n\n\n\n.gsmap-modal-body {\n position: relative;\n padding: 15px;\n}\n\n\n.gsmap-fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.gsmap-fade.in {\n opacity: 1;\n}\n\n\n\n\n\n\n.gsmap-modal-open {\n overflow: hidden;\n}\n.gsmap-modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.gsmap-modal.fade .gsmap-modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate3d(0, -25%, 0);\n -o-transform: translate3d(0, -25%, 0);\n transform: translate3d(0, -25%, 0);\n}\n.gsmap-modal.in .modal-dialog {\n -webkit-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n}\n.gsmap-modal-open .gsmap-modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.gsmap-modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.gsmap-modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.gsmap-modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.gsmap-modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.gsmap-modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.gsmap-modal-header {\n min-height: 16.42857143px;\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.gsmap-modal-header .gsmap-close {\n margin-top: -2px;\n}\n.gsmap-modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.gsmap-modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.gsmap-modal-footer .gsmap-btn + .gsmap-btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.gsmap-modal-footer .gsmap-btn-group .gsmap-btn + .gsmap-btn {\n margin-left: -1px;\n}\n.gsmap-modal-footer .gsmap-btn-block + .gsmap-btn-block {\n margin-left: 0;\n}\n.gsmap-modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .gsmap-modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .gsmap-modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .gsmap-modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .gsmap-modal-lg {\n width: 900px;\n }\n}\n\n\n\n\n\n\n.gsmap-modal-footer:before,\n.gsmap-modal-footer:after {\n display: table;\n content: \" \";\n}\n\n\n\n.modal-footer:after {\n clear: both;\n}\n"; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // declare const window: Window; var style_1 = __webpack_require__(9); var uniqueClassId = 'gs_div_generator_' + (new Date()).getTime().toString() + '_' + Math.floor(Math.random() * 100000) + '_'; function create(options) { var _this = this; var _a; load_module_css_to_document(options); var div = document.createElement('div'); div.style.position = 'absolute'; document.body.appendChild(div); Object.keys(options.style).forEach(function (s) { div.style[s] = options.style[s]; }); var hideFunction = function () { return Promise.resolve(); }, showFunction = function () { return Promise.resolve(); }; if (options.modal) { _a = assign_modal(div, options.modal), hideFunction = _a[0], showFunction = _a[1]; } if (options.move) { assign_move(div); } return (function () { var out = { hide: hideFunction, show: showFunction, log: function () { console.log(_this); }, dom: div }; return out; })(); } exports.create = create; function assign_modal(domElement, options) { var transition_time = 500; var curtainOpacityValue = '0.4'; var transitionClass = uniqueClassId + 'transition'; if (options.opacity) { curtainOpacityValue = options.opacity.toString(); } if (options.transition_time) { transition_time = options.transition_time; } var transition_time_more = transition_time + 200; domElement.style.position = 'fixed'; domElement.style.zIndex = '1000'; domElement.className = uniqueClassId + 'transition'; var curtain = document.createElement('div'); curtain.className = uniqueClassId + 'curtain'; curtain.style.opacity = '0'; curtain.style.display = 'none'; domElement.style.top = (-domElement.clientHeight - 10) + 'px'; domElement.style.left = (window.innerWidth - domElement.clientWidth) / 2 + 'px'; document.body.appendChild(curtain); curtain.addEventListener("click", function () { hideFunction(); return false; }); var hideFunction = function () { var p = new Promise(function (resolve, reject) { toggle_class_for_html_element(domElement, transitionClass, true); setTimeout(function () { curtain.style.opacity = '0'; domElement.style.top = (-domElement.clientHeight - 10) + 'px'; }, 20); setTimeout(function () { curtain.style.display = 'none'; resolve(); }, transition_time_more); }); return p; }; var showFunction = function () { var p = new Promise(function (resolve, reject) { curtain.style.display = 'block'; setTimeout(function () { curtain.style.opacity = curtainOpacityValue; domElement.style.left = (window.innerWidth - domElement.clientWidth) / 2 + 'px'; domElement.style.top = (window.innerHeight - domElement.clientHeight) / 4 + 'px'; }, 0); setTimeout(function () { toggle_class_for_html_element(domElement, transitionClass, false); resolve(); }, transition_time_more); }); return p; }; return [hideFunction, showFunction]; } function toggle_class_for_html_element(domElement, className, value) { var c = domElement.className; if (value) { if (c.indexOf(className) === -1) { c = c + ' ' + className; } } else { c = c.replace(className, ''); } c = c.replace(/ /g, ' '); domElement.className = c; } exports.toggle_class_for_html_element = toggle_class_for_html_element; function assign_move(domElement) { var x_pos = 0, y_pos = 0; // Stores x & y coordinates of the mouse pointer var x_elem = 0, y_elem = 0; // Stores top, left values (edge) of the element var selected = false; function _drag_init() { // Store the object of the element which needs to be moved selected = true; x_elem = x_pos - domElement.offsetLeft; y_elem = y_pos - domElement.offsetTop; } function _move_elem(e) { x_pos = document.all ? window.event.clientX : e.pageX; y_pos = document.all ? window.event.clientY : e.pageY; if (selected) { domElement.style.left = (x_pos - x_elem) + 'px'; domElement.style.top = (y_pos - y_elem) + 'px'; } } // Destroy the object when we are done function _destroy() { selected = false; } domElement.addEventListener("mousedown", function () { _drag_init(); return false; }); document.addEventListener("mousemove", _move_elem); document.addEventListener("mouseup", _destroy); } function load_module_css_to_document(options) { var transition_time = 500; if (options.modal && options.modal.transition_time) { transition_time = options.modal.transition_time; } load_css_string_to_document(style_1.css(uniqueClassId, transition_time), uniqueClassId); } function load_css_string_to_document(cssString, id) { var style = document.createElement('style'); style.id = uniqueClassId; style.innerHTML = cssString; document.getElementsByTagName('head')[0].appendChild(style); } exports.load_css_string_to_document = load_css_string_to_document; //# sourceMappingURL=index.js.map /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function css(uniqueClassId, transition_time) { var transition_time_sec = (Math.round(transition_time / 1000 * 100) / 100).toString() + 's'; transition_time = transition_time + 200; var transition_time_more_sec = (Math.round(transition_time / 1000 * 100) / 100).toString() + 's'; return "\n ." + uniqueClassId + "transition{\n transition:" + transition_time_sec + " ease-in-out;\n }\n\n ." + uniqueClassId + "curtain{\n transition: all " + transition_time_more_sec + " ease-in-out;\n -moz-transition: all " + transition_time_more_sec + " ease-in-out;\n -webkit-transition: all " + transition_time_more_sec + ";\n transition: opacity " + transition_time_more_sec + ";\n -webkit-transition: opacity " + transition_time_more_sec + ";\n z-index:999;\n position:fixed;\n left:0px;\n top:0px;\n width:100%;\n height:100%;\n background-color:rgb(0,0,0);\n }\n\n \n\n\n"; } exports.css = css; //# sourceMappingURL=style.js.map /***/ }), /* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var gsMapModular_1 = __webpack_require__(1); var o3s = __webpack_require__(4); var lm = __webpack_require__(3); var tt = __webpack_require__(6); var basemaps = __webpack_require__(2); var toolbar = __webpack_require__(5); var style_1 = __webpack_require__(7); 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); basemaps.load(gsMapModular_1.gsMapClickNotFoundFunctionList, gsMapModular_1.gsMapHoverNotFoundFunctionList, gsMapModular_1.gsMapInitEndFunctionList, gsMapModular_1.gsMapInitStartFunctionList); toolbar.load(gsMapModular_1.gsMapClickNotFoundFunctionList, gsMapModular_1.gsMapHoverNotFoundFunctionList, gsMapModular_1.gsMapInitEndFunctionList, gsMapModular_1.gsMapInitStartFunctionList); var style = document.createElement('style'); style.appendChild(document.createTextNode(style_1.bootstrapcss)); document.getElementsByTagName('head')[0].appendChild(style); exports.gsMapManager = new gsMapModular_1.gsMapManagerClass(); /***/ }), /* 11 */ /***/ (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.passedOl = undefined; this.modal = undefined; this.key = key; this.data = data; this.meta = meta; this.gsMap = null; this.pointFeatures = []; this.lineFeatures = []; var self = this; this.layer = undefined; this.source = undefined; this.initOl = function (ol, modal) { this.passedOl = ol; this.modal = modal; self.source = new ol.source.Vector({ wrapX: false, noWrap: true }); self.layer = new ol.layer.Vector({ source: self.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) { if (!this.data[i].hidden) { 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) { if (!this.data[i].hidden) { 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 this.passedOl.Feature({ 'geometry': new this.passedOl.geom.LineString(this.gsMap.llArray2xy(this.data[i].coor)) }); f.setStyle( new this.passedOl.style.Style({ stroke: new this.passedOl.style.Stroke({ color: (ccolor), width: cwidth }) }) ); this.lineFeatures.push(f); } } this.source.addFeatures(this.lineFeatures); } this.zoomTo = function () { if(this.source.getFeatures().length > 0){ this.gsMap.map.getView().fit(this.source.getExtent(), this.gsMap.map.getSize()); // this.gsMap.map.getView().fit(this.gsMap.ll2xy(this.meta.extent), this.gsMap.map.getSize()); return true; } return false; } this.setVisibleItems = function (visiblePathArray) { this.data.forEach(function (adventure) { var path = adventure.path; if (visiblePathArray.indexOf(path) === -1) { adventure.hidden = true; } else { adventure.hidden = false; } }, this); } 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']; var modal = this.modal; 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("", ""); modal.dom.innerHTML = '
' + html + '
'; setTimeout(function () { eval(js); modal.show(); // passed$('#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 this.passedOl.style.Style({ image: new this.passedOl.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_santorini = new getAdventureCollection("santorini",[{"id":16146,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0394\u03b9\u03ac\u03c3\u03c7\u03b9\u03c3\u03b7 \u039d\u03ad\u03b1\u03c2 \u039a\u03b1\u03bc\u03bc\u03ad\u03bd\u03b7\u03c2","description_GR":"\u03a0\u03b5\u03b6\u03bf\u03c0\u03bf\u03c1\u03b9\u03ba\u03ae \u03b4\u03b9\u03ac\u03c3\u03c7\u03b9\u03c3\u03b7 \u03c4\u03b7\u03c2 \u03a0\u03b1\u03bb\u03b1\u03b9\u03ac\u03c2 \u039a\u03b1\u03bc\u03bc\u03ad\u03bd\u03b7\u03c2","path":"Geology\/GEO_Santorini_Kameni","activity_type":72,"assistance":1,"difficulty":1,"scenic_value":5,"length":2506,"name_EN":"Santorini Isl: Nea Kameni Isl.","description_EN":"Hiking across Palea Kameni volcanic island","ascent_time":65,"descent_time":65,"marker":"No_marks","level":9,"ascent":131,"descent":131,"maxelev":128,"minelev":0,"link_logo":"santorini_selfguide_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini_self_guided","pdf_link":"","bbox":"LINESTRING(25.39465 36.40345,25.40024 36.41117)","views":45,"millestones":"0,25.4003745,36.4111041#1,25.3954620,36.4051218#2,25.3992434,36.4077092#2.5,25.4003745,36.4111041","x":25.394896,"y":36.4035465,"coor":[[25.4003745,36.4111041],[25.4002716,36.4109611],[25.4000959,36.4109226],[25.4000035,36.4107434],[25.4000214,36.4104998],[25.3998836,36.410276],[25.3999356,36.4100681],[25.3998893,36.4099695],[25.3996766,36.4093815],[25.3996911,36.4089486],[25.3998016,36.4088933],[25.4000253,36.4089267],[25.400146,36.4088171],[25.3998116,36.408208],[25.399776,36.4080101],[25.3997608,36.4077849],[25.3975362,36.4074865],[25.3972674,36.4074175],[25.3970419,36.4072849],[25.3968139,36.4070081],[25.3967546,36.4068105],[25.3965288,36.4066509],[25.3964777,36.4062909],[25.3960463,36.4058633],[25.3960222,36.4057644],[25.3961541,36.4056547],[25.39596,36.4054045],[25.3958886,36.405153],[25.3953505,36.4051142],[25.3952478,36.4049802],[25.395232,36.4047189],[25.3949925,36.404582],[25.394745,36.4044587],[25.3945285,36.4041998],[25.394666,36.4037835],[25.394896,36.4035465],[25.3951308,36.4035054],[25.3955247,36.4037081],[25.3962055,36.4037362],[25.3963027,36.4041858],[25.3962062,36.4044777],[25.3959361,36.4048099],[25.3959723,36.4049627],[25.3958886,36.405153],[25.39596,36.4054045],[25.3961541,36.4056547],[25.3960222,36.4057644],[25.3960463,36.4058633],[25.3964777,36.4062909],[25.3965288,36.4066509],[25.3967546,36.4068105],[25.3968139,36.4070081],[25.3970419,36.4072849],[25.3972674,36.4074175],[25.3975362,36.4074865],[25.3997608,36.4077849],[25.399776,36.4080101],[25.3998116,36.408208],[25.400146,36.4088171],[25.4000253,36.4089267],[25.3998016,36.4088933],[25.3996911,36.4089486],[25.3996766,36.4093815],[25.3998893,36.4099695],[25.3999356,36.4100681],[25.3998836,36.410276],[25.4000214,36.4104998],[25.4000035,36.4107434],[25.4000959,36.4109226],[25.4002716,36.4109611],[25.4003745,36.4111041]]},{"id":16697,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0397\u03bc\u03b5\u03c1\u03bf\u03b2\u03af\u03b3\u03bb\u03b9-\u03a3\u03ba\u03ac\u03c1\u03bf\u03c2","description_GR":"\u0391\u03bd\u03ac\u03b2\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf \u03c0\u03b1\u03bb\u03b9\u03cc \u03c6\u03c1\u03bf\u03cd\u03c1\u03b9\u03bf","path":"ISLANDS\/Islands_Santorini_Merovigli_Skaros","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":5,"length":1107,"name_EN":"Santorini Isl.: Imerovigli-Skaros","description_EN":"Ascen to to the old fortress","ascent_time":20,"descent_time":20,"marker":"No_marks","level":13,"ascent":43,"descent":135,"maxelev":360,"minelev":216,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.41676 36.43164,25.4241 36.43317)","views":25,"millestones":"0,25.4241286,36.4330866#1.1,25.4167348,36.4319937","x":25.4205014,"y":36.4328053,"coor":[[25.4241286,36.4330866],[25.423961,36.4330705],[25.4236821,36.4330333],[25.4236458,36.4330292],[25.4233884,36.4329872],[25.4232756,36.4329976],[25.4231099,36.4330446],[25.4228745,36.4329843],[25.4226188,36.4330325],[25.4222379,36.433019],[25.4220599,36.4330481],[25.4216867,36.4329985],[25.4215605,36.4328107],[25.421684,36.4326199],[25.4216372,36.4325393],[25.421792,36.432195],[25.421608,36.4323143],[25.4214792,36.4325953],[25.4211706,36.4327973],[25.4211676,36.4326351],[25.4208579,36.432783],[25.4206623,36.4330648],[25.4205156,36.4329764],[25.4205014,36.4328053],[25.4204244,36.4328693],[25.4203792,36.4328338],[25.4205868,36.4325969],[25.4202981,36.4326725],[25.420122,36.4328008],[25.4200344,36.4327387],[25.4195179,36.4325555],[25.4190833,36.4325787],[25.4189147,36.4325086],[25.4187698,36.4325194],[25.4181455,36.4321933],[25.4179103,36.432142],[25.4177795,36.4321953],[25.4176004,36.4321614],[25.4173668,36.4322002],[25.4173309,36.4320655],[25.4172312,36.4321027],[25.4172285,36.4319585],[25.4173614,36.4319028],[25.4172492,36.4318681],[25.4175484,36.4317564],[25.4171825,36.4317269],[25.4167348,36.4319937]]},{"id":16698,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039f\u03af\u03b1-\u0391\u03bc\u03bc\u03bf\u03cd\u03b4\u03b9","description_GR":"\u0391\u03c0\u03cc \u03c4\u03b7\u03bd \u039f\u03af\u03b1 \u03c3\u03c4\u03bf \u03bb\u03b9\u03bc\u03ac\u03bd\u03b9 \u03c4\u03b7\u03c2 \u03ba\u03b1\u03b9 \u03c3\u03c4\u03bf\u03bd \u03a0\u03b5\u03c1\u03b1\u03bc\u03b1\u03c4\u03ac\u03c1\u03b7","path":"ISLANDS\/Islands_Santorini_Oia_Amoudi","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":5,"length":1704,"name_EN":"Santorini Isl: Oia-Amoudi","description_EN":"From Oia to its port and the Peramataris cape","ascent_time":40,"descent_time":40,"marker":"No_marks","level":13,"ascent":27,"descent":164,"maxelev":148,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.37097 36.4578,25.3828 36.46247)","views":18,"millestones":"0,25.3828731,36.4620573#1,25.3728472,36.4603837#1.7,25.3721685,36.4579260","x":25.3730247,"y":36.4605619,"coor":[[25.3828731,36.4620573],[25.3826392,36.462078],[25.3824177,36.4620986],[25.3815828,36.4622165],[25.3810608,36.4623577],[25.3807817,36.4623519],[25.3795169,36.462139],[25.3792133,36.4620884],[25.3788463,36.4620813],[25.3778963,36.4620022],[25.3771815,36.4619338],[25.3770106,36.461929],[25.3769561,36.4619229],[25.3764146,36.4618322],[25.375953,36.4616032],[25.375573,36.4615715],[25.3751957,36.4615713],[25.3747958,36.4615624],[25.3746437,36.4615597],[25.3744808,36.4615345],[25.3742081,36.4613776],[25.3741602,36.4613511],[25.373962,36.4610289],[25.3740315,36.4609335],[25.3735172,36.4606847],[25.3733336,36.4605944],[25.3732581,36.4605052],[25.373282,36.460595],[25.3730247,36.4605619],[25.3726725,36.4602054],[25.3725149,36.4601261],[25.3724836,36.4602526],[25.3722707,36.4600433],[25.3722111,36.4599853],[25.372204,36.4602198],[25.372123,36.4601734],[25.371941,36.4600966],[25.3719498,36.4599613],[25.3718245,36.4598185],[25.3717432,36.4602702],[25.3716527,36.4601991],[25.3712766,36.4603927],[25.3711201,36.4603765],[25.3711932,36.4602878],[25.3712726,36.459728],[25.3709134,36.4592115],[25.370922,36.4590672],[25.3710314,36.4589397],[25.3709933,36.4586787],[25.3710695,36.4585697],[25.3710443,36.4584077],[25.3711299,36.4581994],[25.3713955,36.4580701],[25.3718328,36.4581913],[25.3719547,36.4581448],[25.3721685,36.457926]]},{"id":16699,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a0\u03cd\u03c1\u03b3\u03bf\u03c2-\u03b1\u03c1\u03c7\u03b1\u03af\u03b1 \u0398\u03ae\u03c1\u03b1","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 1: \u0391\u03c0\u03cc \u03c4\u03bf\u03bd \u03a0\u03cd\u03c1\u03b3\u03bf \u03c3\u03c4\u03b7 \u03bc\u03bf\u03bd\u03ae \u03a0\u03c1\u03bf\u03c6\u03ae\u03c4\u03b7 \u0397\u03bb\u03af\u03b1 \u03ba\u03b1\u03b9 \u03ba\u03b1\u03c4\u03ac\u03b2\u03b1\u03c3\u03b7 \u03c3\u03c4\u03b7\u03bd \u03b1\u03c1\u03c7\u03b1\u03af\u03b1 \u0398\u03ae\u03c1\u03b1","path":"ISLANDS\/Islands_Santorini_Path_1","activity_type":32,"assistance":3,"difficulty":2,"scenic_value":5,"length":5105,"name_EN":"Santorini Isl: Pyrgos-ancient Thera","description_EN":"Trail 1: From Pyrgos to Profitis Ilias and then to ancient Thera","ascent_time":115,"descent_time":110,"marker":"No_marks","level":13,"ascent":383,"descent":370,"maxelev":598,"minelev":257,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.44943 36.36182,25.48071 36.38218)","views":41,"millestones":"0,25.4494317,36.3821772#1,25.4532354,36.3747657#2,25.4602256,36.3692049#3,25.4691755,36.3705507#4,25.4746005,36.3670367#5.1,25.4807076,36.3618198","x":25.4682886,"y":36.3703723,"coor":[[25.4494317,36.3821772],[25.4496654,36.3816673],[25.4496921,36.3816039],[25.4497648,36.3814318],[25.4498836,36.3810359],[25.4501561,36.3808523],[25.4502359,36.3807973],[25.4503804,36.3809645],[25.4503182,36.3804267],[25.4503183,36.3799827],[25.4503061,36.3798905],[25.4502316,36.3794767],[25.4502641,36.3788273],[25.4501738,36.3787653],[25.4502975,36.3784483],[25.4506321,36.3775968],[25.450685,36.377479],[25.4510104,36.3769973],[25.4514483,36.3764894],[25.4516352,36.3762347],[25.4517353,36.3762245],[25.4526891,36.375663],[25.453229,36.3753229],[25.4533439,36.3749069],[25.4531775,36.374688],[25.4531463,36.3742106],[25.4535902,36.3729071],[25.4547371,36.3710452],[25.4552764,36.3705992],[25.4558728,36.3703035],[25.4570038,36.3699832],[25.4578508,36.3699728],[25.4580723,36.369898],[25.4580933,36.369864],[25.4583521,36.3698112],[25.4590807,36.3694327],[25.4593055,36.3695291],[25.4596308,36.3693787],[25.4610719,36.3689554],[25.4611617,36.3689904],[25.4612087,36.369116],[25.461002,36.369389],[25.4611281,36.3693897],[25.4613253,36.3691709],[25.461646,36.3690318],[25.4619695,36.3690459],[25.4621499,36.3690436],[25.4632813,36.3687503],[25.4643251,36.3691342],[25.4647381,36.3691652],[25.465087,36.3693412],[25.4655125,36.3694441],[25.465738,36.3695856],[25.4662582,36.3696851],[25.4663367,36.3697112],[25.466361,36.3698191],[25.4668789,36.3700922],[25.4670905,36.3700806],[25.4678287,36.3702157],[25.4684082,36.3702086],[25.4684426,36.3702623],[25.4682886,36.3703723],[25.4687901,36.3703662],[25.4687256,36.3704932],[25.4687714,36.3705557],[25.4694735,36.3705471],[25.4706014,36.3706594],[25.4707125,36.37064],[25.4707557,36.3705674],[25.4702694,36.3701947],[25.4704133,36.3701389],[25.4701402,36.3698448],[25.4708637,36.3697908],[25.4707732,36.3697198],[25.4708845,36.3697094],[25.4708379,36.3696018],[25.4713059,36.369596],[25.4714162,36.3696826],[25.4716326,36.3693374],[25.471789,36.3693535],[25.4719606,36.3695114],[25.4720737,36.3693432],[25.4724257,36.3694245],[25.4724243,36.3693524],[25.4725255,36.3693962],[25.4725879,36.3691611],[25.4725609,36.368909],[25.4727155,36.368835],[25.4727984,36.3689083],[25.4728241,36.3690883],[25.4729729,36.3692938],[25.4729477,36.3691409],[25.47309,36.3690039],[25.473152,36.3687417],[25.4735301,36.368106],[25.4741019,36.3675468],[25.4741114,36.3674566],[25.4741974,36.3674375],[25.4746022,36.3670359],[25.4751313,36.3667228],[25.4752431,36.3667395],[25.4752801,36.3669283],[25.4754229,36.3668184],[25.4755678,36.3668166],[25.4755619,36.3670961],[25.4756187,36.3671495],[25.475797,36.3671473],[25.4762362,36.3667993],[25.4767808,36.3665289],[25.4776358,36.3659549],[25.4776965,36.3656297],[25.477869,36.365321],[25.4777127,36.3653049],[25.4778509,36.3649517],[25.4781269,36.364297],[25.4781559,36.3640622],[25.4781984,36.3638769],[25.4784674,36.3633688],[25.4787159,36.362951],[25.4794112,36.3625909],[25.4805171,36.3621354],[25.4807076,36.3618198]]},{"id":16700,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a6\u03bf\u03b9\u03bd\u03b9\u03ba\u03b9\u03ac-\u039a\u03bf\u03c5\u03bb\u03bf\u03cd\u03bc\u03c0\u03bf\u03c2","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 10: \u039f\u03af\u03b1-\u03a6\u03bf\u03b9\u03bd\u03b9\u03ba\u03b9\u03ac-\u039a\u03bf\u03c5\u03bb\u03bf\u03cd\u03bc\u03c0\u03bf\u03c2","path":"ISLANDS\/Islands_Santorini_Path_10","activity_type":32,"assistance":3,"difficulty":2,"scenic_value":5,"length":4490,"name_EN":"Santorini Isl: Finikia-Kouloumbos","description_EN":"Trail 10: Oia-Finikia-Kouloumbos","ascent_time":110,"descent_time":110,"marker":"No_marks","level":12,"ascent":61,"descent":234,"maxelev":209,"minelev":1,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.39418 36.45999,25.41889 36.47671)","views":19,"millestones":"0,25.3972515,36.4602447#1,25.3980758,36.4647438#2,25.4037654,36.4703399#3,25.4095799,36.4741444#4,25.4179500,36.4751339#4.5,25.4176444,36.4719437","x":25.4015325,"y":36.4695041,"coor":[[25.3972515,36.4602447],[25.3972452,36.4604431],[25.3970696,36.4606074],[25.396988,36.461032],[25.3967585,36.4613051],[25.3967854,36.4615572],[25.3966003,36.4617014],[25.396422,36.4619085],[25.3958649,36.4619601],[25.3955396,36.4618648],[25.3949932,36.4618892],[25.3947822,36.4619457],[25.3945186,36.4621832],[25.3942289,36.4622857],[25.3940415,36.4624141],[25.3939285,36.4626521],[25.3939678,36.4628184],[25.394087,36.4628914],[25.3943855,36.462969],[25.394389,36.4631673],[25.3941407,36.4634361],[25.3947254,36.4636817],[25.3953543,36.4637487],[25.3955662,36.4637372],[25.3958821,36.4638529],[25.3962329,36.4641193],[25.396566,36.4640252],[25.3967238,36.4641135],[25.3971713,36.4641759],[25.3974561,36.4644971],[25.3980078,36.4646529],[25.3980764,36.4647422],[25.3980124,36.4649052],[25.3980916,36.4649674],[25.39848,36.4650755],[25.3986385,36.4651999],[25.3986902,36.4655959],[25.3989968,36.4658898],[25.3989034,36.4662785],[25.3991294,36.4664381],[25.3993128,36.4667064],[25.3994408,36.4676154],[25.3996903,36.4678378],[25.4000152,36.4680999],[25.4003817,36.4681925],[25.4006849,36.4682971],[25.4010746,36.4682475],[25.4012884,36.4683441],[25.4014198,36.4688203],[25.4016166,36.4692147],[25.4016423,36.4694037],[25.4015325,36.4695041],[25.4019116,36.4697926],[25.402268,36.4697524],[25.4022319,36.4696086],[25.402465,36.4695337],[25.4025635,36.4694244],[25.4030226,36.4695091],[25.4038429,36.470437],[25.4041825,36.4707034],[25.4044234,36.4710612],[25.4044046,36.4712597],[25.4042144,36.4712349],[25.4041055,36.4713804],[25.4038486,36.4713744],[25.4038037,36.4714741],[25.403991,36.4718415],[25.4045788,36.4721343],[25.4052732,36.4722704],[25.4065683,36.4722912],[25.408005,36.472121],[25.4082203,36.4722987],[25.4085989,36.4722492],[25.408913,36.4723356],[25.4092144,36.4723411],[25.4093529,36.4725918],[25.4093044,36.473611],[25.409874,36.4736313],[25.409871,36.4740821],[25.4093144,36.4742014],[25.4094212,36.4745517],[25.4096937,36.4748099],[25.4102896,36.4750462],[25.4108229,36.4753374],[25.4108327,36.4758781],[25.410849,36.4762385],[25.4109287,36.4764404],[25.4109635,36.4765121],[25.4113759,36.4764802],[25.4129642,36.4760467],[25.415248,36.4758033],[25.4164733,36.4755544],[25.41723,36.4754282],[25.4181497,36.4750567],[25.4186609,36.4749334],[25.4191586,36.4746841],[25.4188977,36.4744529],[25.4187567,36.4740669],[25.4184354,36.473584],[25.4179276,36.4732835],[25.4177735,36.4721766],[25.4177061,36.4720354],[25.4176444,36.4719437]]},{"id":16701,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a0\u03b1\u03bb\u03bf\u03cd-\u0391\u03ba\u03c1\u03c9\u03c4\u03ae\u03c1\u03b9","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 11 : \u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c2-\u0386\u03b3\u03b9\u03bf\u03c2 \u039d\u03b9\u03ba\u03cc\u03bb\u03b1\u03bf\u03c2 \u03a0\u03b1\u03bb\u03bf\u03cd-\u03bf\u03b9\u03ba. \u0391\u03ba\u03c1\u03c9\u03c4\u03ae\u03c1\u03b9","path":"ISLANDS\/Islands_Santorini_Path_11","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":1847,"name_EN":"Santorini Isl: Palou-Akrotiri","description_EN":"Trail 11: Apothikes-Aghios Nikolaos Palou-Akrotiri village","ascent_time":35,"descent_time":35,"marker":"No_marks","level":13,"ascent":120,"descent":81,"maxelev":112,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.39422 36.35945,25.40514 36.36331)","views":64,"millestones":"0,25.4022333,36.3594854#1,25.3981166,36.3621837#1.8,25.3955209,36.3607607","x":25.3956114,"y":36.3628262,"coor":[[25.4022333,36.3594854],[25.402202,36.3597202],[25.4022922,36.3597371],[25.4029288,36.3601624],[25.4031061,36.3602234],[25.4033932,36.3601501],[25.40422,36.3602666],[25.4047042,36.3605381],[25.4051658,36.3607964],[25.4050997,36.3608422],[25.4038607,36.3607396],[25.4033935,36.3607902],[25.4027267,36.3608972],[25.4020063,36.3610025],[25.4016766,36.3610695],[25.4003716,36.3616347],[25.3996505,36.3618234],[25.3994084,36.3619975],[25.3991531,36.3620546],[25.3987736,36.362023],[25.3979412,36.362222],[25.3969516,36.3623508],[25.3962384,36.3623592],[25.3956114,36.3628262],[25.3954656,36.3627738],[25.395322,36.3628476],[25.3948173,36.3632952],[25.3945946,36.3633069],[25.3943483,36.3632466],[25.3943852,36.3628135],[25.3942851,36.3628237],[25.3942113,36.3625541],[25.394264,36.3623822],[25.3947775,36.3624303],[25.3950887,36.3623816],[25.3950209,36.3623283],[25.3952536,36.3622535],[25.3951419,36.3622367],[25.3951625,36.3621464],[25.3950285,36.3621299],[25.3948342,36.3618617],[25.3947673,36.3617814],[25.3947983,36.3617224],[25.3951397,36.3614931],[25.3953691,36.361229],[25.3955209,36.3607607]]},{"id":16702,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a6\u03ac\u03c1\u03bf\u03c2-\u0391\u03ba\u03c1\u03c9\u03c4\u03ae\u03c1\u03b9","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 12: \u03a6\u03ac\u03c1\u03bf\u03c2-\u039c\u03ad\u03c3\u03b1 \u03a0\u03b7\u03b3\u03ac\u03b4\u03b9\u03b1-\u039a\u03cc\u03ba\u03ba\u03b9\u03bd\u03b7 \u03a0\u03b1\u03c1\u03b1\u03bb\u03af\u03b1-\u0391\u03ba\u03c1\u03c9\u03c4\u03ae\u03c1\u03b9","path":"ISLANDS\/Islands_Santorini_Path_12","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":3,"length":8111,"name_EN":"Santorini Isl: Faros-Akrotiri","description_EN":"Trail 12: Faros-Mesa Pigadia-Red beach-Akrotiri","ascent_time":155,"descent_time":150,"marker":"No_marks","level":13,"ascent":333,"descent":308,"maxelev":136,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.35751 36.34689,25.40175 36.36189)","views":399,"millestones":"0,25.3574393,36.3578708#1,25.3666447,36.3575338#2,25.3742268,36.3604167#3,25.3786016,36.3551788#4,25.3819710,36.3518908#5,25.3892500,36.3489556#6,25.3970746,36.3483077#7,25.3999411,36.3544010#8.1,25.3955188,36.3607607","x":25.3823319,"y":36.3516673,"coor":[[25.3574393,36.3578708],[25.3576827,36.3577689],[25.3583382,36.3576533],[25.3589352,36.357376],[25.3595412,36.3568914],[25.3596029,36.3565932],[25.3598446,36.3563921],[25.3602441,36.3562974],[25.3604946,36.3566011],[25.3607055,36.3565536],[25.3614018,36.3562211],[25.3616849,36.3561165],[25.3622877,36.3561727],[25.3630667,36.3561097],[25.3639065,36.3563345],[25.3647898,36.3562997],[25.3649028,36.3562691],[25.3652558,36.3563011],[25.3655369,36.3564421],[25.3658329,36.3567993],[25.3665445,36.3573411],[25.3667059,36.3576457],[25.3667701,36.3581318],[25.3675011,36.3585088],[25.3681136,36.3587993],[25.3701244,36.3604169],[25.3712909,36.3608362],[25.3726289,36.3615059],[25.372808,36.3615489],[25.3736475,36.3615573],[25.3740512,36.3616969],[25.3739212,36.3612747],[25.3739588,36.3608776],[25.3748346,36.3593441],[25.3748639,36.3591094],[25.374769,36.3589031],[25.3743261,36.3584305],[25.3744197,36.3580508],[25.3744024,36.3576994],[25.3748706,36.357072],[25.3749325,36.3567918],[25.3750954,36.3565466],[25.3753831,36.3557951],[25.376886,36.3550746],[25.3768615,36.3549487],[25.3765242,36.3547768],[25.376794,36.3547917],[25.3769983,36.3549246],[25.3772724,36.3553],[25.3774411,36.3553882],[25.3776732,36.3552774],[25.3783301,36.3552428],[25.3783507,36.3551434],[25.378484,36.3552004],[25.3786951,36.3551619],[25.3786932,36.3550538],[25.3788371,36.354998],[25.3790155,36.355005],[25.3791397,36.3550937],[25.3794491,36.3550631],[25.3793277,36.3550104],[25.3797585,36.3547981],[25.3797901,36.3546895],[25.3800253,36.3547589],[25.3802916,36.3546928],[25.3805705,36.3547076],[25.3806835,36.3547964],[25.3808279,36.3547677],[25.3812898,36.3550508],[25.3813828,36.3552661],[25.3814385,36.3552655],[25.381437,36.3551843],[25.3815606,36.355237],[25.3816994,36.3555239],[25.38188,36.355657],[25.3819496,36.3558094],[25.3821854,36.355712],[25.3823489,36.3555028],[25.3823497,36.3549214],[25.3824396,36.3546048],[25.3824334,36.3542939],[25.3825187,36.3540766],[25.382438,36.3539242],[25.3825822,36.3538865],[25.3824464,36.3537709],[25.3824324,36.3536088],[25.3823531,36.3535376],[25.3824523,36.3534733],[25.3824289,36.3534105],[25.3818871,36.3530201],[25.3812244,36.3527303],[25.3814831,36.3524321],[25.3817259,36.3522941],[25.3819965,36.3518402],[25.3823319,36.3516673],[25.3827043,36.3513024],[25.3833011,36.3510161],[25.3838287,36.3506043],[25.3839229,36.3502606],[25.3839063,36.3499543],[25.3840472,36.3497657],[25.3844382,36.3498242],[25.3845757,36.350039],[25.3847172,36.349848],[25.3855242,36.3494781],[25.3857241,36.3494397],[25.3857783,36.3495495],[25.3859807,36.3494548],[25.3860992,36.349228],[25.3862533,36.3491181],[25.3872102,36.3491565],[25.3874205,36.349073],[25.3874962,36.3489459],[25.3874048,36.3481897],[25.387723,36.3480688],[25.3883837,36.3482505],[25.3894356,36.3491217],[25.3900778,36.3493193],[25.3901589,36.3494986],[25.3905139,36.3494044],[25.3906161,36.349437],[25.3911817,36.3493605],[25.3914071,36.3495021],[25.391777,36.349624],[25.3921412,36.3494215],[25.3924859,36.3493814],[25.3925098,36.3494713],[25.3927988,36.3494318],[25.3929086,36.3493404],[25.3930066,36.3492514],[25.394114,36.3488598],[25.3946534,36.348484],[25.394764,36.3483249],[25.3950899,36.3478523],[25.3951071,36.3475637],[25.3948573,36.3473052],[25.3950194,36.3470238],[25.3952747,36.3469668],[25.3956542,36.3473928],[25.3959026,36.3476107],[25.3964102,36.3479564],[25.3972764,36.348415],[25.3979452,36.3490472],[25.398004,36.3491029],[25.3987923,36.3496773],[25.3994216,36.3498548],[25.3997807,36.3499565],[25.4003883,36.3502829],[25.4015837,36.3504492],[25.4017886,36.3506902],[25.4017623,36.3517474],[25.4018438,36.3519448],[25.401786,36.3520987],[25.4015874,36.3522092],[25.4013536,36.352843],[25.4009549,36.3536049],[25.4005449,36.3537359],[25.4003476,36.3539185],[25.400126,36.3539932],[25.4000635,36.3542373],[25.399737,36.3546739],[25.3995452,36.3551629],[25.3995586,36.3552889],[25.3993956,36.3555252],[25.3990494,36.3554842],[25.398749,36.3556297],[25.3985183,36.3558127],[25.3984433,36.3559849],[25.3987748,36.3564497],[25.3987806,36.3566525],[25.3990413,36.3570145],[25.3990494,36.3572759],[25.3984755,36.3575891],[25.397853,36.3576775],[25.3974515,36.3576642],[25.3972115,36.3577188],[25.396592,36.3578973],[25.3967954,36.3580572],[25.396752,36.3581208],[25.3968406,36.3583226],[25.3968409,36.3584984],[25.3969205,36.3585876],[25.396549,36.3589255],[25.3958714,36.3590506],[25.3955671,36.3594868],[25.3953691,36.3596334],[25.3953874,36.3600321],[25.3955114,36.3603461],[25.3955188,36.3607607]]},{"id":16703,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0391\u03ba\u03c1\u03c9\u03c4\u03ae\u03c1\u03b9-\u0392\u03bb\u03c5\u03c7\u03ac\u03b4\u03b1","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 13: \u03bf\u03b9\u03ba\u03b9\u03c3\u03bc\u03cc\u03c2 \u0391\u03ba\u03c1\u03c9\u03c4\u03ae\u03c1\u03b9-\u0392\u03bb\u03c5\u03c7\u03ac\u03b4\u03b1","path":"ISLANDS\/Islands_Santorini_Path_13","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":5132,"name_EN":"Santorini Isl: Akrotiri-Vlychada","description_EN":"Trail 13: Akrotiri village-Vlychada","ascent_time":95,"descent_time":100,"marker":"No_marks","level":13,"ascent":57,"descent":117,"maxelev":102,"minelev":2,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.4034 36.33835,25.43273 36.35968)","views":21,"millestones":"0,25.4034028,36.3596745#1,25.4125448,36.3547424#2,25.4217027,36.3569555#3,25.4259629,36.3526901#4,25.4249474,36.3456715#5.1,25.4327291,36.3383496","x":25.4263299,"y":36.3546478,"coor":[[25.4034028,36.3596745],[25.404318,36.3592423],[25.4052435,36.3586094],[25.4064143,36.3579444],[25.4075694,36.3577234],[25.4083719,36.35711],[25.4095098,36.3565557],[25.4103016,36.3559694],[25.4109889,36.355763],[25.411253,36.3555796],[25.4116512,36.3554126],[25.4126285,36.3546799],[25.4129691,36.3546421],[25.4133053,36.3547463],[25.4133166,36.3556048],[25.4136979,36.3560059],[25.4142819,36.3562514],[25.4156162,36.3560823],[25.4169697,36.3557418],[25.4176184,36.3558693],[25.4189539,36.3563087],[25.4196035,36.3564813],[25.4200898,36.3568361],[25.4205835,36.3568662],[25.42116,36.3566971],[25.4214058,36.3567303],[25.4223212,36.3574315],[25.422503,36.3577719],[25.4256222,36.3576198],[25.4254924,36.3573013],[25.4251752,36.3554909],[25.4263299,36.3546478],[25.4262367,36.3532427],[25.4258199,36.3523822],[25.425788,36.3518598],[25.425539,36.3510334],[25.4252663,36.3507482],[25.4251044,36.3504256],[25.4244879,36.3501896],[25.4245249,36.3497745],[25.4244387,36.3493248],[25.4246124,36.3490703],[25.424325,36.3485869],[25.4242013,36.348336],[25.4244824,36.3478639],[25.424447,36.3471431],[25.4248804,36.3470749],[25.4251992,36.3468367],[25.4248777,36.3466602],[25.424626,36.3469156],[25.4244476,36.3469087],[25.4243903,36.3468193],[25.4248391,36.3457682],[25.4251462,36.3454941],[25.4251516,36.3451425],[25.4249366,36.3449648],[25.4256279,36.344605],[25.4262531,36.3440566],[25.4270026,36.3436871],[25.4287853,36.3424579],[25.4324764,36.3383571],[25.4327291,36.3383496]]},{"id":16704,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0395\u03bc\u03c0\u03bf\u03c1\u03b5\u03af\u03bf-\u03a0\u03cd\u03c1\u03b3\u03bf\u03c2","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 2: \u0395\u03bc\u03c0\u03bf\u03c1\u03b5\u03af\u03bf-\u03a0\u03cd\u03c1\u03b3\u03bf\u03c2","path":"ISLANDS\/Islands_Santorini_Path_2","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":5,"length":2693,"name_EN":"Santorini Isl: Emborio-Pyrgos","description_EN":"Trail 2: Emborio-Pyrgos","ascent_time":70,"descent_time":55,"marker":"No_marks","level":13,"ascent":268,"descent":28,"maxelev":327,"minelev":77,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.44463 36.35678,25.45155 36.37632)","views":15,"millestones":"0,25.4442730,36.3569000#1,25.4476436,36.3637185#2,25.4506981,36.3704978#2.7,25.4516352,36.3762347","x":25.4476648,"y":36.3642531,"coor":[[25.444273,36.3569],[25.4448114,36.3568642],[25.444841,36.3572605],[25.4448542,36.3574812],[25.4448703,36.3577874],[25.4448978,36.3580688],[25.4452831,36.3580011],[25.4454981,36.3580638],[25.4457033,36.3580839],[25.4459497,36.358153],[25.4460785,36.358485],[25.4461539,36.3586869],[25.4461589,36.3587296],[25.446353,36.3589797],[25.4465175,36.3588695],[25.4466202,36.3590035],[25.4467747,36.3589205],[25.4470025,36.3592603],[25.4469954,36.3594001],[25.4467076,36.3598836],[25.4466792,36.3601544],[25.446907,36.3606452],[25.4469444,36.3607484],[25.4469802,36.3608359],[25.4473255,36.3611652],[25.4473452,36.3615143],[25.4473973,36.3616962],[25.4475332,36.3618117],[25.4475241,36.36192],[25.4474478,36.362241],[25.4474543,36.3625925],[25.4474734,36.3628356],[25.4476834,36.3639419],[25.4476648,36.3642531],[25.4474201,36.3642831],[25.447249,36.3640688],[25.4468632,36.3642988],[25.4469482,36.3646764],[25.4465682,36.3652219],[25.4466571,36.3653966],[25.4467957,36.3662603],[25.4474286,36.3667304],[25.4479529,36.3673551],[25.4481551,36.3674428],[25.4484304,36.3678631],[25.4485968,36.36842],[25.4487955,36.3685776],[25.4490852,36.3685741],[25.4492201,36.3686355],[25.4493016,36.3688239],[25.4492902,36.3689615],[25.4494845,36.3692205],[25.4496986,36.3693441],[25.4501221,36.369943],[25.4502565,36.3699774],[25.4505057,36.3701907],[25.4511144,36.3711569],[25.4513037,36.3716324],[25.4514565,36.3726582],[25.451594,36.3728571],[25.4516368,36.3733613],[25.4518723,36.3740346],[25.4517041,36.3751815],[25.4517871,36.3754509],[25.4517952,36.3759984],[25.4516352,36.3762347]]},{"id":16705,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039a\u03b1\u03bc\u03ac\u03c1\u03b9-\u03a3\u03b5\u03bb\u03bf\u03cd\u03b4\u03b1-\u03a0\u03b5\u03c1\u03af\u03c3\u03c3\u03b1","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 3","path":"ISLANDS\/Islands_Santorini_Path_3","activity_type":32,"assistance":3,"difficulty":2,"scenic_value":5,"length":3268,"name_EN":"Santorini Isl: Kamari-Selouda-Perissa","description_EN":"Trail 3","ascent_time":75,"descent_time":75,"marker":"No_marks","level":9,"ascent":262,"descent":277,"maxelev":274,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.47172 36.35592,25.47907 36.37285)","views":22,"millestones":"0,25.4791070,36.3727562#1,25.4745641,36.3697530#2,25.4740754,36.3624385#3.3,25.4752523,36.3559716","x":25.4739089,"y":36.3668799,"coor":[[25.479107,36.3727562],[25.4792805,36.3725016],[25.4793743,36.3721579],[25.4793136,36.3718972],[25.4783521,36.371375],[25.4783137,36.371371],[25.4776946,36.3711646],[25.4775342,36.3709322],[25.4773222,36.3709934],[25.4769702,36.371169],[25.4767701,36.3713833],[25.47681,36.3717254],[25.4765861,36.3716741],[25.476566,36.3717915],[25.476374,36.3716587],[25.4761917,36.3720395],[25.4758717,36.3716198],[25.4757774,36.3719365],[25.4756764,36.3719017],[25.4754933,36.3716515],[25.4753734,36.3717972],[25.4753265,36.3716716],[25.4752502,36.3717627],[25.4752042,36.3716911],[25.4751506,36.3718],[25.4747875,36.3714619],[25.4747631,36.371354],[25.4746959,36.3713368],[25.4747169,36.3712645],[25.4749146,36.3711088],[25.4747802,36.3710744],[25.4749422,36.370802],[25.4749704,36.3705222],[25.4746286,36.3701297],[25.4745412,36.369635],[25.4742647,36.3691607],[25.4744297,36.3690414],[25.474313,36.3687634],[25.474422,36.3686359],[25.4741958,36.3684584],[25.4741689,36.3682536],[25.4741353,36.368245],[25.4740829,36.3681984],[25.4740783,36.367955],[25.4742054,36.3676019],[25.4742834,36.3674928],[25.4741869,36.3674354],[25.4740959,36.3673373],[25.4742442,36.3669298],[25.4739209,36.3669248],[25.4739089,36.3668799],[25.4737074,36.3667224],[25.4736841,36.3666686],[25.4742415,36.3660848],[25.4744427,36.3655234],[25.4742505,36.3647866],[25.4743572,36.3645329],[25.47474,36.3641495],[25.4746794,36.3638888],[25.4748054,36.3634816],[25.4747448,36.3632953],[25.4745481,36.3629101],[25.474519,36.3629556],[25.4744235,36.363101],[25.4742864,36.3629224],[25.4743147,36.3626516],[25.4742154,36.3627069],[25.4740418,36.3623665],[25.4736455,36.3620379],[25.4735763,36.3619125],[25.4736485,36.3616051],[25.4738447,36.3613683],[25.4736804,36.3614132],[25.4737015,36.3613498],[25.4735013,36.3613703],[25.4737096,36.3611875],[25.4731974,36.3612118],[25.4726706,36.361056],[25.4725671,36.3611069],[25.4722416,36.3609847],[25.4720974,36.3610225],[25.4720069,36.3609515],[25.4717732,36.3609724],[25.4714945,36.3610412],[25.4715137,36.3609148],[25.4715293,36.3608154],[25.4718726,36.3601081],[25.4721365,36.3599155],[25.4725237,36.3597665],[25.4729441,36.3595247],[25.4739156,36.359035],[25.4742885,36.3587149],[25.4746296,36.3578903],[25.4755135,36.3574828],[25.4755124,36.3574287],[25.4755957,36.3574097],[25.4758235,36.3570823],[25.4758215,36.3569742],[25.4752798,36.3560253],[25.4752523,36.3559716]]},{"id":16706,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a0\u03cd\u03c1\u03b3\u03bf\u03c2-\u039c\u03ad\u03c3\u03b1 \u0393\u03c9\u03bd\u03b9\u03ac","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 4: \u03a3\u03c4\u03bf\u03bd \u0391\u03b3\u03b9\u03ce\u03c1\u03b3\u03b7 \u039a\u03b1\u03c4\u03b5\u03c6\u03b9\u03cc \u03ba\u03b1\u03b9 \u03c4\u03b7\u03bd \u0395\u03c0\u03b9\u03c3\u03ba\u03bf\u03c0\u03ae","path":"ISLANDS\/Islands_Santorini_Path_4","activity_type":32,"assistance":3,"difficulty":2,"scenic_value":4,"length":2660,"name_EN":"Santorini Isl: Pyrgos-Mesa Gonia","description_EN":"Trail 4: To Agiorgis Katefios and Episkopi","ascent_time":60,"descent_time":65,"marker":"No_marks","level":13,"ascent":44,"descent":277,"maxelev":371,"minelev":76,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.45179 36.37216,25.46443 36.38452)","views":6,"millestones":"0,25.4516352,36.3762347#1,25.4592047,36.3739297#2,25.4614908,36.3803944#2.7,25.4646594,36.3843600","x":25.4599471,"y":36.3746393,"coor":[[25.4516352,36.3762347],[25.4517353,36.3762245],[25.4526891,36.375663],[25.453229,36.3753229],[25.4533439,36.3749069],[25.4531906,36.3746811],[25.4532334,36.3745837],[25.4535996,36.3744981],[25.4536422,36.3743894],[25.4540505,36.3741681],[25.4543267,36.3734345],[25.4545261,36.373369],[25.4551864,36.3729102],[25.4558622,36.3726857],[25.4565905,36.3722531],[25.4577479,36.3727889],[25.4580583,36.372882],[25.4581285,36.3730614],[25.4582498,36.3733642],[25.458673,36.3734537],[25.4590295,36.3738144],[25.45956,36.3741662],[25.4596852,36.3743427],[25.4598088,36.3743976],[25.4599471,36.3746393],[25.4601937,36.3747084],[25.4601736,36.3747898],[25.4604636,36.3750228],[25.4602986,36.375142],[25.4602774,36.3752753],[25.4604037,36.375472],[25.4607762,36.3757199],[25.4623826,36.3763763],[25.4627662,36.3767322],[25.4633344,36.3779061],[25.463648,36.3783215],[25.4633237,36.3785238],[25.4628733,36.3788087],[25.4618802,36.3794271],[25.4615404,36.3800735],[25.4612216,36.3821711],[25.4613754,36.3825726],[25.4615843,36.3830117],[25.4616424,36.3831012],[25.4619759,36.3832751],[25.462481,36.3834582],[25.4632042,36.3839722],[25.4646594,36.38436]]},{"id":16707,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039a\u03c5\u03ba\u03bb\u03b9\u03ba\u03ae \u03c0\u03bf\u03c1\u03b5\u03af\u03b1 \u03a0\u03cd\u03c1\u03b3\u03bf\u03c2-\u0388\u03be\u03c9 \u0393\u03c9\u03bd\u03b9\u03ac","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 5: \u03a0\u03cd\u03c1\u03b3\u03bf\u03c2-\u039c\u03ad\u03c3\u03b1 \u0393\u03c9\u03bd\u03b9\u03ac-\u0388\u03be\u03c9 \u0393\u03c9\u03bd\u03b9\u03ac-\u03a0\u03cd\u03c1\u03b3\u03bf\u03c2","path":"ISLANDS\/Islands_Santorini_Path_5","activity_type":32,"assistance":2,"difficulty":2,"scenic_value":5,"length":3726,"name_EN":"Santorini Isl: Pyrgos-Exo Gonia loop trail","description_EN":"Trail 5: Pyrgos-Mesa Gonia-Exo Gonia-Pyrgos","ascent_time":85,"descent_time":85,"marker":"No_marks","level":13,"ascent":258,"descent":258,"maxelev":342,"minelev":90,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.44942 36.37974,25.46191 36.38821)","views":6,"millestones":"0,25.4493495,36.3822954#1,25.4560994,36.3819269#2,25.4607930,36.3854445#3,25.4538484,36.3859944#3.7,25.4493552,36.3822976","x":25.4588261,"y":36.3863875,"coor":[[25.4493495,36.3822954],[25.4493955,36.3822205],[25.4493096,36.3820953],[25.449433,36.3821772],[25.4496654,36.3816673],[25.4496921,36.3816039],[25.4497648,36.3814318],[25.4498836,36.3810359],[25.4501375,36.3808638],[25.4502359,36.3807973],[25.4503804,36.3809645],[25.4503182,36.3804267],[25.4503183,36.3799827],[25.4503069,36.3798927],[25.4505561,36.3798807],[25.4507161,36.3799418],[25.4511826,36.3802269],[25.4514744,36.3803315],[25.4515777,36.3804925],[25.4521576,36.3807243],[25.4521009,36.3806349],[25.4521441,36.3805983],[25.4526676,36.3805739],[25.4528258,36.3806892],[25.4539255,36.3810724],[25.4541742,36.3812587],[25.45429,36.3814917],[25.4551796,36.3819676],[25.4559466,36.3818501],[25.4560776,36.3817764],[25.4561248,36.3818389],[25.4560396,36.3821284],[25.4563743,36.3825165],[25.456502,36.382898],[25.4565596,36.3829965],[25.4569753,36.3831717],[25.4576501,36.3834114],[25.4579896,36.3836438],[25.4580593,36.3837196],[25.4580222,36.3834519],[25.4581428,36.3834887],[25.4585063,36.383295],[25.4590031,36.3835143],[25.4597427,36.3833475],[25.4601935,36.3833059],[25.4606929,36.3833742],[25.4613708,36.3832217],[25.4616431,36.3830989],[25.4619766,36.3832751],[25.4619056,36.383614],[25.4617336,36.3839542],[25.4617562,36.384008],[25.4616926,36.38418],[25.4617635,36.3843955],[25.4615372,36.3850022],[25.4613473,36.3849415],[25.4611529,36.3852774],[25.4607219,36.385481],[25.4607376,36.3860216],[25.4598842,36.3862935],[25.4588261,36.3863875],[25.4585262,36.3864453],[25.4582681,36.3863583],[25.4580239,36.3864154],[25.4577094,36.386888],[25.4577732,36.3870224],[25.4576061,36.3870289],[25.4576122,36.3873534],[25.4574396,36.3873285],[25.4573702,36.3875299],[25.4573165,36.3876387],[25.4573763,36.3878566],[25.457379,36.3881112],[25.4570863,36.3881125],[25.4569415,36.3878596],[25.4567476,36.3877358],[25.4567111,36.3877205],[25.4564147,36.3874086],[25.4560768,36.3873023],[25.455771,36.3873443],[25.4556541,36.3873863],[25.4555557,36.3871576],[25.4554095,36.3870873],[25.4551476,36.3870206],[25.455009,36.3867609],[25.4545838,36.3866804],[25.4543079,36.3865305],[25.4543642,36.3863338],[25.4525917,36.3851474],[25.4527125,36.3850874],[25.4524709,36.385061],[25.4523089,36.3849638],[25.4524036,36.3848477],[25.4521259,36.3846798],[25.4519826,36.3844652],[25.4517792,36.3842085],[25.4518256,36.3841201],[25.4516571,36.3839756],[25.4515887,36.3839697],[25.4515604,36.3836455],[25.4514591,36.3833313],[25.4511774,36.3828727],[25.4511255,36.3827764],[25.4510193,36.3827236],[25.4510209,36.3826222],[25.4511687,36.382404],[25.4509735,36.3823208],[25.4507592,36.3823031],[25.4506664,36.382329],[25.4505975,36.38226],[25.4503126,36.3823378],[25.4502347,36.3825326],[25.4501546,36.3824997],[25.4500571,36.382537],[25.4498198,36.3827788],[25.4496438,36.3827223],[25.4495959,36.3826575],[25.4496536,36.3826095],[25.4494961,36.3825325],[25.4493724,36.3823267],[25.4493552,36.3822976]]},{"id":16708,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039c\u03b5\u03b3\u03b1\u03bb\u03bf\u03c7\u03ce\u03c1\u03b9-\u03a0\u03cd\u03c1\u03b3\u03bf\u03c2","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 6: \u0391\u03c0\u03cc \u03c4\u03bf \u039c\u03b5\u03b3\u03b1\u03bb\u03bf\u03c7\u03ce\u03c1\u03b9 \u03c3\u03c4\u03bf\u03bd \u03a0\u03cd\u03c1\u03b3\u03bf","path":"ISLANDS\/Islands_Santorini_Path_6","activity_type":32,"assistance":3,"difficulty":1,"scenic_value":3,"length":2647,"name_EN":"Santorini Isl: Megalochori-Pyrgos","description_EN":"Trail 6: From Megalochori to Pyrgos","ascent_time":50,"descent_time":50,"marker":"No_marks","level":13,"ascent":131,"descent":32,"maxelev":316,"minelev":199,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.42989 36.37563,25.44923 36.3841)","views":13,"millestones":"0,25.4297666,36.3772647#1,25.4347450,36.3785690#2,25.4430865,36.3826405#2.6,25.4493531,36.3823021","x":25.4349802,"y":36.3793116,"coor":[[25.4297666,36.3772647],[25.430124,36.3771838],[25.4303171,36.3773798],[25.4307383,36.3772486],[25.431251,36.3772469],[25.4312703,36.37708],[25.43115,36.3766374],[25.4312447,36.3763298],[25.431539,36.3760401],[25.431853,36.375838],[25.4318823,36.3760337],[25.4320538,36.376266],[25.4321043,36.3764727],[25.4321742,36.3767514],[25.4321688,36.3770669],[25.4321681,36.3772946],[25.4322832,36.3774937],[25.4323038,36.3775138],[25.4325319,36.377795],[25.4327099,36.3777748],[25.4328548,36.3776965],[25.4330458,36.3777753],[25.4334252,36.3777978],[25.4335397,36.3774313],[25.4336872,36.3771524],[25.4336977,36.3769697],[25.43401,36.376975],[25.4341227,36.3770457],[25.4342732,36.3771206],[25.4347508,36.3776286],[25.4349083,36.3777079],[25.4348835,36.3777983],[25.434614,36.3779571],[25.4345411,36.3782374],[25.4345772,36.3783812],[25.4348049,36.3786399],[25.4348884,36.3790513],[25.4349802,36.3793116],[25.4352158,36.3791623],[25.4359183,36.3791719],[25.436147,36.3794846],[25.4364165,36.3795896],[25.4369857,36.3796278],[25.4375739,36.3794855],[25.4377581,36.3795329],[25.4377765,36.3799293],[25.4379477,36.3801436],[25.4388418,36.380268],[25.4390111,36.3803448],[25.4392731,36.3806482],[25.4397366,36.3809942],[25.4400502,36.3810715],[25.4405983,36.381288],[25.441076,36.3819133],[25.4419623,36.3822181],[25.442424,36.3824649],[25.442814,36.3825323],[25.4431958,36.3826809],[25.4437144,36.3829902],[25.4441058,36.3830576],[25.4445323,36.3832147],[25.4449268,36.3833293],[25.4454079,36.3834227],[25.4459013,36.383277],[25.4460853,36.3835812],[25.4460293,36.3839064],[25.4463001,36.3837454],[25.4469079,36.3833775],[25.4481266,36.382743],[25.4485112,36.3825895],[25.4487424,36.3825079],[25.4491211,36.3823771],[25.449191,36.3823492],[25.4492222,36.3823398],[25.4493531,36.3823021]]},{"id":16709,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039c\u03b5\u03b3\u03b1\u03bb\u03bf\u03c7\u03ce\u03c1\u03b9-\u039b\u03bf\u03c5\u03c4\u03c1\u03ac \u03a0\u03bb\u03ac\u03ba\u03b1\u03c2","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 7: \u039c\u03b5\u03b3\u03b1\u03bb\u03bf\u03c7\u03ce\u03c1\u03b9-\u039b\u03bf\u03c5\u03c4\u03c1\u03ac","path":"ISLANDS\/Islands_Santorini_Path_7","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":4,"length":1428,"name_EN":"Santorini Isl: Megalochori-Loutra","description_EN":"Trail 7: Megalochori-Loutra Plakas","ascent_time":30,"descent_time":35,"marker":"No_marks","level":13,"ascent":6,"descent":213,"maxelev":222,"minelev":7,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.42318 36.37532,25.42973 36.37787)","views":14,"millestones":"0,25.4297666,36.3772647#1,25.4243055,36.3766677#1.4,25.4235292,36.3776683","x":25.4238061,"y":36.3759229,"coor":[[25.4297666,36.3772647],[25.4292146,36.3773299],[25.4290517,36.3775663],[25.4284299,36.3776999],[25.428186,36.377811],[25.4280596,36.3777178],[25.4279796,36.3776106],[25.4278075,36.3773445],[25.4274443,36.3769883],[25.427389,36.376403],[25.42717,36.376009],[25.4266519,36.3757177],[25.426425,36.375504],[25.4259989,36.3753649],[25.4257245,36.3753727],[25.4255658,36.3754174],[25.4247727,36.3756319],[25.4245947,36.3756521],[25.4246411,36.3757507],[25.4244624,36.3757348],[25.4244277,36.3756631],[25.424429,36.3757352],[25.4243608,36.3756639],[25.4243372,36.3757092],[25.4243604,36.375754],[25.4242043,36.3757559],[25.4241942,36.3758101],[25.424037,36.3757489],[25.4239508,36.3759122],[25.4239862,36.3760199],[25.4238061,36.3759229],[25.4237749,36.3760495],[25.4236963,36.3760144],[25.4236753,36.3760867],[25.4235632,36.376052],[25.423408,36.3760989],[25.423377,36.3762345],[25.4235917,36.3763942],[25.4234585,36.3764228],[25.4234483,36.3764771],[25.4237159,36.3764829],[25.424098,36.3766496],[25.4246562,36.376697],[25.4250016,36.3766839],[25.4250788,36.3766379],[25.4249811,36.3767833],[25.424836,36.376776],[25.4244592,36.3768977],[25.4245293,36.3769555],[25.4242395,36.3769589],[25.4238632,36.3771076],[25.4233792,36.3770818],[25.4235365,36.3771521],[25.4232591,36.3772185],[25.4232153,36.3772641],[25.4232717,36.3772995],[25.4231725,36.3773638],[25.423475,36.3775202],[25.4233736,36.37758],[25.4235292,36.3776683]]},{"id":16710,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a0\u03cd\u03c1\u03b3\u03bf\u03c2-\u0392\u03cc\u03b8\u03c9\u03bd\u03b1\u03c2","description_GR":"\u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 8: \u039a\u03b1\u03c4\u03ac\u03b2\u03b1\u03c3\u03b7 \u03b1\u03c0\u03cc \u03c4\u03bf\u03bd \u03a0\u03cd\u03c1\u03b3\u03bf \u03c3\u03c4\u03bf\u03bd \u0392\u03cc\u03b8\u03c9\u03bd\u03b1","path":"ISLANDS\/Islands_Santorini_Path_8","activity_type":32,"assistance":3,"difficulty":2,"scenic_value":3,"length":1285,"name_EN":"Santorini Isl: Pyrgos-Vothonas","description_EN":"Trail 8: The old path from Pyrgos to Vothonas","ascent_time":45,"descent_time":50,"marker":"No_marks","level":13,"ascent":42,"descent":212,"maxelev":350,"minelev":143,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.44959 36.38226,25.45193 36.39639)","views":11,"millestones":"0,25.4493481,36.3822954#1,25.4506563,36.3893502#1.3,25.4507336,36.3963705","x":25.4504843,"y":36.388247,"coor":[[25.4493481,36.3822954],[25.4493724,36.3823267],[25.4494989,36.3825325],[25.4496572,36.382614],[25.4495925,36.3826598],[25.4496418,36.3827268],[25.4494206,36.3828197],[25.4495324,36.3830234],[25.4496204,36.3830381],[25.4498,36.3831396],[25.4494736,36.3831255],[25.4494088,36.3831601],[25.4494189,36.3831803],[25.4493497,36.3832825],[25.4493859,36.3834263],[25.4496098,36.3834777],[25.4496325,36.3835765],[25.4497455,36.3836563],[25.4494901,36.3837135],[25.4494487,36.3838853],[25.449551,36.3839922],[25.4494315,36.3841559],[25.4494787,36.3842996],[25.4496297,36.384478],[25.4494377,36.3848319],[25.4498467,36.3850523],[25.4502015,36.3855145],[25.4502286,36.3858838],[25.450306,36.3859234],[25.4502877,36.38614],[25.4505163,36.3864437],[25.4505234,36.3869371],[25.4506548,36.3871091],[25.4507544,36.38718],[25.4505762,36.3871912],[25.4505905,36.3873623],[25.4504507,36.3876344],[25.4505224,36.3878949],[25.450291,36.388042],[25.4504843,36.388247],[25.450399,36.3884553],[25.4504388,36.3887974],[25.4506348,36.3891466],[25.4506617,36.3893897],[25.4506412,36.3894891],[25.4503987,36.3896362],[25.4503473,36.3898712],[25.4503974,36.3901681],[25.4505578,36.3904005],[25.4503149,36.3905297],[25.4503736,36.3912862],[25.4502202,36.3914323],[25.450329,36.3917014],[25.4506009,36.3919325],[25.4506547,36.3924276],[25.4507239,36.3925124],[25.4509489,36.392548],[25.4510364,36.3928692],[25.4511869,36.3931648],[25.4511767,36.3934805],[25.4514064,36.3938383],[25.4515432,36.3939245],[25.4518259,36.3941374],[25.4520321,36.3944324],[25.4520339,36.3945315],[25.4518959,36.3946819],[25.4521643,36.3949491],[25.4520332,36.3950949],[25.4519975,36.3951584],[25.4518317,36.3954602],[25.4515876,36.3955263],[25.4513786,36.395682],[25.4510863,36.3955504],[25.450601,36.3954977],[25.4505273,36.395733],[25.4506321,36.3959751],[25.4506527,36.3962182],[25.4507336,36.3963705]]},{"id":16711,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0391\u03c0\u03cc \u03c4\u03b1 \u03a6\u03b7\u03c1\u03ac \u03c3\u03c4\u03b7\u03bd \u039f\u03af\u03b1","description_GR":"\u0397 \u0394\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae 9","path":"ISLANDS\/Islands_Santorini_Path_9","activity_type":32,"assistance":3,"difficulty":2,"scenic_value":5,"length":10163,"name_EN":"Santorini Isl: Across the caldera, from Fira to Oia","description_EN":"Across the caldera, from Fira to Oia","ascent_time":235,"descent_time":235,"marker":"Red_dots","level":12,"ascent":380,"descent":465,"maxelev":336,"minelev":130,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.37419 36.41827,25.43232 36.46405)","views":47,"millestones":"0,25.4323244,36.4182815#1,25.4287193,36.4250132#2,25.4233590,36.4318840#3,25.4236067,36.4387877#4,25.4255681,36.4470591#5,25.4218504,36.4549346#6,25.4153614,36.4613049#7,25.4059266,36.4625312#8,25.3957533,36.4603636#9,25.3852129,36.4621406#10.2,25.3741644,36.4624171","x":25.423483,"y":36.4533587,"coor":[[25.4323244,36.4182815],[25.4318915,36.4182822],[25.4317827,36.418279],[25.4316236,36.4188398],[25.4316206,36.4188646],[25.4315676,36.4193204],[25.4311556,36.4201547],[25.4311235,36.4202272],[25.430888,36.4201579],[25.4307971,36.4201432],[25.4304083,36.4201186],[25.4302454,36.4201701],[25.4302704,36.4203141],[25.4298524,36.4206729],[25.4291984,36.421501],[25.4290449,36.4215322],[25.4286431,36.4215189],[25.4283025,36.4218025],[25.4282858,36.4221092],[25.4283587,36.4224328],[25.4282525,36.4227225],[25.4282779,36.4228935],[25.4281951,36.4232461],[25.4281604,36.4237873],[25.4282185,36.4239129],[25.4283673,36.4240846],[25.4284017,36.4241338],[25.4284821,36.424259],[25.4285341,36.424664],[25.4286727,36.4249238],[25.4287623,36.4250962],[25.4287653,36.4251458],[25.4287598,36.4262163],[25.4287789,36.4264212],[25.4287826,36.4264707],[25.4287253,36.4269942],[25.4282994,36.4274951],[25.4281276,36.4276662],[25.4279285,36.4277587],[25.4274873,36.4283004],[25.4272476,36.4286097],[25.4265531,36.4290597],[25.4263268,36.4292675],[25.4263132,36.4293646],[25.4264176,36.4295414],[25.4261911,36.4299677],[25.4260196,36.4303484],[25.4250872,36.4312159],[25.4245581,36.4315625],[25.4238374,36.4319925],[25.4235021,36.4319605],[25.4233893,36.4318897],[25.4230906,36.4318347],[25.4228513,36.4319029],[25.4224232,36.431944],[25.4221992,36.4318926],[25.421792,36.432195],[25.421608,36.4323143],[25.4214792,36.4325953],[25.4213277,36.4328495],[25.4213334,36.433165],[25.4212213,36.4335517],[25.4210138,36.4337975],[25.4208873,36.4342047],[25.4209341,36.4343213],[25.4211972,36.4345638],[25.4213215,36.4352271],[25.4216669,36.4355859],[25.4217318,36.4357],[25.4217054,36.436088],[25.4218553,36.4363566],[25.4219195,36.4368156],[25.4221667,36.4369884],[25.4225559,36.4371145],[25.4226419,36.4372757],[25.4226268,36.4376725],[25.4227201,36.4378968],[25.4233123,36.4385568],[25.4236972,36.4388587],[25.4240412,36.4393684],[25.4245559,36.4398333],[25.4247721,36.4400651],[25.4249645,36.4405563],[25.4250993,36.4408725],[25.4252219,36.4414772],[25.4256962,36.4424],[25.4256628,36.4430134],[25.4257188,36.4433305],[25.4257408,36.4439252],[25.4263208,36.4451352],[25.4262809,36.4461881],[25.4262072,36.4464324],[25.425745,36.4467805],[25.4253666,36.4473687],[25.4250357,36.4475799],[25.4247521,36.4479349],[25.4244211,36.4491287],[25.4243929,36.4495325],[25.4244212,36.4504696],[25.4240891,36.4512218],[25.4241501,36.4515095],[25.4241766,36.4516219],[25.4242362,36.4519096],[25.4243879,36.4522684],[25.4243688,36.4524489],[25.4241645,36.452866],[25.4238962,36.4531059],[25.423756,36.4531841],[25.423483,36.4533587],[25.423284,36.4534602],[25.4231111,36.4537688],[25.4227726,36.4539824],[25.4219409,36.4548757],[25.4215563,36.4551259],[25.4214401,36.4554879],[25.4211353,36.4559062],[25.4208608,36.4561528],[25.4208075,36.4562887],[25.4208771,36.4564321],[25.4205724,36.4568594],[25.4207214,36.457074],[25.4205452,36.4570896],[25.4196619,36.4570325],[25.4195989,36.4572496],[25.4192512,36.4574543],[25.4189246,36.457981],[25.418572,36.4582286],[25.4173434,36.459397],[25.4170701,36.4597068],[25.4169832,36.4599895],[25.4155217,36.4612801],[25.4153325,36.4613094],[25.415234,36.4613782],[25.414266,36.4621469],[25.4136732,36.4628052],[25.413396,36.4629076],[25.4131171,36.4629109],[25.4126505,36.4630246],[25.4117032,36.4630989],[25.4109927,36.4633057],[25.4105057,36.4635278],[25.4101388,36.4636042],[25.4096372,36.4636372],[25.4094097,36.4635542],[25.4090642,36.4634276],[25.4082505,36.4635544],[25.4080544,36.463124],[25.4071064,36.4625402],[25.4066026,36.462456],[25.4058787,36.4625367],[25.4054977,36.462451],[25.4048493,36.4623865],[25.4043252,36.4624107],[25.4038996,36.4623256],[25.4037434,36.4623274],[25.4036561,36.4624366],[25.4027112,36.4620241],[25.4024873,36.4619816],[25.4020984,36.4619975],[25.4019058,36.4618375],[25.4008357,36.4617531],[25.4002382,36.4614176],[25.3999423,36.4610966],[25.3996278,36.4609831],[25.3994348,36.460805],[25.3984727,36.4606721],[25.3979199,36.460336],[25.3972515,36.4602447],[25.3971054,36.4601923],[25.3962255,36.4602837],[25.3948237,36.4605255],[25.3942991,36.4605226],[25.3941848,36.4604473],[25.3930898,36.46037],[25.3917072,36.4606317],[25.3911084,36.460846],[25.3905392,36.4608437],[25.3898567,36.4607434],[25.3895504,36.4609341],[25.3892396,36.4610278],[25.3892044,36.4611251],[25.3890139,36.4611228],[25.3886312,36.4611318],[25.387877,36.461393],[25.3876232,36.4615582],[25.3872007,36.4616442],[25.3861579,36.461875],[25.3858813,36.4620134],[25.3854803,36.4620541],[25.3851918,36.4621476],[25.3849908,36.4621409],[25.3849707,36.4621862],[25.3843774,36.4620849],[25.3843299,36.462081],[25.3838597,36.4620323],[25.3828731,36.4620573],[25.3826392,36.462078],[25.382417,36.4620986],[25.3815821,36.4622165],[25.3810601,36.4623577],[25.380781,36.4623519],[25.3792126,36.4620884],[25.3788456,36.4620814],[25.3778956,36.4620022],[25.3771808,36.4619338],[25.3770239,36.4619311],[25.3769547,36.4619229],[25.3764125,36.4618322],[25.3759509,36.4616032],[25.3755709,36.4615715],[25.3751936,36.4615714],[25.3746423,36.4615597],[25.3744787,36.4615345],[25.3744267,36.4617515],[25.3744039,36.4618013],[25.3742639,36.4620914],[25.3741644,36.4624171]]},{"id":17696,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0398\u03ad\u03c1\u03bc\u03b7-\u03c0\u03b1\u03c1\u03b1\u03bb\u03af\u03b1 \u03a7\u03c1\u03b9\u03c3\u03c4\u03cc\u03c2","description_GR":"\u0394\u03cd\u03c3\u03b2\u03b1\u03c4\u03bf \u03bc\u03bf\u03bd\u03bf\u03c0\u03ac\u03c4\u03b9","path":"ISLANDS\/Islands_Santorini_Thermi_Christos","activity_type":32,"assistance":1,"difficulty":3,"scenic_value":4,"length":831,"name_EN":"Santorini Isl: Thermi-Christos beach","description_EN":"Steep downhill trail","ascent_time":20,"descent_time":20,"marker":"No_marks","level":13,"ascent":2,"descent":147,"maxelev":193,"minelev":43,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.42323 36.37246,25.42613 36.37416)","views":13,"millestones":"0,25.4261599,36.3739590#0.8,25.4231945,36.3724912","x":25.4241723,"y":36.3729302,"coor":[[25.4261599,36.373959],[25.4255207,36.3741288],[25.4253789,36.3736888],[25.4256277,36.3732712],[25.4256898,36.373009],[25.4256193,36.3728116],[25.4253455,36.3724723],[25.4253972,36.3727083],[25.4253088,36.3727476],[25.4254222,36.3728545],[25.4253887,36.3730059],[25.4252134,36.3731702],[25.4249244,36.3732187],[25.4248564,36.3731564],[25.424644,36.3731229],[25.4244901,36.3732419],[25.4241564,36.373282],[25.4241723,36.3729302],[25.4243167,36.3729015],[25.424415,36.3727921],[25.4240802,36.3727691],[25.424101,36.3726877],[25.4238562,36.3727086],[25.4238041,36.3729076],[25.4237221,36.3726922],[25.4237018,36.3728006],[25.4236092,36.3726124],[25.423522,36.3727216],[25.4235092,36.3726316],[25.4234437,36.3727045],[25.4233861,36.3726061],[25.4233425,36.3726607],[25.4234135,36.3728852],[25.4231945,36.3724912]]},{"id":17697,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a0\u03b5\u03c1\u03af\u03c3\u03c3\u03b1-\u03a0\u03b1\u03bd\u03b1\u03b3\u03af\u03b1 \u039a\u03b1\u03c4\u03b5\u03c6\u03b9\u03b1\u03bd\u03ae","description_GR":"\u0395\u03bd\u03c4\u03c0\u03c9\u03c3\u03b9\u03b1\u03ba\u03ae \u03b1\u03bd\u03ac\u03b2\u03b1\u03c3\u03b7 \u03c3\u03c4\u03b7\u03bd \u03a0\u03b5\u03c1\u03af\u03c3\u03c3\u03b1","path":"ISLANDS\/Islands_Santorini_Perisa_Ketefiani","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":5,"length":1233,"name_EN":"Santorini Isl: Perissa-Panagia Ketefiani","description_EN":"An impressive ascent","ascent_time":30,"descent_time":25,"marker":"No_marks","level":9,"ascent":204,"descent":4,"maxelev":205,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.47154 36.35602,25.4758 36.36144)","views":8,"millestones":"0,25.4752805,36.3560253#1.2,25.4750966,36.3608616","x":25.4720083,"y":36.3609515,"coor":[[25.4752805,36.3560253],[25.4758222,36.3569742],[25.4758242,36.3570823],[25.4755964,36.3574096],[25.4755131,36.3574287],[25.4755142,36.3574828],[25.4746303,36.3578903],[25.4742892,36.3587149],[25.4739163,36.359035],[25.4729448,36.3595247],[25.4725251,36.3597665],[25.4721378,36.3599155],[25.471874,36.3601081],[25.4715307,36.3608154],[25.4716444,36.3608276],[25.4717746,36.3609724],[25.4720083,36.3609515],[25.4720988,36.3610225],[25.472243,36.3609847],[25.4725685,36.3611069],[25.4726727,36.361056],[25.4731995,36.3612118],[25.4737117,36.3611874],[25.4735034,36.3613703],[25.4737036,36.3613498],[25.4736825,36.3614132],[25.4738461,36.3613683],[25.4746823,36.3607585],[25.4750486,36.3606819],[25.4750942,36.3607354],[25.4752607,36.3606973],[25.4751475,36.3608249],[25.4750966,36.3608616]]},{"id":17851,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a4\u03b1 \u03c0\u03bf\u03c5\u03bb\u03b9\u03ac \u03c4\u03bf\u03c5 \u03a3\u03ba\u03ac\u03c1\u03bf\u03c5","description_GR":"","path":"NATURE\/Nature_Santorini_Birds_Skaros","activity_type":92,"assistance":2,"difficulty":2,"scenic_value":5,"length":2174,"name_EN":"Santorini: Birding around Skaros","description_EN":"","ascent_time":0,"descent_time":0,"marker":"No_marks","level":13,"ascent":192,"descent":192,"maxelev":336,"minelev":212,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.41665 36.43165,25.42363 36.43311)","views":2,"millestones":"0,25.4233884,36.4329872#1,25.4170210,36.4323833#2.2,25.4233884,36.4329872","x":25.4166358,"y":36.4320669,"coor":[[25.4233884,36.4329872],[25.4235234,36.4325146],[25.4236431,36.4323509],[25.4235073,36.4322444],[25.4234827,36.4321185],[25.4230191,36.4320045],[25.422852,36.4319029],[25.4224246,36.431944],[25.4222006,36.4318926],[25.4217933,36.4321949],[25.4216094,36.4323143],[25.4214806,36.4325953],[25.421172,36.4327973],[25.421169,36.4326351],[25.4208593,36.432783],[25.4206637,36.4330648],[25.420517,36.4329764],[25.4205028,36.4328053],[25.4204258,36.4328693],[25.4203806,36.4328337],[25.4205882,36.4325969],[25.4202995,36.4326725],[25.4201234,36.4328007],[25.4200351,36.4327387],[25.4195186,36.4325555],[25.419084,36.4325787],[25.4189154,36.4325086],[25.4187705,36.4325194],[25.4185323,36.4325673],[25.4180189,36.4325553],[25.4178713,36.4324129],[25.4177612,36.4322249],[25.4175883,36.4325334],[25.41767,36.4327308],[25.4173429,36.4325363],[25.4174135,36.4327338],[25.4173236,36.4326988],[25.4171573,36.432525],[25.4170165,36.4323779],[25.4167912,36.4322544],[25.4166499,36.432229],[25.4166358,36.4320669],[25.4167348,36.4319937],[25.4171832,36.4317269],[25.4175498,36.4317586],[25.4172506,36.4318703],[25.4173628,36.4319051],[25.41723,36.4319607],[25.4172326,36.4321049],[25.4173323,36.4320677],[25.4173682,36.4322025],[25.4176018,36.4321637],[25.4177809,36.4321976],[25.417911,36.432142],[25.4181462,36.4321932],[25.4187705,36.4325194],[25.4189154,36.4325086],[25.419084,36.4325787],[25.4195186,36.4325555],[25.4200351,36.4327387],[25.4201234,36.4328007],[25.4202995,36.4326725],[25.4205882,36.4325969],[25.4203806,36.4328337],[25.4204258,36.4328693],[25.4205028,36.4328053],[25.420517,36.4329764],[25.4206637,36.4330648],[25.4208593,36.432783],[25.421169,36.4326351],[25.421172,36.4327973],[25.4214806,36.4325953],[25.4216094,36.4323143],[25.4217933,36.4321949],[25.4222006,36.4318926],[25.4224246,36.431944],[25.422852,36.4319029],[25.4230191,36.4320045],[25.4234827,36.4321185],[25.4235073,36.4322444],[25.4236431,36.4323509],[25.4235234,36.4325146],[25.4233884,36.4329872]]},{"id":17852,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a4\u03b1 \u03c0\u03bf\u03c5\u03bb\u03b9\u03ac \u03c3\u03c4\u03b7\u03bd \u03a0\u03b5\u03c1\u03af\u03c3\u03c3\u03b1","description_GR":"","path":"NATURE\/Nature_Santorini_Birds_Perissa","activity_type":92,"assistance":1,"difficulty":2,"scenic_value":5,"length":1257,"name_EN":"Santorini: Birding around Perissa","description_EN":"","ascent_time":0,"descent_time":0,"marker":"Red_dots","level":13,"ascent":196,"descent":17,"maxelev":205,"minelev":7,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.4715 36.35743,25.47743 36.36144)","views":4,"millestones":"0,25.4774348,36.3574951#1.3,25.4751482,36.3608249","x":25.4717753,"y":36.3609724,"coor":[[25.4774348,36.3574951],[25.4768387,36.3577999],[25.476572,36.3578393],[25.4761006,36.3576648],[25.4758857,36.3574962],[25.4756174,36.3574545],[25.4755142,36.3574828],[25.4746303,36.3578903],[25.4742892,36.3587149],[25.4739163,36.359035],[25.4729448,36.3595247],[25.4725251,36.3597665],[25.4721378,36.3599155],[25.471874,36.3601081],[25.4715307,36.3608154],[25.4714966,36.3610412],[25.4717753,36.3609724],[25.472009,36.3609515],[25.4720995,36.3610225],[25.4722437,36.3609847],[25.4725692,36.3611069],[25.4726727,36.361056],[25.4731995,36.3612118],[25.4737117,36.3611874],[25.4735034,36.3613703],[25.4737036,36.3613498],[25.4736825,36.3614132],[25.4738468,36.3613683],[25.4746837,36.3607585],[25.47505,36.3606819],[25.4750956,36.3607354],[25.4752621,36.3606973],[25.4751482,36.3608249]]},{"id":17853,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a0\u03b5\u03c4\u03b1\u03bb\u03bf\u03cd\u03b4\u03b5\u03c2 \u03c3\u03c4\u03bf \u0393\u03b1\u03b2\u03c1\u03af\u03bb\u03bf","description_GR":"","path":"NATURE\/Nature_Santorini_Butterflies_Gavrilos","activity_type":95,"assistance":1,"difficulty":1,"scenic_value":4,"length":2022,"name_EN":"Santorini: Butterflies on Gavrilos","description_EN":"","ascent_time":0,"descent_time":0,"marker":"No_marks","level":13,"ascent":8,"descent":120,"maxelev":155,"minelev":28,"link_logo":"","link_ref":"","pdf_link":"","bbox":"LINESTRING(25.43406 36.3379,25.44074 36.34974)","views":24,"millestones":"0,25.4395462,36.3496778#1,25.4403854,36.3420768#2,25.4338422,36.3379847","x":25.4403406,"y":36.3427811,"coor":[[25.4395462,36.3496778],[25.4399548,36.3495872],[25.440756,36.3495235],[25.4408316,36.3493964],[25.4409229,36.3494742],[25.4409563,36.3495076],[25.4408883,36.3488413],[25.4409402,36.3486333],[25.4407574,36.3477882],[25.4408015,36.3475352],[25.4406035,36.3470689],[25.4406454,36.3469241],[25.4405288,36.3466461],[25.4405584,36.3464384],[25.4404043,36.3459354],[25.4403982,36.3455299],[25.440486,36.3454567],[25.4405256,36.3451858],[25.4403351,36.3448996],[25.4403564,36.3436373],[25.4404821,36.3432031],[25.4403406,36.3427811],[25.4406233,36.3423991],[25.4403375,36.3420059],[25.4402174,36.3420254],[25.4400571,36.3417929],[25.4397402,36.3415263],[25.4390093,36.3405616],[25.4389738,36.3404448],[25.4388614,36.3403921],[25.4388692,36.3402117],[25.4385854,36.3399266],[25.4384396,36.3398743],[25.4378177,36.3402153],[25.4367085,36.3410941],[25.4365207,36.3411865],[25.4358869,36.3412572],[25.4356506,36.3410549],[25.4354026,36.3406725],[25.43466,36.339744],[25.4345953,36.3392579],[25.4341311,36.338477],[25.4338422,36.3379847]]},{"id":19249,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0398\u03b7\u03c1\u03b1\u03c3\u03b9\u03ac-\u0391\u03c0\u03cc \u03c4\u03b7 \u03a1\u03af\u03b2\u03b1 \u03c3\u03c4\u03bf \u039c\u03b1\u03bd\u03c9\u03bb\u03ac","description_GR":"\u0394\u03b1\u03b9\u03b4\u03c1\u03bf\u03bc\u03ae \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2 \u03c4\u03bf\u03c5 \u03bb\u03b9\u03bc\u03b1\u03bd\u03b9\u03bf\u03cd \u03bc\u03b5 \u03c4\u03bf \u03ba\u03cd\u03c1\u03b9\u03bf \u03c7\u03c9\u03c1\u03b9\u03cc \u03c4\u03b7\u03c2 \u0398\u03b7\u03c1\u03b1\u03c3\u03b9\u03ac\u03c2","path":"ISLANDS\/Islands_Santorini_Manolas_Riva","activity_type":32,"assistance":1,"difficulty":2,"scenic_value":3,"length":2724,"name_EN":"Santorini Isl: Thirassia-From Riva to Manolas","description_EN":"Connecting the port to the main village of Thirassia","ascent_time":65,"descent_time":60,"marker":"No_marks","level":9,"ascent":177,"descent":27,"maxelev":176,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.adventures.santorini","pdf_link":"","bbox":"LINESTRING(25.34183 36.43698,25.34888 36.45419)","views":6,"millestones":"0,25.3441399,36.4540104#1,25.3453387,36.4484736#2,25.3488216,36.4425102#2.7,25.3456415,36.4370147","x":25.3474992,"y":36.4471418,"coor":[[25.3441399,36.4540104],[25.3436963,36.4541687],[25.3434228,36.4538382],[25.343155,36.4531922],[25.3431294,36.4530032],[25.3432432,36.4525647],[25.3428599,36.4523346],[25.3426775,36.4521113],[25.3422036,36.4514856],[25.3420005,36.4513527],[25.3418613,36.4514084],[25.3417798,36.4512155],[25.3418048,36.4507622],[25.3422458,36.4504508],[25.3423654,36.4502691],[25.3436205,36.449331],[25.3443147,36.4488184],[25.3443354,36.448728],[25.3445125,36.4486449],[25.3446312,36.4484092],[25.3448185,36.4482718],[25.3449923,36.4479994],[25.3452491,36.4480056],[25.3453354,36.4484824],[25.3453915,36.4484998],[25.3455005,36.4483543],[25.3457565,36.4483153],[25.3459409,36.4480068],[25.3459267,36.4478357],[25.3463614,36.4478037],[25.346483,36.4477392],[25.3464478,36.4476405],[25.3467811,36.4475556],[25.3469016,36.447428],[25.3471355,36.4474074],[25.3473793,36.4473054],[25.3474992,36.4471418],[25.3474533,36.4470702],[25.3476411,36.4469599],[25.3480192,36.4462413],[25.3476242,36.4459843],[25.347845,36.4458466],[25.3479625,36.4458295],[25.347758,36.4456155],[25.3478337,36.4454794],[25.3479663,36.4454058],[25.3478638,36.4452807],[25.3478671,36.4451905],[25.347958,36.4450836],[25.3482595,36.4450982],[25.3484248,36.445022],[25.3480893,36.4448162],[25.3482782,36.444769],[25.3481654,36.4446981],[25.3482187,36.4445533],[25.3481623,36.4445179],[25.3483251,36.4442546],[25.3479532,36.4440425],[25.3479705,36.4437538],[25.3486957,36.4431056],[25.3489821,36.4426899],[25.3485354,36.4421834],[25.3484698,36.4416163],[25.3486326,36.441353],[25.3486284,36.4407874],[25.348269,36.4405683],[25.347813,36.4400056],[25.347541,36.4391162],[25.3467428,36.438404],[25.3466387,36.4382272],[25.3463108,36.437814],[25.3460387,36.4375646],[25.3456415,36.4370147]]},{"id":19250,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039c\u03b1\u03bd\u03c9\u03bb\u03ac\u03c2-\u03bc\u03bf\u03bd\u03ae \u03a0\u03b1\u03bd\u03b1\u03b3\u03af\u03b1\u03c2\u03c2","description_GR":"\u03a0\u03bf\u03c1\u03b5\u03af\u03b1 \u03c3\u03c4\u03bf \u03ac\u03ba\u03c1\u03bf \u0398\u03b7\u03c1\u03b1\u03c3\u03b9\u03ac\u03c2","path":"ISLANDS\/Islands_Santorini_Manolas_Panagia","activity_type":31,"assistance":1,"difficulty":1,"scenic_value":5,"length":2986,"name_EN":"Santorini Isl: Manolas-Panagia monastery","description_EN":"Hike to the southernmost cape of Thirassa","ascent_time":55,"descent_time":55,"marker":"No_marks","level":11,"ascent":97,"descent":68,"maxelev":230,"minelev":155,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.topoguide.greece","pdf_link":"","bbox":"LINESTRING(25.34333 36.41271,25.35077 36.43607)","views":6,"millestones":"0,25.3454909,36.4360428#1,25.3432713,36.4277380#2,25.3470960,36.4196394#3.0,25.3506891,36.4127109","x":25.34414,"y":36.4247043,"coor":[[25.3454909,36.4360428],[25.3453887,36.4360215],[25.3451155,36.4357451],[25.3449875,36.43544],[25.3447329,36.4351071],[25.3445748,36.434879],[25.3442752,36.4344452],[25.3441749,36.4342097],[25.3439845,36.4337634],[25.3440675,36.4337219],[25.3440096,36.4335963],[25.344164,36.4334954],[25.3440142,36.4332176],[25.3437302,36.4327634],[25.3434,36.4323727],[25.3432726,36.4321037],[25.3432931,36.4319953],[25.3433831,36.4318771],[25.343355,36.4315439],[25.3433878,36.430775],[25.3435805,36.4303041],[25.3435616,36.4298536],[25.3434307,36.4285322],[25.3434309,36.4282189],[25.3432782,36.4277699],[25.3431769,36.4273135],[25.343219,36.4271688],[25.3435114,36.4264985],[25.3438955,36.4261336],[25.3439272,36.4259507],[25.3439567,36.425716],[25.3442319,36.4255055],[25.3441129,36.4250742],[25.34414,36.4247043],[25.3442791,36.424439],[25.3443709,36.4243456],[25.3445764,36.4241382],[25.3446737,36.4239568],[25.3447328,36.4235054],[25.344937,36.4230524],[25.3453994,36.4227046],[25.3459238,36.4220677],[25.3462574,36.4213608],[25.3466504,36.4208268],[25.346941,36.4202105],[25.347068,36.4197358],[25.3473205,36.4188586],[25.3472874,36.4186336],[25.3472182,36.4178591],[25.347272,36.4177413],[25.3474045,36.4176677],[25.3474466,36.417523],[25.3474571,36.4173606],[25.3471821,36.4170572],[25.347238,36.4164616],[25.3474142,36.4156844],[25.348172,36.4143597],[25.3491358,36.4133392],[25.34939,36.4132011],[25.3496678,36.4131439],[25.3499308,36.4128772],[25.3502671,36.4128554],[25.3506017,36.412811],[25.3506265,36.412955],[25.3507056,36.4130172],[25.3507708,36.4129173],[25.3506891,36.4127109]]},{"id":19251,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0398\u03b7\u03c1\u03b1\u03c3\u03b9\u03ac-\u039c\u03b1\u03bd\u03c9\u03bb\u03ac\u03c2-\u039a\u03cc\u03c1\u03c6\u03bf\u03c2","description_GR":"\u03a3\u03c4\u03bf\u03bd \u03c0\u03b5\u03c4\u03c1\u03cc\u03c3\u03c4\u03c1\u03c9\u03c4\u03bf \u03b4\u03c1\u03cc\u03bc\u03bf \u03c4\u03bf\u03c5 \u039a\u03cc\u03c1\u03c6\u03bf\u03c5","path":"ISLANDS\/Islands_Santorini_Manolas_Korfos","activity_type":31,"assistance":1,"difficulty":1,"scenic_value":5,"length":1267,"name_EN":"Santorini Isl: Thirassia-Manolas-Korfos","description_EN":"Along the stone-paved pathway of Korfos","ascent_time":20,"descent_time":20,"marker":"No_marks","level":9,"ascent":11,"descent":162,"maxelev":162,"minelev":3,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.topoguide.greece","pdf_link":"","bbox":"LINESTRING(25.34545 36.43539,25.35255 36.43914)","views":8,"millestones":"0,25.3456415,36.4370147#1.3,25.3526163,36.4390633","x":25.3474464,"y":36.4371138,"coor":[[25.3456415,36.4370147],[25.3454909,36.4360428],[25.3453961,36.435805],[25.3454796,36.4354705],[25.3456541,36.4355993],[25.3457247,36.4358148],[25.3460739,36.4360092],[25.3461635,36.4361502],[25.346193,36.4365645],[25.3464845,36.4369714],[25.3465364,36.4367455],[25.3467406,36.4369415],[25.3467802,36.4366526],[25.3469847,36.4368666],[25.3470041,36.4366951],[25.3472331,36.4370351],[25.3474464,36.4371138],[25.3475298,36.4374193],[25.3478818,36.437776],[25.347936,36.4376852],[25.3478991,36.4374873],[25.3481365,36.4376649],[25.3480872,36.437395],[25.3484258,36.4376256],[25.3484669,36.4374178],[25.3489196,36.4377913],[25.3493799,36.4379573],[25.3496591,36.4379722],[25.3505542,36.4385278],[25.3509812,36.4387032],[25.3520247,36.439043],[25.3526163,36.4390633]]},{"id":19252,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u0398\u03b7\u03c1\u03b1\u03c3\u03b9\u03ac-\u0391\u03c0\u03cc \u03c4\u03bf \u039c\u03b1\u03bd\u03c9\u03bb\u03ac \u03c3\u03c4\u03bf\u03bd \u0386\u03b3\u03b9\u03bf \u0399\u03c9\u03ac\u03bd\u03bd\u03b7","description_GR":"\u039c\u03b9\u03ba\u03c1\u03ae \u03ba\u03c5\u03ba\u03bb\u03b9\u03ba\u03ae \u03b4\u03b9\u03b1\u03b4\u03c1\u03bf\u03bc\u03ae \u03c3\u03c4\u03bf \u039c\u03b1\u03bd\u03c9\u03bb\u03ac","path":"ISLANDS\/Islands_Santorini_Manolas_AgIoanis","activity_type":32,"assistance":2,"difficulty":2,"scenic_value":4,"length":2037,"name_EN":"Santorini Isl: Thirassia-From Manolas to Agios Ioanis","description_EN":"A short loop trail around Manolas","ascent_time":45,"descent_time":45,"marker":"No_marks","level":9,"ascent":52,"descent":52,"maxelev":197,"minelev":152,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.topoguide.greece","pdf_link":"","bbox":"LINESTRING(25.34576 36.43695,25.35184 36.44366)","views":6,"millestones":"0,25.3456415,36.4370147#1,25.3514975,36.4434916#2,25.3456415,36.4370147","x":25.3513617,"y":36.4434766,"coor":[[25.3456415,36.4370147],[25.3460394,36.4375646],[25.3463115,36.437814],[25.3466401,36.4382272],[25.3467442,36.438404],[25.3475424,36.4391162],[25.3478144,36.4400056],[25.3482704,36.4405683],[25.3486298,36.4407874],[25.348634,36.441353],[25.3484712,36.4416162],[25.3485368,36.4421834],[25.3489828,36.4426922],[25.3497825,36.4431249],[25.3500841,36.4431485],[25.3501864,36.4432555],[25.3502789,36.4434438],[25.3503689,36.4434878],[25.3507714,36.4435374],[25.3511157,36.4434433],[25.3513617,36.4434766],[25.351413,36.443458],[25.3517388,36.4435895],[25.351906,36.4435786],[25.3519492,36.443497],[25.3516539,36.4431938],[25.3514099,36.4427571],[25.3513823,36.4418109],[25.3512006,36.4416237],[25.3507283,36.4414127],[25.3496195,36.4410038],[25.3486298,36.4407874],[25.3482704,36.4405683],[25.3478144,36.4400056],[25.3475424,36.4391162],[25.3467442,36.438404],[25.3466401,36.4382272],[25.3463115,36.437814],[25.3460394,36.4375646],[25.3456415,36.4370147]]},{"id":19838,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u039c\u03b1\u03bd\u03c9\u03bb\u03ac\u03c2-\u03a0\u03c1\u03bf\u03c6\u03ae\u03c4\u03b7\u03c2 \u0397\u03bb\u03af\u03b1\u03c2","description_GR":"\u03a0\u03bf\u03c1\u03b5\u03af\u03b1 \u03c3\u03c4\u03bf \u03c8\u03b7\u03bb\u03cc\u03c4\u03b5\u03c1\u03bf \u03c3\u03b7\u03bc\u03b5\u03af\u03bf \u03c4\u03b7\u03c2 \u0398\u03b7\u03c1\u03b1\u03c3\u03b9\u03ac\u03c2","path":"ISLANDS\/Islands_Santorini_Manolas_PrfIlias","activity_type":31,"assistance":1,"difficulty":1,"scenic_value":5,"length":1986,"name_EN":"Santorini Isl: Manolas-Profitis Ilias","description_EN":"Hike to the highest point of Thirassa","ascent_time":40,"descent_time":35,"marker":"No_marks","level":11,"ascent":91,"descent":5,"maxelev":241,"minelev":152,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.topoguide.greece","pdf_link":"","bbox":"LINESTRING(25.34334 36.42217,25.34768 36.43704)","views":2,"millestones":"0,25.3456415,36.4370147#1,25.3434418,36.4287002#2.0,25.3475627,36.4221844","x":25.3431769,"y":36.4273135,"coor":[[25.3456415,36.4370147],[25.3454909,36.4360428],[25.3453887,36.4360215],[25.3451155,36.4357451],[25.3449875,36.43544],[25.3447329,36.4351071],[25.3445133,36.4347896],[25.3442752,36.4344452],[25.3442047,36.4342792],[25.3439845,36.4337634],[25.3440675,36.4337219],[25.3440096,36.4335963],[25.344164,36.4334954],[25.3440142,36.4332176],[25.3437302,36.4327634],[25.3434,36.4323727],[25.3432726,36.4321037],[25.3432931,36.4319953],[25.3433831,36.4318771],[25.343355,36.4315439],[25.3433878,36.430775],[25.3435805,36.4303041],[25.3435616,36.4298536],[25.3434307,36.4285322],[25.3434309,36.4282189],[25.3432782,36.4277699],[25.3431769,36.4273135],[25.343219,36.4271688],[25.3435114,36.4264985],[25.3438955,36.4261336],[25.3439272,36.4259507],[25.3439567,36.425716],[25.3442319,36.4255055],[25.3441129,36.4250742],[25.34414,36.4247043],[25.3447595,36.4244877],[25.3449807,36.4243748],[25.3451023,36.4243103],[25.3452085,36.424406],[25.3453668,36.4245304],[25.3454196,36.4243586],[25.3454893,36.423871],[25.3455879,36.4237707],[25.3457438,36.4237509],[25.345972,36.4234058],[25.347077,36.4227984],[25.3473737,36.4225426],[25.347441,36.4225599],[25.3474501,36.4224426],[25.3476032,36.4222696],[25.3476782,36.4222913],[25.3476204,36.4221748],[25.3475627,36.4221844]]},{"id":19839,"author":"AnaDigit","name_GR":"\u03a3\u03b1\u03bd\u03c4\u03bf\u03c1\u03af\u03bd\u03b7: \u03a6\u03b7\u03c1\u03ac-\u03a0\u03b1\u03bb\u03b9\u03cc \u03bb\u03b9\u03bc\u03ac\u03bd\u03b9 \u03a6\u03b7\u03c1\u03ce\u03bd","description_GR":"\u039f \u03b4\u03c1\u03cc\u03bc\u03bf\u03c2 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03c0\u03b1\u03bb\u03b9\u03cc \u03bb\u03b9\u03bc\u03ac\u03bd\u03b9","path":"ISLANDS\/Islands_Santorini_Fira_limaniFiron","activity_type":32,"assistance":1,"difficulty":1,"scenic_value":4,"length":1395,"name_EN":"Santorini Isl: Fira-Fira old harbour","description_EN":"The way to the old harbour of the island","ascent_time":25,"descent_time":25,"marker":"No_marks","level":9,"ascent":27,"descent":229,"maxelev":225,"minelev":0,"link_logo":"SAN_72px","link_ref":"https:\/\/play.google.com\/store\/apps\/details?id=anadigit.topoguide.greece","pdf_link":"","bbox":"LINESTRING(25.42779 36.41601,25.43228 36.4194)","views":3,"millestones":"0,25.4323244,36.4182815#1,25.4281069,36.4185162#1.4,25.4280545,36.4160610","x":25.4285132,"y":36.4193345,"coor":[[25.4323244,36.4182815],[25.4318971,36.4182821],[25.4317827,36.418279],[25.4314332,36.4182629],[25.4314228,36.4183081],[25.4312893,36.4183254],[25.431112,36.4184605],[25.4309034,36.4186433],[25.4309192,36.4188955],[25.4307811,36.4189287],[25.4307317,36.4186679],[25.4306539,36.4186869],[25.430614,36.4189398],[25.4304388,36.4191221],[25.430479,36.4188783],[25.4303996,36.4188071],[25.4302942,36.4191419],[25.4300307,36.4193704],[25.4300452,36.4189466],[25.4295055,36.4193136],[25.4296648,36.418879],[25.4292448,36.4190914],[25.4285132,36.4193345],[25.4287194,36.4190255],[25.4283208,36.4191836],[25.4283408,36.4190571],[25.4281735,36.4190591],[25.4285597,36.4188291],[25.4286457,36.4186568],[25.428447,36.4187674],[25.4281804,36.4188247],[25.428466,36.4185869],[25.4285273,36.4182796],[25.4279091,36.4186296],[25.4278745,36.4185669],[25.4279925,36.4183131],[25.4279276,36.4182688],[25.4277698,36.4181805],[25.427955,36.4179372],[25.4281008,36.4179805],[25.428187,36.4178172],[25.4283084,36.4171397],[25.4283431,36.4165984],[25.4280545,36.416061]]}],{"extent":[25.34183,36.3379,25.48071,36.47671],"advPath":"http:\/\/www.topoguide.gr\/adventure.php?l=en&ul=1&a=","style":{"default":{"color":"#ff612f","width":6,"action":{"type":"redirect"},"sort":{"type":"byname"}},"PELOPONNESE\/Pelop_Abeliona_Trail_1":{"url":null,"color":"#ff612f","width":3,"exclude":false,"useStyle":false},"PELOPONNESE\/Pelop_Abeliona_Trail_2":{"url":null,"color":"#ff612f","width":3,"exclude":false,"useStyle":false},"PELOPONNESE\/Pelop_Abeliona_Trail_1c":{"url":null,"color":"#ff612f","width":3,"exclude":false,"useStyle":false},"PELOPONNESE\/Pelop_Abeliona_Trail_1a":{"url":null,"color":"#ff612f","width":3,"exclude":false,"useStyle":false},"PELOPONNESE\/Pelop_Abeliona_Trail_1b":{"url":null,"color":"#ff612f","width":3,"exclude":false,"useStyle":false},"Car_touring\/CAR_Rodos_Attavyros_Loop":{"url":null,"color":"#ff612f","width":3,"exclude":true,"useStyle":false},"MTB_ROADBIKE\/MTB_Rodos_Attavyros_summit":{"url":null,"color":"#ff612f","width":3,"exclude":true,"useStyle":false},"MTB_ROADBIKE\/MTB_Rodos_36km_Lindos_Loop":{"url":null,"color":"#ff612f","width":3,"exclude":true,"useStyle":false},"MTB_ROADBIKE\/MTB_Rodos_Kattavia_Skiadeni_loop":{"url":null,"color":"#ff612f","width":3,"exclude":true,"useStyle":false},"Car_touring\/CAR_Rodos_Lindos_Sport":{"url":null,"color":"#ff612f","width":3,"exclude":true,"useStyle":false},"MACEDONIA\/Makedonia_Falakro_refuge_Chionotripa":{"url":null,"color":"#bb0707","width":6,"exclude":false,"useStyle":true},"MACEDONIA\/Makedonia_Falakro_refuge_ProfitisIlias":{"url":null,"color":"#b11f0b","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Lousios":{"url":"Menalon_Trail_Lousios.php","color":"#ffee2f","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Dimitsana_Zygovisti":{"url":null,"color":"#248036","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Zygovisti_Elati":{"url":null,"color":"#2fd5ff","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Vytina_Nymfasia":{"url":null,"color":"#108b1a","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Valtesiniko_Lagadia":{"url":null,"color":"#fbfb00","width":6,"exclude":false,"useStyle":true},"Peloponnese\/Pelop_Menalon_Trail_Magouliana_Valtesiniko":{"url":null,"color":"#e70404","width":6,"exclude":false,"useStyle":true},"PELOPONNESE\/Pelop_Menalon_Stemnitsa_Elliniko":{"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_loop2":{"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_Arkadia_Valtesiniko_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_Magouliana_Short_loop":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"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_Gortynia_Vytina_Lasta":{"url":null,"color":"#ff612f","width":6,"exclude":true,"useStyle":false},"ISLANDS\/Islands_Santorini_Path_1":{"url":null,"color":"#ec0a0a","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_9":{"url":null,"color":"#f60606","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_10":{"url":null,"color":"#2ffff7","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_11":{"url":null,"color":"#2fb4ff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_12":{"url":null,"color":"#069f24","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_13":{"url":null,"color":"#f60404","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Merovigli_Skaros":{"url":null,"color":"#2fd5ff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Oia_Amoudi":{"url":null,"color":"#2fffff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_2":{"url":null,"color":"#06b12f","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_3":{"url":null,"color":"#2fd5ff","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_4":{"url":null,"color":"#f4ff00","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_5":{"url":null,"color":"#04b427","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_6":{"url":null,"color":"#ff2fd5","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_7":{"url":null,"color":"#2abc0e","width":6,"exclude":false,"useStyle":true},"ISLANDS\/Islands_Santorini_Path_8":{"url":null,"color":"#ff612f","width":6,"exclude":false,"useStyle":true}}}); function getPoiCollection(key, data, meta) { this.passedOl = undefined; this.modal = undefined; 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.initOl = function (ol,modal) { this.passedOl = ol; this.modal = modal; this.source = new this.passedOl.source.Vector({ wrapX: false, noWrap: true }); this.layer = new this.passedOl.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 = []; var self = this; 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"); self.modal.dom.innerHTML = '
'; setTimeout(function () { self.modal.show(); // self.passed$('#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) { var modal = this.modal; 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 modal.dom.innerHTML = '
' + '
' + self.name.replace("
", ": ") + '
' + self.parent.getImagetItem(self.photoPath, self.width, self.height) + '
' + self.description + '
' + '
'; setTimeout(function () { modal.show(); // $('#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 this.passedOl.style.Style({ image: new this.passedOl.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 this.passedOl.style.Style({ image: new this.passedOl.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 < minAvailableWidth) style += "width:100%;"; } return '
'; } } 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_santorini = new getPoiCollection("santorini",[{"name":"Kameni volcano, Santorini","owner":"\u03a1\u03b5\u03b3\u03b3\u03af\u03bd\u03b1 \u039a\u03bf\u03cd\u03c4\u03c3\u03b7","x":25.39722,"y":36.40536,"photo":"Kameni_volcano","type":72,"zoom_level":15,"id":7,"hlink_GR":"http:\/\/www.volcanodiscovery.com\/santorini.html","hlink_EN":"http:\/\/www.volcanodiscovery.com\/santorini.html","description":"Santorini is a volcanic Island group at the central south end of the Cyclades in the Aegean Sea (Greece). As a popular tourist destination in Greece, it is renowned for its spectacular sea-filled volcanic caldera sourrounded by steep colorful cliffs, the beauty of its villages and fields.","height":200,"width":300},{"name":"Above Blue
Santorini","owner":"AnaDigit","x":25.421547,"y":36.435143,"photo":"Santorini_Above_Blue","type":201,"zoom_level":16,"id":38,"hlink_GR":"http:\/\/www.santorini.com\/hotels\/abovebluesuites\/","hlink_EN":"http:\/\/www.santorini.com\/hotels\/abovebluesuites\/","description":"The hotel offers a unique combination of privacy, sophisticated luxury, unique interior design and breathtaking views to the endless blue and the world\u2019s most famous sunset. This complex is ideally situated in a tranquil surrounding but surpisingly enough, is only a short distance's walk from local taverns and restaurants. The bus stop is five minutes walk away and taxis are available around the clock.","height":0,"width":0},{"name":"Ikies
Santorini","owner":"AnaDigit","x":25.382215,"y":36.461667,"photo":"Santorini_Ikies","type":201,"zoom_level":16,"id":39,"hlink_GR":"http:\/\/www.ikies.com\/","hlink_EN":"http:\/\/www.ikies.com\/","description":"It truly is a singular type of hotel. Located in the village of Oia, northern Santorini, and seemingly carved onto the rocks of the island, the views it affords of the area are gob smacking and just a fifteen minute walk brings you to the centre of town with all its shops, bars and restaurants.","height":0,"width":0},{"name":"Honeymoon Petra Villas
Santorini","owner":"AnaDigit","x":25.422294,"y":36.431629,"photo":"Santorini_Honeymoon","type":201,"zoom_level":16,"id":40,"hlink_GR":"http:\/\/www.honeymoonpetra.com\/","hlink_EN":"http:\/\/www.honeymoonpetra.com\/","description":"Honeymoon Petra Villas is owned and run by a local family.When today\u2019s head of the family, Yiannis Renieris, embarked to work on cargo-ships in 1972, his goal was to reconstruct the village of Imerovigli that was ruined after a destructive earthquake that led to its abandonment in 1956.After 10 years at sea and having been 3 times around the world, he achieved this goal and his parents house, the one he was born in, became after its repair the first \u201croom to rent\u201d in Imerovigli. Today this Villa is part of the Traditional Wing that was completed in 1987.","height":0,"width":0},{"name":"Cskay
Santorini","owner":"AnaDigit","x":25.418483,"y":36.457986,"photo":"Santorini_CSky","type":201,"zoom_level":16,"id":41,"hlink_GR":"http:\/\/www.csky.gr\/","hlink_EN":"http:\/\/www.csky.gr\/","description":"A hotel offering singature blend of romance, rejuvenation and mediterranean sensuality in luxury, along with a stunning views over the volcano and the deep blue of the Aegean Sea. This 5 star deluxe Santorini hotel has an outdoor infinity pool with a pool bar, a separate fully private outdoor Romantic infinity pool and, in addition, 2 suites with private pools. Privacy and peacefulness guaranteed in the wonderful island of Santorini.","height":0,"width":0},{"name":"Dreams Luxury
Suites Santorini","owner":"AnaDigit","x":25.425974,"y":36.429123,"photo":"Santorini_Dreams","type":201,"zoom_level":16,"id":42,"hlink_GR":"http:\/\/www.dreamsluxurysuites.com\/","hlink_EN":"http:\/\/www.dreamsluxurysuites.com\/","description":"Dreams Luxury Suites is the place where style, opulence, and perfection meet a world of beauty and tradition. They represent a new concept of sanctuary with just four luxury suites that have a unique personality, and combine courteous and warm service with authentic tradition. The Suites were designed for the distinctive guest who is able to appreciate a singular kind of comfort, class, space and tranquility.","height":0,"width":0},{"name":"RocaBella
Santorini","owner":"AnaDigit","x":25.426113,"y":36.443975,"photo":"Santorini_RocaBella","type":201,"zoom_level":16,"id":43,"hlink_GR":"http:\/\/www.rocabella.gr\/","hlink_EN":"http:\/\/www.rocabella.gr\/","description":"Rocabella deluxe suites & spa Santorini, suspended between the far-reaching seas and glorious skies of the Aegean, is a Santorini hotel that coaxes and entices its guests into a world of relaxation and contemplation. Promising to soothe, pamper and relax, its Imerovigli location, flooded with the cinemascope, awe \u2013 inspiring natural magnificence of the Santorini sunsets, provides a sanctuary for those seeking exclusivity and serenity.","height":0,"width":0},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.423298,"y":36.450907,"photo":"Santorini_Path_Fira_Oia_Ag_Antonios","type":9,"zoom_level":15,"id":729,"hlink_GR":"","hlink_EN":"","description":"","height":351,"width":234},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.423057,"y":36.451523,"photo":"Santorini_Path_Fira_Oia_Pros_Ag_Antonio","type":0,"zoom_level":14,"id":730,"hlink_GR":"","hlink_EN":"","description":"","height":224,"width":337},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.400263,"y":36.461458,"photo":"Santorini_Path_Fira_Oia_View_to_Oia","type":9,"zoom_level":14,"id":731,"hlink_GR":"","hlink_EN":"","description":"","height":234,"width":351},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.406933,"y":36.462524,"photo":"Santorini_Path_Fira_Oia_3","type":0,"zoom_level":15,"id":732,"hlink_GR":"","hlink_EN":"","description":"","height":351,"width":234},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.403783,"y":36.462336,"photo":"Santorini_Path_Fira_Oia_Stavros","type":0,"zoom_level":15,"id":733,"hlink_GR":"","hlink_EN":"","description":"","height":252,"width":379},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.423911,"y":36.453117,"photo":"Santorini_Path_Fira_Oia_after_Pr_Ilias","type":0,"zoom_level":16,"id":734,"hlink_GR":"","hlink_EN":"","description":"","height":234,"width":351},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.422292,"y":36.433025,"photo":"Santorini_Imerovigli_1","type":9,"zoom_level":17,"id":735,"hlink_GR":"","hlink_EN":"","description":"","height":360,"width":540},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.420657,"y":36.433072,"photo":"Santorini_Skaros_2","type":0,"zoom_level":15,"id":736,"hlink_GR":"","hlink_EN":"","description":"","height":630,"width":420},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.422159,"y":36.431922,"photo":"Santorini_Imerovigli_2","type":9,"zoom_level":14,"id":737,"hlink_GR":"","hlink_EN":"","description":"","height":400,"width":600},{"name":"","owner":"\u0393. \u039d\u03c4\u03c1\u03b5\u03bd\u03bf\u03b3\u03b9\u03ac\u03bd\u03bd\u03b7\u03c2","x":25.421372,"y":36.435333,"photo":"Santorini_Imerovigli_4","type":0,"zoom_level":13,"id":738,"hlink_GR":"","hlink_EN":"","description":"","height":400,"width":900},{"name":"","owner":"\u03a6\u03ac\u03bd\u03b7\u03c2 \u0392\u03bf\u03c1\u03b5\u03b9\u03bd\u03ac\u03ba\u03b7\u03c2","x":25.474201,"y":36.367451,"photo":"santorini_arxaia_thira_3","type":10,"zoom_level":15,"id":1888,"hlink_GR":"","hlink_EN":"","description":"","height":525,"width":700},{"name":"","owner":"\u03a6\u03ac\u03bd\u03b7\u03c2 \u0392\u03bf\u03c1\u03b5\u03b9\u03bd\u03ac\u03ba\u03b7\u03c2","x":25.477854,"y":36.364962,"photo":"santorini_arxaia_thira_11","type":10,"zoom_level":14,"id":1889,"hlink_GR":"","hlink_EN":"","description":"","height":525,"width":700},{"name":"","owner":"\u03a6\u03ac\u03bd\u03b7\u03c2 \u0392\u03bf\u03c1\u03b5\u03b9\u03bd\u03ac\u03ba\u03b7\u03c2","x":25.478471,"y":36.363382,"photo":"santorini_arxaia_thira_2","type":10,"zoom_level":13,"id":1890,"hlink_GR":"","hlink_EN":"","description":"","height":525,"width":700},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.432046,"y":36.418658,"photo":"DSC057001","type":450,"zoom_level":17,"id":3529,"hlink_GR":"","hlink_EN":"","description":"","height":384,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.428696,"y":36.425091,"photo":"DSC057051","type":450,"zoom_level":17,"id":3530,"hlink_GR":"","hlink_EN":"","description":"","height":638,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.4218,"y":36.432258,"photo":"DSC057211","type":450,"zoom_level":17,"id":3531,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":646},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.422155,"y":36.432946,"photo":"DSC057301","type":450,"zoom_level":17,"id":3532,"hlink_GR":"","hlink_EN":"","description":"","height":945,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.424413,"y":36.449545,"photo":"DSC057391","type":450,"zoom_level":17,"id":3533,"hlink_GR":"","hlink_EN":"","description":"","height":844,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.424245,"y":36.451576,"photo":"DSC057401","type":450,"zoom_level":17,"id":3534,"hlink_GR":"","hlink_EN":"","description":"","height":702,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.423858,"y":36.45317,"photo":"DSC057412","type":450,"zoom_level":17,"id":3535,"hlink_GR":"","hlink_EN":"","description":"","height":581,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.423201,"y":36.453846,"photo":"DSC057421","type":450,"zoom_level":17,"id":3536,"hlink_GR":"","hlink_EN":"","description":"","height":928,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.419633,"y":36.457236,"photo":"DSC057431","type":450,"zoom_level":17,"id":3537,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":814},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.416965,"y":36.460111,"photo":"DSC057441","type":450,"zoom_level":17,"id":3538,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":631},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.403613,"y":36.360753,"photo":"DSC057701","type":450,"zoom_level":17,"id":3539,"hlink_GR":"","hlink_EN":"","description":"","height":608,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.395641,"y":36.36082,"photo":"DSC058011","type":450,"zoom_level":17,"id":3540,"hlink_GR":"","hlink_EN":"","description":"","height":958,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.374098,"y":36.36159,"photo":"DSC058171","type":450,"zoom_level":17,"id":3541,"hlink_GR":"","hlink_EN":"","description":"","height":541,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.376515,"y":36.354706,"photo":"DSC058211","type":450,"zoom_level":17,"id":3542,"hlink_GR":"","hlink_EN":"","description":"","height":662,"width":800},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.395625,"y":36.34734,"photo":"DSC058451","type":450,"zoom_level":17,"id":3543,"hlink_GR":"","hlink_EN":"","description":"","height":996,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.401846,"y":36.35202,"photo":"DSC058461","type":450,"zoom_level":17,"id":3544,"hlink_GR":"","hlink_EN":"","description":"","height":595,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.40133,"y":36.352878,"photo":"DSC058481","type":450,"zoom_level":17,"id":3545,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":931},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.401045,"y":36.353491,"photo":"DSC058491","type":450,"zoom_level":17,"id":3546,"hlink_GR":"","hlink_EN":"","description":"","height":890,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.400155,"y":36.354013,"photo":"DSC058511","type":450,"zoom_level":17,"id":3547,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":614},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.39841,"y":36.357518,"photo":"DSC058551","type":450,"zoom_level":17,"id":3548,"hlink_GR":"","hlink_EN":"","description":"","height":508,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.39683,"y":36.358306,"photo":"DSC058561","type":450,"zoom_level":18,"id":3549,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":860},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.39553,"y":36.360633,"photo":"DSC058601","type":450,"zoom_level":17,"id":3550,"hlink_GR":"","hlink_EN":"","description":"","height":671,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.403511,"y":36.359561,"photo":"DSC058641","type":450,"zoom_level":17,"id":3551,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":829},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.419513,"y":36.356438,"photo":"DSC058681","type":450,"zoom_level":17,"id":3552,"hlink_GR":"","hlink_EN":"","description":"","height":996,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.425108,"y":36.345221,"photo":"DSC058781","type":450,"zoom_level":17,"id":3553,"hlink_GR":"","hlink_EN":"","description":"","height":873,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.43247,"y":36.338368,"photo":"DSC059081","type":450,"zoom_level":17,"id":3554,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":738},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.44451,"y":36.35687,"photo":"DSC059151","type":450,"zoom_level":17,"id":3555,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":773},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.444726,"y":36.356878,"photo":"DSC059161","type":450,"zoom_level":17,"id":3556,"hlink_GR":"","hlink_EN":"","description":"","height":438,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.451765,"y":36.375971,"photo":"DSC059341","type":450,"zoom_level":17,"id":3557,"hlink_GR":"","hlink_EN":"","description":"","height":775,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.450265,"y":36.379928,"photo":"DSC059361","type":450,"zoom_level":17,"id":3558,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":943},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.449488,"y":36.382301,"photo":"DSC059371","type":450,"zoom_level":17,"id":3559,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":576},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.44917,"y":36.382455,"photo":"DSC059382","type":450,"zoom_level":17,"id":3560,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":848},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.461981,"y":36.38322,"photo":"DSC059501","type":450,"zoom_level":17,"id":3561,"hlink_GR":"","hlink_EN":"","description":"","height":692,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.45176,"y":36.376191,"photo":"DSC059542","type":450,"zoom_level":17,"id":3562,"hlink_GR":"","hlink_EN":"","description":"","height":758,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.463383,"y":36.368725,"photo":"DSC059711","type":450,"zoom_level":17,"id":3563,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":883},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.474108,"y":36.367558,"photo":"DSC059861","type":450,"zoom_level":17,"id":3564,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":773},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.47426,"y":36.367403,"photo":"DSC059871","type":450,"zoom_level":17,"id":3565,"hlink_GR":"","hlink_EN":"","description":"","height":588,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.475375,"y":36.360831,"photo":"DSC060061","type":450,"zoom_level":17,"id":3566,"hlink_GR":"","hlink_EN":"","description":"","height":660,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.471816,"y":36.361676,"photo":"DSC060121","type":450,"zoom_level":17,"id":3567,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":580},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.471518,"y":36.361126,"photo":"DSC060141","type":450,"zoom_level":17,"id":3568,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":718},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.475355,"y":36.356055,"photo":"DSC060251","type":450,"zoom_level":17,"id":3569,"hlink_GR":"","hlink_EN":"","description":"","height":651,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.44837,"y":36.398238,"photo":"DSC060261","type":450,"zoom_level":17,"id":3570,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":652},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.429755,"y":36.380561,"photo":"DSC060271","type":450,"zoom_level":17,"id":3571,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":869},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.429573,"y":36.37723,"photo":"DSC060551","type":450,"zoom_level":17,"id":3572,"hlink_GR":"","hlink_EN":"","description":"","height":560,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.429826,"y":36.37727,"photo":"DSC060561","type":450,"zoom_level":15,"id":3573,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":767},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.465338,"y":36.381736,"photo":"DSC060821","type":450,"zoom_level":17,"id":3574,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":748},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.477535,"y":36.37086,"photo":"DSC060831","type":450,"zoom_level":17,"id":3575,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":639},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.477223,"y":36.370985,"photo":"DSC060841","type":450,"zoom_level":17,"id":3576,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":658},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.476358,"y":36.371765,"photo":"DSC060851","type":450,"zoom_level":17,"id":3577,"hlink_GR":"","hlink_EN":"","description":"","height":650,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.474466,"y":36.369085,"photo":"DSC060981","type":450,"zoom_level":17,"id":3578,"hlink_GR":"","hlink_EN":"","description":"","height":891,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.477488,"y":36.370885,"photo":"DSC061091","type":450,"zoom_level":17,"id":3579,"hlink_GR":"","hlink_EN":"","description":"","height":656,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.413356,"y":36.475603,"photo":"DSC061191","type":450,"zoom_level":17,"id":3580,"hlink_GR":"","hlink_EN":"","description":"","height":750,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.41088,"y":36.47605,"photo":"DSC061381","type":450,"zoom_level":17,"id":3581,"hlink_GR":"","hlink_EN":"","description":"","height":514,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.417501,"y":36.47211,"photo":"DSC061391","type":450,"zoom_level":17,"id":3582,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":600},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.44603,"y":36.383878,"photo":"DSC061411","type":450,"zoom_level":17,"id":3583,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":817},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.46363,"y":36.378218,"photo":"DSC061631","type":450,"zoom_level":17,"id":3584,"hlink_GR":"","hlink_EN":"","description":"","height":1010,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.463221,"y":36.37872,"photo":"DSC061641","type":450,"zoom_level":17,"id":3585,"hlink_GR":"","hlink_EN":"","description":"","height":611,"width":1000},{"name":"SANTORINI
Signpost in Santorini","owner":"AnaDigit","x":25.432356,"y":36.41807,"photo":"DSC061741","type":450,"zoom_level":17,"id":3586,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":749},{"name":"SANTORINI
Zannos Mansion","owner":"AnaDigit","x":25.450193462966,"y":36.383515242474,"photo":"DSC059391","type":9,"zoom_level":16,"id":3789,"hlink_GR":"","hlink_EN":"","description":"","height":1200,"width":1600},{"name":"SANTORINI
Aghios Konstandinos at Baxedes","owner":"AnaDigit","x":25.404068,"y":36.471315,"photo":"ag_konstandinos_baxedes1","type":9,"zoom_level":15,"id":3790,"hlink_GR":"","hlink_EN":"","description":"","height":750,"width":1000},{"name":"SANTORINI
Kyra Panaghia at Baxedes","owner":"AnaDigit","x":25.405573,"y":36.4713,"photo":"kyra_panagia_kolumbos1","type":9,"zoom_level":14,"id":3791,"hlink_GR":"","hlink_EN":"","description":"","height":542,"width":1000},{"name":"SANTORINI
On the path to Kyra Panaghia, Baxedes","owner":"AnaDigit","x":25.40464,"y":36.471298,"photo":"kyra_panagia_baxedes1","type":9,"zoom_level":17,"id":3792,"hlink_GR":"","hlink_EN":"","description":"","height":1000,"width":750},{"name":"SANTORINI
The vineyards at Baxedes","owner":"AnaDigit","x":25.402643,"y":36.46941,"photo":"santorini_baxedes1","type":0,"zoom_level":15,"id":3793,"hlink_GR":"","hlink_EN":"","description":"","height":580,"width":1000},{"name":"SANTORINI
Finikia","owner":"AnaDigit","x":25.393826,"y":36.462662,"photo":"santorini_finikia1","type":9,"zoom_level":13,"id":3794,"hlink_GR":"","hlink_EN":"","description":"","height":750,"width":1000},{"name":"SANTORINI
The church of Aghios Petros in Finikia","owner":"AnaDigit","x":25.396805,"y":36.463623,"photo":"santorini_finikia21","type":9,"zoom_level":16,"id":3795,"hlink_GR":"","hlink_EN":"","description":"","height":747,"width":1000}],{});function createAdventureListWidgetContext(){};console.log('sort type: byname');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="
Nea Kameni Isl.
Fira-Fira old harbour
Thirassia-From Manolas to Agios Ioanis
Thirassia-Manolas-Korfos
Manolas-Panagia monastery
Manolas-Profitis Ilias
Thirassia-From Riva to Manolas
Imerovigli-Skaros
Oia-Amoudi
Pyrgos-ancient Thera
Finikia-Kouloumbos
Palou-Akrotiri
Faros-Akrotiri
Akrotiri-Vlychada
Emborio-Pyrgos
Kamari-Selouda-Perissa
Pyrgos-Mesa Gonia
Pyrgos-Exo Gonia loop trail
Megalochori-Pyrgos
Megalochori-Loutra
Pyrgos-Vothonas
Across the caldera, from Fira to Oia
Perissa-Panagia Ketefiani
Thermi-Christos beach
Birding around Perissa
Birding around Skaros
Butterflies on Gavrilos
";}else{console.log('adventure list widget activated but div missing. Requested id: pathList');};}; var overrideUserOptions = {lng:23,lat:38,zoom:7,ac:["santorini"],pc:["santorini"],url: 'https://m1.anadigit.fr/tms/1.0.0/ntn_combo_en/{z}/{x}/{-y}.png',showLogo: 1,showZoomTool: 1}; var overrideAfterLoad = function(map){ adventureCollection_santorini.zoomTo();}; var gsMapManager = this.gsMapManager; gsMapManager.create = function(mapDivId,options,afterLoad,beforeLoad){ 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 }; if(typeof beforeLoad != "undefined") { beforeLoad = beforeLoad }else{ if(typeof overrideBeforeLoad != "undefined") beforeLoad = overrideBeforeLoad }; return gsMapManager.create_dummy_function(mapDivId,options,afterLoad,beforeLoad); // return new gsMapObject(mapDivId,options,afterLoad); }