UNPKG

zingchart

Version:

Our JavaScript charting library is a commercial product. But the full branded version is free to try, forever.

8 lines (7 loc) 26.4 kB
/* All of the code within the ZingChart software is developed and copyrighted by ZingChart, Inc., and may not be copied, replicated, or used in any other software or application without prior permission from ZingChart. All usage must coincide with the ZingChart End User License Agreement which can be requested by email at support@zingchart.com. Build 2.9.16-hf1 */ ZC.WJ.push("maps"),zingchart.maps||(zingchart.maps={},zingchart.maps.maps={},zingchart.maps.data={}),zingchart.maps.FORCESCALE=0,zingchart.maps.CONNECTORS=1,zingchart.maps.LITE=0,zingchart.maps._DEFAULTS_={_COMMON_:{label:{"font-size":9,padding:"1 2",overlap:!1},tooltip:{"border-radius":6,"background-color":"#fff",color:"#303030","border-width":1,"border-color":"#909090",padding:10}},_POLY_:{alpha:.9,shadow:!0,"shadow-distance":3,"shadow-color":"#ccc","border-width":1,"border-color":"#a3a3a3","background-color":"#e3e3e3","hover-state":{shadow:!0,"background-color":"#d3d3d3","offset-x":-1,"offset-y":-1,"shadow-distance":3},connector:{"line-color":"#666","line-width":1}},_LINE_:{alpha:1,shadow:!1,"line-width":2,"line-color":"#4ea8fc","hover-state":{"line-color":"#4ec8cc","offset-x":0,"offset-y":0,shadow:!1}},_POINT_:{alpha:1,size:3,shadow:!1,"background-color":"#333","hover-state":{"offset-x":0,"offset-y":0,shadow:!1,"border-width":1,"border-color":"#aaa","background-color":"#666"},label:{"font-size":10,"offset-y":8}}},zingchart.maps.LIGHT={"background-color":"#fff",_COMMON_:{label:{"font-size":9,padding:"1 2",overlap:!1},tooltip:{"border-radius":6,"background-color":"#fff",color:"#303030","border-width":1,"border-color":"#909090",padding:10}},_POLY_:{alpha:1,"border-width":1,"border-color":"#fff","background-color":"#DDDDDD","hover-state":{"background-color":"#C4C4C4"},connector:{"line-color":"#666","line-width":1}},_LINE_:{alpha:1,shadow:!1,"line-width":2,"line-color":"#4ea8fc","hover-state":{"line-color":"#4ec8cc","offset-x":0,"offset-y":0,shadow:!1}},_POINT_:{alpha:1,size:3,shadow:!1,"background-color":"#333","hover-state":{"offset-x":0,"offset-y":0,shadow:!1,"border-width":1,"border-color":"#aaa","background-color":"#666"},label:{"font-size":10,"offset-y":8}}},zingchart.maps.DARK={"background-color":"#221F1F",_COMMON_:{label:{"font-size":9,padding:"1 2"},tooltip:{"border-radius":6,"background-color":"#fff",color:"#303030","border-width":1,"border-color":"#909090",padding:10}},_POLY_:{alpha:1,"border-width":1,"border-color":"#221F1F","background-color":"#DDDDDD","hover-state":{"background-color":"#C4C4C4"},connector:{"line-color":"#DDDDDD","line-width":1}},_LINE_:{alpha:1,shadow:!1,"line-width":2,"line-color":"#4ea8fc","hover-state":{"line-color":"#4ec8cc","offset-x":0,"offset-y":0,shadow:!1}},_POINT_:{alpha:1,size:3,shadow:!1,"background-color":"#333","hover-state":{"offset-x":0,"offset-y":0,shadow:!1,"border-width":1,"border-color":"#aaa","background-color":"#666"},label:{"font-size":10,"offset-y":8}}},zingchart.maps.upgrade=function(a){var o,t=zingchart.maps.data,e=a.split(".");for(var r in 1===e.length?t=t[a]:2===e.length&&(t=t[e[0]][e[1]]),t)if("_GROUPS_"!==r&&"_DEFAULTS_"!==r&&"_RULES_"!==r&&null===ZC._n_(t[r].cpoint))if(null!==ZC._n_(t[r].label.x)&&null!==ZC._n_(t[r].label.y))t[r].cpoint={x:t[r].label.x,y:t[r].label.y};else{if("point"===t[r].type)o=t[r].coords[0];else if("line"===t[r].type){var i=ZC._i_(t[r].coords.length/2);o=t[r].coords[i]||t[r].coords[i+1]||t[r].coords[i-1]}else o=zingchart.maps.centroid(t[r].coords);t[r].cpoint={x:o[0].toFixed(4)+"lon",y:o[1].toFixed(4)+"lat"},t[r].label.x=o[0].toFixed(4)+"lon",t[r].label.y=o[1].toFixed(4)+"lat"}},zingchart.maps.centroid=function(a){var o,t,e,r,i=0,n=0,_=0;for(e=0,r=a.length;e<r-1;e++)null!==ZC._n_(o=a[e])&&null!==ZC._n_(t=a[e+1])&&(_+=o[0]*t[1]-t[0]*o[1],i+=(o[0]+t[0])*(o[0]*t[1]-t[0]*o[1]),n+=(o[1]+t[1])*(o[0]*t[1]-t[0]*o[1]));return[i/=6*(_*=.5),n/=6*_,_]},zingchart.maps.getMapByGraphIndex=function(a,o){var t;for(var e in zingchart.maps.maps)if((t=zingchart.maps.maps[e])._INFO_.loaderid===a&&t._INFO_.graphinfo.graph.index===o)return t;return null},zingchart.maps.zoomIn=function(a){var o=zingchart.maps.maps[a]||zingchart.maps.data[a];if(o&&o._INFO_){o._INFO_.zoom*=1.25,zingchart.maps.setView(o._INFO_.loaderid,o._INFO_.id,o._INFO_.zoom,o._INFO_.offsetX,o._INFO_.offsetY),ZC.AO.C0("maps.zoom",zingchart.getLoader(o._INFO_.loaderid),o._INFO_)}},zingchart.maps.zoomOut=function(a){var o=zingchart.maps.maps[a]||zingchart.maps.data[a];if(o&&o._INFO_){var t,e=zingchart.getLoader(o._INFO_.loaderid).AG[o._INFO_.graphinfo.graph.index],r=e.iX+e.I/2,i=e.iY+e.F/2,n=e.I/2,_=e.F/2,s=[(o._INFO_.bbox[0]+o._INFO_.bbox[2])/2,(o._INFO_.bbox[1]+o._INFO_.bbox[3])/2],l=zingchart.maps.getLonLat(o._INFO_.id,[n,_]);if(o._INFO_.zoom=Math.max(.1,o._INFO_.zoom/1.25),o._INFO_.zoom>1.25)t=zingchart.maps.getXY(o._INFO_.id,l),o._INFO_.offsetX-=t[0]-n,o._INFO_.offsetY-=t[1]-_;else{var p=(t=zingchart.maps.getXY(o._INFO_.id,s))[0]-r,c=t[1]-i/2;o._INFO_.offsetX=p*((o._INFO_.zoom-1)/5),o._INFO_.offsetY=c*((o._INFO_.zoom-1)/5)}zingchart.maps.setView(o._INFO_.loaderid,o._INFO_.id,o._INFO_.zoom,o._INFO_.offsetX,o._INFO_.offsetY),ZC.AO.C0("maps.zoom",zingchart.getLoader(o._INFO_.loaderid),o._INFO_)}},zingchart.maps.destroyMap=function(a){delete zingchart.maps.maps[a]},zingchart.maps.setView=function(a,o,t,e,r){for(var i=zingchart.getLoader(a),n=0,_=0,s=0;s<i.o.graphset.length;s++)if(i.o.graphset[s].shapes)for(var l=0;l<i.o.graphset[s].shapes.length;l++)if("zingchart.maps"===i.o.graphset[s].shapes[l].type&&i.o.graphset[s].shapes[l].options&&(i.o.graphset[s].shapes[l].options.id===o||i.o.graphset[s].shapes[l].options.name===o)){n=s,_=l;break}var p=i.o.graphset[n].shapes[_];if(p.options=p.options||{},p.options.zoom=Math.abs(ZC._f_(t||"1")),p.options["offset-x"]=ZC._i_(e||"0"),p.options["offset-y"]=ZC._i_(r||"0"),p.options.style=p.options.style||{},p.options.style.label=p.options.style.label||{},null===ZC._n_(p.options.style.label.visible_)&&(p.options.style&&p.options.style.label?p.options.style.label.visible_=null===ZC._n_(p.options.style.label.visible)||p.options.style.label.visible:(p.options.style=p.options.style||{},p.options.style.label=p.options.style.label||{},p.options.style.label.visible_=!0)),ZC._n_(p.options.style.label["adjust-font-size"])&&ZC._b_(p.options.style.label["adjust-font-size"])){var c=zingchart.maps.maps[o]||zingchart.maps.data[o];c&&c._INFO_&&(c._INFO_.baseFontSize||(c._INFO_.baseFontSize=11,p.options.style.label["font-size"]&&(c._INFO_.baseFontSize=ZC._i_(p.options.style.label["font-size"]))),p.options.style.label["font-size"]=Math.min(19,c._INFO_.baseFontSize*c._INFO_.zoom*.65))}zingchart.maps.SKIP_LABELS?p.options.style.label.visible=!1:(p.options.style.label.visible=null===ZC._n_(p.options.style.label.visible_)||p.options.style.label.visible_,p.options.style.label.visible_=null),i.clearGenerated(),zingchart.exec(a,"setdata",{data:i.o})},zingchart.bind(null,"shape_mouseover",function(a){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L);r&&r._INFO_["color-scale"]&&zingchart.plugins.colorscale&&zingchart.plugins.colorscale.info&&zingchart.plugins.colorscale.info[a.id+"_"+e.L]&&zingchart.plugins.colorscale.AGM(a.id,{graphid:a.graphid,value:a["data-value"]})}}),zingchart.bind(null,"shape_mouseout",function(a){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L);r&&r._INFO_["color-scale"]&&zingchart.plugins.colorscale&&zingchart.plugins.colorscale.info&&zingchart.plugins.colorscale.info[a.id+"_"+e.L]&&zingchart.plugins.colorscale.clear(a.id,{graphid:a.graphid})}}),zingchart.bind(null,"shape_dblclick",function(a){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L);if(r){if(!r._INFO_.zooming)return;zingchart.maps.zoomToItem(r._INFO_.id,a.shapeid)}}}),zingchart.bind(null,"label_click",function(a){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L);r&&(a.labelid===r._INFO_.id+"_zoom_in"?zingchart.maps.zoomIn(r._INFO_.id):a.labelid===r._INFO_.id+"_zoom_out"&&zingchart.maps.zoomOut(r._INFO_.id))}}),zingchart.bind(null,"mousedown",function(a){if(0===a.ev.button&&("none"===a.target||"shape"===a.target)){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev);a.ev.preventDefault();var e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L);r&&r._INFO_.panning&&(zingchart.maps.MD=!0,zingchart.maps.REFX=a.ev.pageX,zingchart.maps.REFY=a.ev.pageY,zingchart.maps.OFFX=0,zingchart.maps.OFFY=0,zingchart.maps.REFOFFX=r._INFO_.offsetX,zingchart.maps.REFOFFY=r._INFO_.offsetY)}}}),zingchart.bind(null,"mousemove",function(a){if(zingchart.maps.MD){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L);r&&(zingchart.maps.OFFX=zingchart.maps.REFOFFX+a.ev.pageX-zingchart.maps.REFX,zingchart.maps.OFFY=zingchart.maps.REFOFFY+a.ev.pageY-zingchart.maps.REFY,ZC._a_(zingchart.maps.REFOFFX-zingchart.maps.OFFX)+ZC._a_(zingchart.maps.REFOFFY-zingchart.maps.OFFY)>5&&(zingchart.maps.setView(a.id,r._INFO_.id,r._INFO_.zoom,zingchart.maps.OFFX,zingchart.maps.OFFY),ZC.AO.C0("maps.zoom",zingchart.getLoader(r._INFO_.loaderid),r._INFO_)))}}}),zingchart.bind(null,"mouseup",function(a){if(zingchart.maps.MD){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e)zingchart.maps.getMapByGraphIndex(a.id,e.L)&&(zingchart.maps.MD=!1,zingchart.maps.REFOFFX=zingchart.maps.OFFX,zingchart.maps.REFOFFY=zingchart.maps.OFFY)}}),zingchart.bind(null,"mousewheel",function(a){var o=zingchart.getLoader(a.id),t=ZC.Q.MJ(a.ev),e=o.A5D(t[0],t[1]);if(e){var r=zingchart.maps.getMapByGraphIndex(a.id,e.L),i=e.iX+e.I/2,n=e.iY+e.F/2;if(r){if(!r._INFO_.scrolling||a.ev.altKey)return;a.ev.preventDefault();var _,s,l=ZC.A4("#"+o.K+"-top"),p=t[0]-l.offset().left-e.iX,c=t[1]-l.offset().top-e.iY;if(a.ev.wheelDelta>0)_=zingchart.maps.getLonLat(r._INFO_.id,[p,c]),r._INFO_.zoom*=1.25,s=zingchart.maps.getXY(r._INFO_.id,_),r._INFO_.offsetX-=s[0]-p,r._INFO_.offsetY-=s[1]-c;else{var h=[(r._INFO_.bbox[0]+r._INFO_.bbox[2])/2,(r._INFO_.bbox[1]+r._INFO_.bbox[3])/2];if(_=zingchart.maps.getLonLat(r._INFO_.id,[p,c]),r._INFO_.zoom=Math.max(1,r._INFO_.zoom/1.25),r._INFO_.zoom>1.25)s=zingchart.maps.getXY(r._INFO_.id,_),r._INFO_.offsetX-=s[0]-p,r._INFO_.offsetY-=s[1]-c;else{var f=(s=zingchart.maps.getXY(r._INFO_.id,h))[0]-i,g=s[1]-n/2;r._INFO_.offsetX=f*((r._INFO_.zoom-1)/5),r._INFO_.offsetY=g*((r._INFO_.zoom-1)/5)}}zingchart.maps.setView(a.id,r._INFO_.id,r._INFO_.zoom,r._INFO_.offsetX,r._INFO_.offsetY),ZC.AO.C0("maps.zoom",zingchart.getLoader(r._INFO_.loaderid),r._INFO_)}}}),zingchart.maps.viewAll=function(a){var o=zingchart.maps.maps[a];(o||(o=zingchart.maps.data[a]))&&zingchart.maps.zoomTo(a,{zoom:1,offsetX:0,offsetY:0})},zingchart.maps.zoomToItem=function(a,o){var t,e;if(t=zingchart.maps.maps[a]){if(!(e=t[o]))return}else if(!(t=zingchart.maps.data[a])||!(e=t[o]))return;if(t._INFO_){var r=t._INFO_.bbox[2]-t._INFO_.bbox[0],i=t._INFO_.bbox[1]-t._INFO_.bbox[3],n=(t._INFO_.bbox[2]+t._INFO_.bbox[0])/2,_=(t._INFO_.bbox[1]+t._INFO_.bbox[3])/2,s=e.bbox[2]-e.bbox[0],l=e.bbox[1]-e.bbox[3],p=(e.bbox[2]+e.bbox[0])/2,c=(e.bbox[1]+e.bbox[3])/2,h=Math.min(r/s,i/l),f=h,g=h*((n-p)*(t._INFO_.width/r)),d=h*((c-_)*(t._INFO_.height/i));zingchart.maps.zoomTo(a,{zoom:f,offsetX:g,offsetY:d})}},zingchart.maps.zoomTo=function(a,o){var t=zingchart.maps.maps[a]||zingchart.maps.data[a];if(t){var e={zoom:t._INFO_.zoom,offsetX:t._INFO_.offsetX,offsetY:t._INFO_.offsetY};zingchart.exec(t._INFO_.loaderid,"setobjectsmode",{mode:"flat"}),zingchart.maps.SKIP_LABELS=!0;var r=0,i=window.setInterval(function(){var n="regularEaseOut",_=ZC.E8[n](r,e.zoom,o.zoom-e.zoom,10),s=ZC.E8[n](r,e.offsetX,o.offsetX-e.offsetX,10),l=ZC.E8[n](r,e.offsetY,o.offsetY-e.offsetY,10);10===r&&(zingchart.maps.SKIP_LABELS=!1,zingchart.exec(t._INFO_.loaderid,"setobjectsmode",{mode:"normal"})),zingchart.maps.setView(t._INFO_.loaderid,a,_,s,l),++r>10&&(window.clearInterval(i),t._INFO_.zoom=o.fZoom,t._INFO_.offsetX=o.fOffX,t._INFO_.offsetY=o.fOffY,ZC.AO.C0("maps.zoom",zingchart.getLoader(t._INFO_.loaderid),t._INFO_))},1)}},zingchart.maps.getInfo=function(a){var o=zingchart.maps.maps[a];return o||(o=zingchart.maps.data[a]),o},zingchart.maps.getItems=function(a){var o=zingchart.maps.maps[a];if(o||(o=zingchart.maps.data[a]),o){var t=[];for(var e in o)"_DEFAULTS_"!==e&&"_INFO_"!==e&&"_GROUPS_"!==e&&"_RULES_"!==e&&(o._INFO_?-1!==ZC.AV(o._INFO_.items,e)&&t.push(e):t.push(e));return t}return null},zingchart.maps.getItemInfo=function(a,o){var t,e;if(t=zingchart.maps.maps[a]){if(e=t[o])return e}else if((t=zingchart.maps.data[a])&&(e=t[o]))return e;return null},zingchart.maps.getXY=function(a,o,t){var e;if(t=t||"",e=zingchart.maps.maps[a]){var r={};return ZC._cp_(e._INFO_,r),""!==t&&ZC._cp_({map:a,item:t},r),zingchart.maps.lonlat2xy(e._INFO_.x,e._INFO_.y,e._INFO_.width,e._INFO_.height,o,e._INFO_.bbox,r)}return null},zingchart.maps.getLonLat=function(a,o){var t;return(t=zingchart.maps.maps[a])?zingchart.maps.xy2lonlat(t._INFO_.x,t._INFO_.y,t._INFO_.width,t._INFO_.height,o,t._INFO_.bbox,t._INFO_):null},zingchart.maps.registerMap=function(a,o){ZC.WJ.push("maps-"+a),zingchart.maps[a]||(zingchart.maps[a]={}),zingchart.maps.data[a]||(zingchart.maps.data[a]=o),zingchart.maps.data[a]._GROUPS_={},zingchart.maps.data[a]._DEFAULTS_=zingchart.maps._DEFAULTS_,zingchart.maps[a]=function(o,t,e){return zingchart.maps.convert({loader:this,loaderdata:t||{},graphid:"undefined"==typeof o.graphid?0:o.graphid,data:e,id:o.id||a,x:"undefined"==typeof o.x?0:o.x,y:"undefined"==typeof o.y?0:o.y,width:"undefined"==typeof o.width?1:o.width,height:"undefined"==typeof o.height?1:o.height,level:"undefined"==typeof o.level?1:o.level,groups:o.groups||[],items:o.items||[],ignore:o.ignore||[],bbox:o.bbox||null,map:zingchart.maps.data[a]})}},zingchart.maps.lonlat2xy=function(a,o,t,e,r,i,n,_){void 0===_&&(_=!1),n=n||{};var s=Math.abs(ZC._f_(n.zoom||"1")),l=ZC._i_(n.offsetX||"0"),p=ZC._i_(n.offsetY||"0"),c=t/ZC._a_(i[2]-i[0]),h=e/ZC._a_(i[3]-i[1]);c*=s,h*=s,a-=t*(s-1)/2,o+=e*(s-1)/2,o+=p;var f,g,d=(a+=l)+(ZC._f_(r[0])-ZC.CY(i[0],i[2]))*c,m=o+e-(ZC._f_(r[1])-ZC.CY(i[1],i[3]))*h;if(n&&n.map&&((f=zingchart.maps.maps[n.map])||(f=zingchart.maps.data[n.map]),f)){if((g=f[n.item])&&(d+=g.transform.offsetLon*c,m-=g.transform.offsetLat*h,1!==g.transform.scale)){var b=a+(ZC.CY(g.bbox[0],g.bbox[2])-ZC.CY(i[0],i[2]))*c,z=o+e-(ZC.CY(g.bbox[1],g.bbox[3])-ZC.CY(i[1],i[3]))*h,C=ZC._a_(g.bbox[3]-g.bbox[1])*h;d=b+(d-b)*g.transform.scale,m=z-C+(m-(z-C))*g.transform.scale}_&&(d+=f._INFO_.graphinfo.graph.x,m+=f._INFO_.graphinfo.graph.y)}return[d,m]},zingchart.maps.xy2lonlat=function(a,o,t,e,r,i,n){n=n||{};var _=Math.abs(ZC._f_(n.zoom||"1")),s=ZC._i_(n.offsetX||"0"),l=ZC._i_(n.offsetY||"0");a-=t*(_-1)/2,o-=e*(_-1)/2;var p=t/ZC._a_(i[2]-i[0]),c=e/ZC._a_(i[3]-i[1]);return p*=_,c*=_,[i[0]+(r[0]-a-s)/p,i[1]+(o-r[1]+l)/c]},zingchart.maps.mappoints=function(a,o,t,e,r,i,n,_,s){var l,p,c,h,f,g,d,m=[],b=null;g=t/ZC._a_(r[2]-r[0]),d=e/ZC._a_(r[3]-r[1]),_=_||{};var z=Math.abs(ZC._f_(_.zoom||"1")),C=ZC._i_(_.offsetX||"0");g*=z,d*=z,a-=t*(z-1)/2,o-=e*(z-1)/2,o+=ZC._i_(_.offsetY||"0"),c=(a+=C)+(ZC.CY(i.bbox[0],i.bbox[2])-ZC.CY(r[0],r[2]))*g,h=o+e*z-(ZC.CY(i.bbox[1],i.bbox[3])-ZC.CY(r[1],r[3]))*d,ZC._a_(i.bbox[2]-i.bbox[0]),f=ZC._a_(i.bbox[3]-i.bbox[1])*d;for(var O=0,F=i.coords.length;O<F;O++)if(null===ZC._n_(i.coords[O]))m.push(null);else{var Z=i.transform.offsetLon,u=i.transform.offsetLat,I=i.transform.scale;if("__"===i.id&&null!==ZC._n_(n))for(var N=0,v=n.length;N<v;N++)if(i.coords[O][0]>=n[N].bbox[0]-n[N].offsetLon&&i.coords[O][0]<=n[N].bbox[2]-n[N].offsetLon&&i.coords[O][1]>=n[N].bbox[3]-n[N].offsetLat&&i.coords[O][1]<=n[N].bbox[1]-n[N].offsetLat){Z=n[N].offsetLon,u=n[N].offsetLat,I=n[N].scale,b=n[N].bbox;break}if(l=a+(i.coords[O][0]-ZC.CY(r[0],r[2]))*g+Z*g,p=o+(ZC.BR(r[1],r[3])-i.coords[O][1])*d-u*d,1!==I)if("__"===i.id){var x=a+(ZC.CY(b[0],b[2])-ZC.CY(r[0],r[2]))*g,y=o+e-(ZC.CY(b[1],b[3])-ZC.CY(r[1],r[3]))*d,L=ZC._a_(b[3]-b[1])*d;l=x+(l-x)*I,p=y-L+(p-(y-L))*I}else l=c+(l-c)*I,p=h-f+(p-(h-f))*I;null!==ZC._n_(s)?m.push([parseInt(l,10)-ZC.AN.E1,parseInt(p,10)-ZC.AN.E2,parseInt(s,10)]):m.push([parseInt(l,10),parseInt(p,10)])}return m},zingchart.maps.translate=function(a,o,t,e,r){var i=t/ZC._a_(r[2]-r[0]),n=e/ZC._a_(r[3]-r[1]);return"x"===a?o*i:o*n},zingchart.maps.convert=function(a){var o=a.data.options||{};ZC._todash_(o);var t=a.id,e=a.groups,r=a.items,i=a.ignore,n=a.bbox,_=a.level,s=!1;"01"===_&&(_=1,s=!0);var l=Math.abs(ZC._f_(o.zoom||"1")),p=ZC._i_(o["offset-x"]||"0"),c=ZC._i_(o["offset-y"]||"0"),h=!0,f=!0,g=!0;null!==ZC._n_(o.zooming)&&(h=ZC._b_(o.zooming)),null!==ZC._n_(o.panning)&&(f=ZC._b_(o.panning)),null!==ZC._n_(o.scrolling)&&(g=ZC._b_(o.scrolling));var d,m=a.loader.A5J(a.loaderdata,a.graphid);a.loader.MF&&(d=a.loader.MF.theme||"light"),a.loader.o&&(d=a.loader.o.theme||"light"),"light"===d?a.map._DEFAULTS_=zingchart.maps.LIGHT:"dark"===d&&(a.map._DEFAULTS_=zingchart.maps.DARK),ZC.AN&&(ZC.AN.A4F=2.5*ZC.BR(m.graph.width,m.graph.height),ZC.AN.E1=m.plotarea.x+m.plotarea.width/2,ZC.AN.E2=m.plotarea.y+m.plotarea.height/2);var b=ZC.IO(a.x);b=ZC._i_(b>0&&b<1?b*m.plotarea.width:b),b+=m.plotarea.x;var z=ZC.IO(a.y);z=ZC._i_(b>0&&z<1?z*m.plotarea.height:z),z+=m.plotarea.y;var C=ZC.IO(a.width);C=ZC._i_(C<=1?C*m.plotarea.width:C);var O=ZC.IO(a.height);O=ZC._i_(O<=1?O*m.plotarea.height:O);var F,Z,u,I,N={};if(ZC._cp_(a.map,N),0===C||0===O||!N)return[];for(F in N)"_DEFAULTS_"!==F&&"_INFO_"!==F&&"_GROUPS_"!==F&&"_RULES_"!==F&&(null===ZC._n_(N[F].transform)&&(N[F].transform={offsetLon:0,offsetLat:0,scale:1}),null===ZC._n_(N[F].connector)&&(N[F].connector={points:[],anchor:""}));for(F in N)if("_DEFAULTS_"!==F&&"_INFO_"!==F&&"_GROUPS_"!==F&&"_RULES_"!==F&&!(0===_&&"__"!==F||0!==_&&"__"===F&&!s)){I=[ZC.MAX,-ZC.MAX,-ZC.MAX,ZC.MAX];var v=N[F].transform.offsetLon,x=N[F].transform.offsetLat,y=N[F].transform.scale;for(Z=0;Z<N[F].coords.length;Z++)if(null!==ZC._n_(N[F].coords[Z])){if("__"===F&&null!==ZC._n_(N._RULES_))for(var L=0,E=N._RULES_.length;L<E;L++)if(N[F].coords[Z][0]>=N._RULES_[L].bbox[0]-N._RULES_[L].offsetLon&&N[F].coords[Z][0]<=N._RULES_[L].bbox[2]-N._RULES_[L].offsetLon&&N[F].coords[Z][1]>=N._RULES_[L].bbox[3]-N._RULES_[L].offsetLat&&N[F].coords[Z][1]<=N._RULES_[L].bbox[1]-N._RULES_[L].offsetLat){v=N._RULES_[L].offsetLon,x=N._RULES_[L].offsetLat,y=N._RULES_[L].scale;break}I[0]=ZC.CY(I[0],N[F].coords[Z][0]+v),I[1]=ZC.BR(I[1],N[F].coords[Z][1]+x),I[2]=ZC.BR(I[2],N[F].coords[Z][0]+v),I[3]=ZC.CY(I[3],N[F].coords[Z][1]+x)}1!==y&&"__"!==F&&(I[2]=I[0]+(I[2]-I[0])*y,I[3]=I[1]-(I[1]-I[3])*y),N[F].id=F,N[F].bbox=I}I=[ZC.MAX,-ZC.MAX,-ZC.MAX,ZC.MAX];var A=[];if(e.length>0&&N._GROUPS_){for(Z=0,u=e.length;Z<u;Z++)N._GROUPS_[e[Z]]&&(A=A.concat(N._GROUPS_[e[Z]]));for(Z=A.length-1;Z>=0;Z--)if(-1===A[Z].indexOf("@"))-1!==ZC.AV(i,A[Z])&&A.splice(Z,1);else{var M=A[Z].split("@");-1!==ZC.AV(i,M[0])&&A.splice(Z,1)}}if(r.length>0)for(Z=0,u=r.length;Z<u;Z++)-1===ZC.AV(i,r[Z])&&A.push(r[Z]);else for(F in N)if(N.hasOwnProperty(F)){if("_DEFAULTS_"===F||"_INFO_"===F||"_GROUPS_"===F||"_RULES_"===F)continue;if(0===_&&"__"!==F||0!==_&&"__"===F&&!s)continue;0===e.length&&-1===ZC.AV(i,F)&&A.push(F)}for(Z=A.length-1;Z>=0;Z--)if(A[Z]&&-1!==A[Z].indexOf("@")){var Y=A[Z].split("@");-1!==ZC.AV(A,Y[0])&&A.splice(Z,1)}if(null!==ZC._n_(n)&&4===n.length)I=n;else for(Z=0,u=A.length;Z<u;Z++)N[F=A[Z]]&&(I[0]=ZC.CY(I[0],N[F].bbox[0]),I[1]=ZC.BR(I[1],N[F].bbox[1]),I[2]=ZC.BR(I[2],N[F].bbox[2]),I[3]=ZC.CY(I[3],N[F].bbox[3]));var w,S=ZC._a_(I[2]-I[0])/20,X=ZC._a_(I[3]-I[1])/20;for(F in I[0]-=S,I[1]+=X,I[2]+=S,I[3]-=X,N)"_DEFAULTS_"!==F&&"_INFO_"!==F&&"_GROUPS_"!==F&&"_RULES_"!==F&&(0===_&&"__"!==F||0!==_&&"__"===F&&!s||(S=ZC.CY(1,ZC._a_(N[F].bbox[2]-N[F].bbox[0])/8),X=ZC.CY(1,ZC._a_(N[F].bbox[3]-N[F].bbox[1])/8),N[F].bbox[0]-=S,N[F].bbox[1]+=X,N[F].bbox[2]+=S,N[F].bbox[3]-=X));var R=1+.8*ZC._a_((I[3]+I[1])/180),D=C/ZC._a_(I[2]-I[0]),U=O/ZC._a_(I[3]-I[1]);if(!o.hasOwnProperty("scale")||ZC._b_(o.scale)){if((w=R*D/U)>1.05){var T=ZC._i_(C/w);b+=(C-T)/2,C=T}else if(w<.95){var k=ZC._i_(O*w);z+=(O-k)/2,O=k}D=C/ZC._a_(I[2]-I[0]),U=O/ZC._a_(I[3]-I[1])}for(var P in zingchart.maps.maps)if(t!==P){var G=zingchart.maps.maps[P];G&&G._INFO_&&a.loader.K===G._INFO_.loaderid&&G._INFO_.graphinfo&&G._INFO_.graphinfo.graph&&G._INFO_.graphinfo.graph.index===m.graph.index&&(G._INFO_.graphinfo.graph.index=-1)}N._INFO_={loaderid:a.loader.K,x:b,y:z,zoom:l,zooming:h,panning:f,scrolling:g,offsetX:p,offsetY:c,width:C,height:O,id:t,bbox:I,groups:e,items:A,ignore:i,graphinfo:m},3*A.length>zingchart.DEV.MAXPOOLSIZE&&(zingchart.DEV.MAXPOOLSIZE+=3*A.length),zingchart.maps.maps[t]=N;var V,B={},J={};if(V=o.choropleth){var Q,K=ZC.MAX,j=-ZC.MAX,H="";for(Z=0,u=A.length;Z<u;Z++)F=A[Z],null!==ZC._n_(o.style)&&null!==ZC._n_(o.style.items)&&null!==ZC._n_(o.style.items[F])&&null!==ZC._n_(o.style.items[F]["data-value"])&&(Q=ZC._f_(o.style.items[F]["data-value"]),K=Math.min(K,Q),j=Math.max(j,Q),J[F]={"data-value":Q});var W=V.aspect||"gradient",q=V.progression||"lin",$=V.intervals||4,aa=V.color||"#336699",oa=V["max-percent"]||50,ta=V.effect||"lighten",ea=ZC._b_(V.mirrored),ra=oa/(j-K);"log"===q&&(ra=oa/(ZC.FV(j,10)-ZC.FV(K,10)));var ia=oa/$,na=V.labels||[],_a=V.steps||[],sa=V.colors||[];if("intervals"===W){if(_a.length)$=_a.length-1;else if("lin"===q){var la=(j-K)/$;for(Z=0;Z<$;Z+=1)_a.push(K+Z*la);_a.push(j)}else{var pa=Math.floor(ZC.FV(K,10)),ca=Math.ceil(ZC.FV(j,10));for(pa===ca&&ca++,$=Math.max(1,ca-pa-1),Z=pa;Z<=ca;Z+=1)Z===pa&&pa<1?_a.push(0):_a.push(Math.pow(10,Z));ia=oa/$}if(!sa.length)for(Z=0;Z<=$;Z+=1)sa.push("lighten"===ta?ZC.AO.PP(aa,Z*ia):ZC.AO.JQ(aa,Z*ia))}for(Z=0,u=A.length;Z<u;Z++)if(J[F=A[Z]]){if(Q=J[F]["data-value"],"gradient"===W){var ha=ZC._i_((Q-K)*ra);"log"===q&&(ha=ZC._i_((ZC.FV(Q,10)-ZC.FV(K,10))*ra)),ea&&(ha=oa-ha),H="lighten"===ta?ZC.AO.PP(aa,ha):ZC.AO.JQ(aa,ha)}else if("intervals"===W){for(var fa=0;fa<_a.length-1;fa++)if(Q>=_a[fa]&&Q<_a[fa+1]){H=sa[fa];break}""===H&&Q===j&&(H=sa[sa.length-1])}J[F]={"data-color":H,"background-color":H,"hover-state":{"background-color":H}},V["override-tooltip"]&&(J[F].tooltip={"background-color":ZC.AO.JQ(H,15)})}N._INFO_.choropleth={aspect:W,progression:q,intervals:$,color:aa,maxPercent:oa,effect:ta,minValue:K,maxValue:j,steps:_a,colors:sa,labels:na,mirrored:ea}}for(o["color-scale"]&&(N._INFO_["color-scale"]=!0),Z=0,u=A.length;Z<u;Z++)if(N[F=A[Z]]){var ga=N[F].type||"poly",da=0;"line"!==ga&&"point"!==ga||(da+=10),N[F].sort&&(N[F].sort&&(N[F].sort=.5),da+=N[F].sort);var ma,ba,za,Ca=null;if(null!==ZC._n_(o.style)&&(o.style["3d"]&&(Ca=1),null!==ZC._n_(o.style.z)&&(Ca=o.style.z),null!==ZC._n_(o.style.items)&&null!==ZC._n_(o.style.items[F])&&null!==ZC._n_(o.style.items[F].z)&&(Ca=o.style.items[F].z)),"poly"===ga||"line"===ga)B[F]={type:ga,id:F,points:zingchart.maps.mappoints(b,z,C,O,I,N[F],N._RULES_,N._INFO_,Ca),label:{map:t},"z-sort":da,"z-index":da,tooltip:{},connector:{},"map-item":!0,generated:!0};else if("point"===ga){var Oa=zingchart.maps.mappoints(b,z,C,O,I,N[F],N._RULES_,N._INFO_,Ca);B[F]={type:"circle",id:F,size:5,x:Oa[0][0],y:Oa[0][1],label:{map:t},"z-sort":da,"z-index":da,tooltip:{},connector:{},"map-item":!0,generated:!0}}if("poly"===ga||"line"===ga){var Fa=zingchart.maps.centroid(B[F].points);ba=Fa[0],za=Fa[1],ma=Fa[2]}N._DEFAULTS_&&(ZC._cp_(N._DEFAULTS_._COMMON_,B[F]),"poly"===ga?ZC._cp_(N._DEFAULTS_._POLY_,B[F]):"line"===ga?ZC._cp_(N._DEFAULTS_._LINE_,B[F]):"point"===ga&&ZC._cp_(N._DEFAULTS_._POINT_,B[F])),N[F].style&&ZC._cp_(N[F].style,B[F]),ZC._todash_(B[F]);var Za=N[F].label.text,ua=N[F].tooltip.text;ZC._cp_(o.style,B[F],null,null,null,["items"]);var Ia=N[F].tooltip.text||"",Na=B[F].tooltip.text||"";ZC._cp_(N[F].tooltip,B[F].tooltip);var va=B[F].label.text;ZC._cp_(N[F].label,B[F].label),va&&(B[F].label.text=va),1===zingchart.maps.CONNECTORS&&ZC._cp_(N[F].connector,B[F].connector),"poly"!==ga&&"line"!==ga||"auto"===B[F].label.visible&&ma<400&&(0===zingchart.maps.CONNECTORS||0===B[F].connector.points.length)&&(B[F].label.visible=!1),J[F]&&ZC._cp_(J[F],B[F]);var xa=!1;for(var ya in null!==ZC._n_(o.style)&&null!==ZC._n_(o.style.items)&&(ZC._cp_(o.style.items[F],B[F]),o.style.items[F]&&o.style.items[F].tooltip&&o.style.items[F].tooltip.text&&(Ia=o.style.items[F].tooltip.text,-1===Na.indexOf("%text")&&(xa=!0))),B[F].tooltip.text=""===Na||xa?Ia:Na.replace("%text",Ia),B[F])"data-"===ya.substring(0,5)&&(B[F].tooltip.text=B[F].tooltip.text.replace("%"+ya,B[F][ya]),B[F].label.text=B[F].label.text.replace("%"+ya,B[F][ya]));if(B[F].tooltip.text=B[F].tooltip.text.replace("%short-text",Za).replace("%long-text",ua),B[F].label.text=B[F].label.text.replace("%short-text",Za).replace("%long-text",ua),zingchart.maps.CONNECTORS&&null!==ZC._n_(B[F].connector.points)){for(var La=0,Ea=B[F].connector.points.length;La<Ea;La++)B[F].connector.points[La]=zingchart.maps.lonlat2xy(b,z,C,O,B[F].connector.points[La],I,{zoom:l,offsetX:p,offsetY:c});B[F].connector.points=ZC.AO.A5M(B[F].connector.points,m.graph.x,m.graph.y)}null===ZC._n_(B[F].label.x)&&(B[F].label.x=ba+m.graph.x),null===ZC._n_(B[F].label.y)&&(B[F].label.y=za+m.graph.y)}var Aa=m.graph.width,Ma=m.graph.height;o.style=o.style||{};var Ya=o.style.controls||{};if(null===ZC._n_(Ya.visible)||ZC._b_(Ya.visible)){var wa=ZC._i_(Ya.x||"-1"),Sa=ZC._i_(Ya.y||"-1"),Xa=Ya.placement||"";""!==Xa||-1!==wa&&-1!==Sa||(Xa="tl");switch(Xa){case"tl":wa=10,Sa=10;break;case"tr":wa=0+Aa-25-10,Sa=10;break;case"bl":wa=10,Sa=0+Ma-50-10;break;case"br":wa=0+Aa-25-10,Sa=0+Ma-50-10}B._ZOOM_IN_={objtype:"label",id:N._INFO_.id+"_zoom_in",generated:!0,x:wa,y:Sa,width:25,height:25,"border-width":1,"border-color":"#999","background-color":"#eee","border-radius":"2 2 0 0","font-size":17,text:"+",tooltip:{text:"Zoom In"}},ZC._cp_(zingchart.maps._DEFAULTS_._COMMON_.tooltip,B._ZOOM_IN_.tooltip),ZC._cp_(Ya["zoom-in"],B._ZOOM_IN_),B._ZOOM_OUT_={objtype:"label",id:N._INFO_.id+"_zoom_out",generated:!0,x:wa,y:Sa+25-1,width:25,height:25,"border-width":1,"border-color":"#999","background-color":"#eee","border-radius":"0 0 2 2","font-size":17,text:"-",tooltip:{text:"Zoom Out"}},ZC._cp_(zingchart.maps._DEFAULTS_._COMMON_.tooltip,B._ZOOM_OUT_.tooltip),ZC._cp_(Ya["zoom-out"],B._ZOOM_OUT_)}return B};