'use strict';jQuery(function($){var MapOptions=L.Class.extend({options:{scale:4,mapZoomIn:1,mapZoomOut:6,extraZoomOut:3,boostZoom:0,compassView:'S',perspective:'iso_S_90_lowres',azimuth:270,bigMap:true,worldToMap:[4,0,-2.4492935982947064e-16,-2.4492935982947064e-16,0,-4,0,1,0],mapToWorld:[0.25,-1.5308084989341915e-17,0,0,0,1,-1.5308084989341915e-17,-0.25,0]},initialize:function(options){L.Util.setOptions(this,options);}});var MCCRS=L.extend({},L.CRS,{code:'simple',projection:{project:function(latlng){return new L.Point(latlng.lat,latlng.lng);},unproject:function(point){return new L.LatLng(point.x,point.y);}},transformation:new L.Transformation(1,0,1,0),scale:function(zoom){return(1<>5;return L.Util.template(this.options.urlTemplate,info);},_zoomPrefix:function(amount){return'zzzzzzzzzzzzzzzzzzzzzz'.substr(0,amount)+ (amount>0?'_':'');},getTileInfo:function(tilePoint,zoom){var izoom=this.options.maxZoom-zoom;var zoomOutLevel=Math.max(0,izoom-this.options.map.options.mapZoomIn);var scale=1<>5,scaledy:y>>5,zoom:this._zoomPrefix(zoomOutLevel),x:x,y:y};}});var Icon=L.DivIcon.extend({options:{color:'#333',iconSize:[23,40],className:"leaflet-clickable",icon:"map-marker"},createIcon:function(oldIcon){var div=(oldIcon&&oldIcon.tagName==='DIV')?oldIcon:document.createElement('div'),options=this.options;div.innerHTML='';if(options.bgPos){var bgPos=point(options.bgPos);div.style.backgroundPosition=(-bgPos.x)+'px '+(-bgPos.y)+'px';} this._setIconStyles(div,'icon');return div;},});jQuery.fn.mcmap=function(opts){var container=$(this);opts=$.extend({bounds:[],minZoom:0,maxZoom:18,zoom:6,location:{x:undefined,y:undefined,z:undefined},dragging:true},opts);var mapOptions=new MapOptions();var layer=new TileLayer({errorTileUrl:opts.errorTileUrl,urlTemplate:opts.urlTemplate,map:mapOptions});opts.minZoom=Math.max(opts.minZoom,layer.options.minZoom);opts.maxZoom=Math.min(opts.maxZoom,layer.options.maxZoom-1);var projection=layer.getProjection();var center=projection.fromLocationToLatLng(opts.location);var bounds;if(opts.bounds.length>1){bounds=L.latLngBounds(projection.fromLocationToLatLng(opts.bounds[0]),projection.fromLocationToLatLng(opts.bounds[1]));if(!bounds.contains(center)){throw"Center not in bounds";}} var map=L.map(container[0],{zoom:opts.zoom,center:center,zoomAnimation:true,zoomControl:true,attributionControl:false,crs:MCCRS,continuousWorld:true,worldCopyJump:false,layers:[layer],maxBounds:bounds,dragging:opts.dragging,minZoom:opts.minZoom,maxZoom:opts.maxZoom,maxBoundsViscosity:1});map.makeLatLng=function(x,y,z){return projection.fromLocationToLatLng({x:x,y:y,z:z});};return map;};var icons={'landmark':new Icon(),'npc':new Icon({color:'blue',iconSize:[12,20],icon:'user'}),'dungeon':new Icon({color:'orange',iconSize:[12,20],icon:'flag'}),'ft-local':new Icon({color:'gray',iconSize:[12,20],icon:'bus'}),};$(".amc-map").each(function(){var self=$(this);var cfgElName=self.attr("data-map-cfg");var cfg=eval("("+$(cfgElName).text()+")");cfg=$.extend({errorTileUrl:'//s.ibts.me/t/blank.png',urlTemplate:"//s.ibts.me/t/{scaledx}_{scaledy}/{zoom}{x}_{y}.png",markers:[],},cfg);console.log("Create map from config "+cfgElName,cfg);var myMap=self.mcmap(cfg);console.log("MRK ",cfg.markers);$.each(cfg.markers,function(k,v){var loc=myMap.makeLatLng(v[0],v[1],v[2]);var marker=L.marker(loc,{title:v[4],icon:icons[v[3]]||(function(){throw("No such icon"+v[3]);})()}) console.log("Marker: "+marker);marker.addTo(myMap);});$(".location-container").each(function(){var el=$(this);var title=el.attr("data-location-title");var strLoc=el.attr("data-location").split(" ");var header=el.attr("data-location-header");var icon=el.attr("data-location-icon");var loc=myMap.makeLatLng(strLoc[0],strLoc[1],strLoc[2]);var marker=L.marker(loc,{title:title,icon:icons[icon]||(function(){throw("No such icon"+icon);})()}) marker.on("click",function(){window.location.hash='#'+header;}) marker.addTo(myMap);var btn=$(' ');btn.on("click",function(){myMap.flyTo(loc,6);});btn.appendTo(el);});});});