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) 30.1 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.11_ES6 */ ZC.X3.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(o){var a,t=zingchart.maps.data,e=o.split(".");for(var i in 1===e.length?t=t[o]:2===e.length&&(t=t[e[0]][e[1]]),t)if("_GROUPS_"!==i&&"_DEFAULTS_"!==i&&"_RULES_"!==i&&null===ZC._n_(t[i].cpoint))if(null!==ZC._n_(t[i].label.x)&&null!==ZC._n_(t[i].label.y))t[i].cpoint={x:t[i].label.x,y:t[i].label.y};else{if("point"===t[i].type)a=t[i].coords[0];else if("line"===t[i].type){var r=ZC._i_(t[i].coords.length/2);a=t[i].coords[r]||t[i].coords[r+1]||t[i].coords[r-1]}else a=zingchart.maps.centroid(t[i].coords);t[i].cpoint={x:a[0].toFixed(4)+"lon",y:a[1].toFixed(4)+"lat"},t[i].label.x=a[0].toFixed(4)+"lon",t[i].label.y=a[1].toFixed(4)+"lat"}},zingchart.maps.centroid=function(o){var a,t,e,i,r=0,n=0,_=0;for(e=0,i=o.length;e<i-1;e++)null!==ZC._n_(a=o[e])&&null!==ZC._n_(t=o[e+1])&&(_+=a[0]*t[1]-t[0]*a[1],r+=(a[0]+t[0])*(a[0]*t[1]-t[0]*a[1]),n+=(a[1]+t[1])*(a[0]*t[1]-t[0]*a[1]));return[r/=6*(_*=.5),n/=6*_,_]},zingchart.maps.getMapByGraphIndex=function(o,a){var t;for(var e in zingchart.maps.maps)if((t=zingchart.maps.maps[e])._INFO_.loaderid===o&&t._INFO_.graphinfo.graph.index===a)return t;return null},zingchart.maps.zoomIn=function(A52){var oMap=zingchart.maps.maps[A52]||eval("zingchart.maps.data."+A52);if(oMap&&oMap._INFO_){var fZoomRatio=1.25;oMap._INFO_.zoom*=fZoomRatio,zingchart.maps.setView(oMap._INFO_.loaderid,oMap._INFO_.id,oMap._INFO_.zoom,oMap._INFO_.offsetX,oMap._INFO_.offsetY),ZC.AR.C1("maps.zoom",zingchart.getLoader(oMap._INFO_.loaderid),oMap._INFO_)}},zingchart.maps.zoomOut=function(A52){var oMap=zingchart.maps.maps[A52]||eval("zingchart.maps.data."+A52);if(oMap&&oMap._INFO_){var H=zingchart.getLoader(oMap._INFO_.loaderid),C=H.AG[oMap._INFO_.graphinfo.graph.index],fZoomRatio=1.25,iCX=C.iX+C.I/2,iCY=C.iY+C.F/2,iMouseX=C.I/2,iMouseY=C.F/2,EC,aCP=[(oMap._INFO_.bbox[0]+oMap._INFO_.bbox[2])/2,(oMap._INFO_.bbox[1]+oMap._INFO_.bbox[3])/2],aLonLat=zingchart.maps.getLonLat(oMap._INFO_.id,[iMouseX,iMouseY]);if(oMap._INFO_.zoom=Math.max(.1,oMap._INFO_.zoom/fZoomRatio),oMap._INFO_.zoom>fZoomRatio)EC=zingchart.maps.getXY(oMap._INFO_.id,aLonLat),oMap._INFO_.offsetX-=EC[0]-iMouseX,oMap._INFO_.offsetY-=EC[1]-iMouseY;else{EC=zingchart.maps.getXY(oMap._INFO_.id,aCP);var P7=EC[0]-iCX,A0G=EC[1]-iCY/2;oMap._INFO_.offsetX=P7*((oMap._INFO_.zoom-1)/5),oMap._INFO_.offsetY=A0G*((oMap._INFO_.zoom-1)/5)}zingchart.maps.setView(oMap._INFO_.loaderid,oMap._INFO_.id,oMap._INFO_.zoom,oMap._INFO_.offsetX,oMap._INFO_.offsetY),ZC.AR.C1("maps.zoom",zingchart.getLoader(oMap._INFO_.loaderid),oMap._INFO_)}},zingchart.maps.destroyMap=function(o){delete zingchart.maps.maps[o]},zingchart.maps.setView=function(K,A52,fZoom,fOffsetX,fOffsetY){for(var H=zingchart.getLoader(K),LU=0,iShapeIndex=0,g=0;g<H.o[ZC._[16]].length;g++)if(H.o[ZC._[16]][g].shapes)for(var s=0;s<H.o[ZC._[16]][g].shapes.length;s++)if("zingchart.maps"===H.o[ZC._[16]][g].shapes[s].type&&H.o[ZC._[16]][g].shapes[s].options&&(H.o[ZC._[16]][g].shapes[s].options.id===A52||H.o[ZC._[16]][g].shapes[s].options.name===A52)){LU=g,iShapeIndex=s;break}var XB=H.o[ZC._[16]][LU].shapes[iShapeIndex];if(XB.options=XB.options||{},XB.options.zoom=Math.abs(ZC._f_(fZoom||"1")),XB.options["offset-x"]=ZC._i_(fOffsetX||"0"),XB.options["offset-y"]=ZC._i_(fOffsetY||"0"),XB.options.style=XB.options.style||{},XB.options.style.label=XB.options.style.label||{},null===ZC._n_(XB.options.style.label.visible_)&&(XB.options.style&&XB.options.style.label?XB.options.style.label.visible_=null===ZC._n_(XB.options.style.label.visible)||XB.options.style.label.visible:(XB.options.style=XB.options.style||{},XB.options.style.label=XB.options.style.label||{},XB.options.style.label.visible_=!0)),ZC._n_(XB.options.style.label["adjust-font-size"])&&ZC._b_(XB.options.style.label["adjust-font-size"])){var oMap=zingchart.maps.maps[A52]||eval("zingchart.maps.data."+A52);oMap&&oMap._INFO_&&(oMap._INFO_.baseFontSize||(oMap._INFO_.baseFontSize=11,XB.options.style.label["font-size"]&&(oMap._INFO_.baseFontSize=ZC._i_(XB.options.style.label["font-size"]))),XB.options.style.label["font-size"]=Math.min(19,oMap._INFO_.baseFontSize*oMap._INFO_.zoom*.65))}zingchart.maps.SKIP_LABELS?XB.options.style.label.visible=!1:(XB.options.style.label.visible=null===ZC._n_(XB.options.style.label.visible_)||XB.options.style.label.visible_,XB.options.style.label.visible_=null),H.clearGenerated(),zingchart.exec(K,"setdata",{data:H.o})},zingchart.bind(null,"shape_mouseover",function(o){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L);i&&i._INFO_["color-scale"]&&zingchart.plugins.colorscale&&zingchart.plugins.colorscale.info&&zingchart.plugins.colorscale.info[o.id+"_"+e.L]&&zingchart.plugins.colorscale.AGM(o.id,{graphid:o.graphid,value:o["data-value"]})}}),zingchart.bind(null,"shape_mouseout",function(o){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L);i&&i._INFO_["color-scale"]&&zingchart.plugins.colorscale&&zingchart.plugins.colorscale.info&&zingchart.plugins.colorscale.info[o.id+"_"+e.L]&&zingchart.plugins.colorscale.clear(o.id,{graphid:o.graphid})}}),zingchart.bind(null,"shape_dblclick",function(o){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L);if(i){if(!i._INFO_.zooming)return;zingchart.maps.zoomToItem(i._INFO_.id,o.shapeid)}}}),zingchart.bind(null,"label_click",function(o){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L);i&&(o.labelid===i._INFO_.id+"_zoom_in"?zingchart.maps.zoomIn(i._INFO_.id):o.labelid===i._INFO_.id+"_zoom_out"&&zingchart.maps.zoomOut(i._INFO_.id))}}),zingchart.bind(null,ZC._[47],function(o){if(0===o.ev.button&&("none"===o.target||"shape"===o.target)){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev);o.ev.preventDefault();var e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L);i&&i._INFO_.panning&&(zingchart.maps.MD=!0,zingchart.maps.REFX=o.ev.pageX,zingchart.maps.REFY=o.ev.pageY,zingchart.maps.OFFX=0,zingchart.maps.OFFY=0,zingchart.maps.REFOFFX=i._INFO_.offsetX,zingchart.maps.REFOFFY=i._INFO_.offsetY)}}}),zingchart.bind(null,ZC._[48],function(o){if(zingchart.maps.MD){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L);i&&(zingchart.maps.OFFX=zingchart.maps.REFOFFX+o.ev.pageX-zingchart.maps.REFX,zingchart.maps.OFFY=zingchart.maps.REFOFFY+o.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(o.id,i._INFO_.id,i._INFO_.zoom,zingchart.maps.OFFX,zingchart.maps.OFFY),ZC.AR.C1("maps.zoom",zingchart.getLoader(i._INFO_.loaderid),i._INFO_)))}}}),zingchart.bind(null,ZC._[49],function(o){if(zingchart.maps.MD){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e)zingchart.maps.getMapByGraphIndex(o.id,e.L)&&(zingchart.maps.MD=!1,zingchart.maps.REFOFFX=zingchart.maps.OFFX,zingchart.maps.REFOFFY=zingchart.maps.OFFY)}}),zingchart.bind(null,"mousewheel",function(o){var a=zingchart.getLoader(o.id),t=ZC.Q.MR(o.ev),e=a.A2A(t[0],t[1]);if(e){var i=zingchart.maps.getMapByGraphIndex(o.id,e.L),r=e.iX+e.I/2,n=e.iY+e.F/2;if(i){if(!i._INFO_.scrolling||o.ev.altKey)return;o.ev.preventDefault();var _,s,l=ZC.A5("#"+a.K+"-top"),p=t[0]-l.offset().left-e.iX,c=t[1]-l.offset().top-e.iY;if(o.ev.wheelDelta>0)_=zingchart.maps.getLonLat(i._INFO_.id,[p,c]),i._INFO_.zoom*=1.25,s=zingchart.maps.getXY(i._INFO_.id,_),i._INFO_.offsetX-=s[0]-p,i._INFO_.offsetY-=s[1]-c;else{var f=[(i._INFO_.bbox[0]+i._INFO_.bbox[2])/2,(i._INFO_.bbox[1]+i._INFO_.bbox[3])/2];if(_=zingchart.maps.getLonLat(i._INFO_.id,[p,c]),i._INFO_.zoom=Math.max(1,i._INFO_.zoom/1.25),i._INFO_.zoom>1.25)s=zingchart.maps.getXY(i._INFO_.id,_),i._INFO_.offsetX-=s[0]-p,i._INFO_.offsetY-=s[1]-c;else{var h=(s=zingchart.maps.getXY(i._INFO_.id,f))[0]-r,g=s[1]-n/2;i._INFO_.offsetX=h*((i._INFO_.zoom-1)/5),i._INFO_.offsetY=g*((i._INFO_.zoom-1)/5)}}zingchart.maps.setView(o.id,i._INFO_.id,i._INFO_.zoom,i._INFO_.offsetX,i._INFO_.offsetY),ZC.AR.C1("maps.zoom",zingchart.getLoader(i._INFO_.loaderid),i._INFO_)}}}),zingchart.maps.viewAll=function(A52){var oMap=zingchart.maps.maps[A52];(oMap||(oMap=eval("zingchart.maps.data."+A52),oMap))&&zingchart.maps.zoomTo(A52,{zoom:1,offsetX:0,offsetY:0})},zingchart.maps.zoomToItem=function(A52,AB4){var oMap,BR;if(oMap=zingchart.maps.maps[A52]){if(!(BR=oMap[AB4]))return}else if(oMap=eval("zingchart.maps.data."+A52),!oMap||!(BR=oMap[AB4]))return;if(oMap._INFO_){var fMapW=oMap._INFO_.bbox[2]-oMap._INFO_.bbox[0],fMapH=oMap._INFO_.bbox[1]-oMap._INFO_.bbox[3],fMapCX=(oMap._INFO_.bbox[2]+oMap._INFO_.bbox[0])/2,fMapCY=(oMap._INFO_.bbox[1]+oMap._INFO_.bbox[3])/2,fItemW=BR.bbox[2]-BR.bbox[0],fItemH=BR.bbox[1]-BR.bbox[3],fItemCX=(BR.bbox[2]+BR.bbox[0])/2,fItemCY=(BR.bbox[1]+BR.bbox[3])/2,fRatio=Math.min(fMapW/fItemW,fMapH/fItemH),fZoom=fRatio,fFactorW=oMap._INFO_.width/fMapW,fFactorH=oMap._INFO_.height/fMapH,fDiffX=fMapCX-fItemCX,fDiffY=fItemCY-fMapCY,fOffX=fRatio*(fDiffX*fFactorW),fOffY=fRatio*(fDiffY*fFactorH);zingchart.maps.zoomTo(A52,{zoom:fZoom,offsetX:fOffX,offsetY:fOffY})}},zingchart.maps.zoomTo=function(A52,BB){var oMap=zingchart.maps.maps[A52]||eval("zingchart.maps.data."+A52);if(oMap){var N9={zoom:oMap._INFO_.zoom,offsetX:oMap._INFO_.offsetX,offsetY:oMap._INFO_.offsetY};zingchart.exec(oMap._INFO_.loaderid,"setobjectsmode",{mode:"flat"}),zingchart.maps.SKIP_LABELS=!0;var Y=0,RQ=10,iZoomTick=window.setInterval(function(){var o="regularEaseOut",a=EB[o](Y,N9.zoom,BB.zoom-N9.zoom,RQ),t=EB[o](Y,N9.offsetX,BB.offsetX-N9.offsetX,RQ),e=EB[o](Y,N9.offsetY,BB.offsetY-N9.offsetY,RQ);Y===RQ&&(zingchart.maps.SKIP_LABELS=!1,zingchart.exec(oMap._INFO_.loaderid,"setobjectsmode",{mode:"normal"})),zingchart.maps.setView(oMap._INFO_.loaderid,A52,a,t,e),++Y>RQ&&(window.clearInterval(iZoomTick),oMap._INFO_.zoom=BB.fZoom,oMap._INFO_.offsetX=BB.fOffX,oMap._INFO_.offsetY=BB.fOffY,ZC.AR.C1("maps.zoom",zingchart.getLoader(oMap._INFO_.loaderid),oMap._INFO_))},1)}},zingchart.maps.getInfo=function(A52){var oMap=zingchart.maps.maps[A52];return oMap||(oMap=eval("zingchart.maps.data."+A52)),oMap},zingchart.maps.getItems=function(A52){var oMap=zingchart.maps.maps[A52];if(oMap||(oMap=eval("zingchart.maps.data."+A52)),oMap){var B6=[];for(var sItem in oMap)"_DEFAULTS_"!==sItem&&"_INFO_"!==sItem&&"_GROUPS_"!==sItem&&"_RULES_"!==sItem&&(oMap._INFO_?-1!==ZC.AV(oMap._INFO_.items,sItem)&&B6.push(sItem):B6.push(sItem));return B6}return null},zingchart.maps.getItemInfo=function(A52,AB4){var oMap,BR;if(oMap=zingchart.maps.maps[A52]){if(BR=oMap[AB4])return BR}else if(oMap=eval("zingchart.maps.data."+A52),oMap&&(BR=oMap[AB4]))return BR;return null},zingchart.maps.getXY=function(o,a,t){var e;if(t=t||"",e=zingchart.maps.maps[o]){var i={};return ZC._cp_(e._INFO_,i),""!==t&&ZC._cp_({map:o,item:t},i),zingchart.maps.lonlat2xy(e._INFO_.x,e._INFO_.y,e._INFO_.width,e._INFO_.height,a,e._INFO_.bbox,i)}return null},zingchart.maps.getLonLat=function(o,a){var t;return(t=zingchart.maps.maps[o])?zingchart.maps.xy2lonlat(t._INFO_.x,t._INFO_.y,t._INFO_.width,t._INFO_.height,a,t._INFO_.bbox,t._INFO_):null},zingchart.maps.registerMap=function(o,a){ZC.X3.push("maps-"+o),zingchart.maps[o]||(zingchart.maps[o]={}),zingchart.maps.data[o]||(zingchart.maps.data[o]=a),zingchart.maps.data[o]._GROUPS_={},zingchart.maps.data[o]._DEFAULTS_=zingchart.maps._DEFAULTS_,zingchart.maps[o]=function(a,t,e){return zingchart.maps.convert({loader:this,loaderdata:t||{},graphid:typeof a.graphid===ZC._[31]?0:a.graphid,data:e,id:a.id||o,x:typeof a.x===ZC._[31]?0:a.x,y:typeof a.y===ZC._[31]?0:a.y,width:typeof a.width===ZC._[31]?1:a.width,height:typeof a.height===ZC._[31]?1:a.height,level:typeof a.level===ZC._[31]?1:a.level,groups:a.groups||[],items:a.items||[],ignore:a.ignore||[],bbox:a.bbox||null,map:zingchart.maps.data[o]})}},zingchart.maps.lonlat2xy=function(iX,iY,I,F,aLonLat,aBBox,BJ,bTranslate){typeof bTranslate===ZC._[31]&&(bTranslate=!1),BJ=BJ||{};var iZoom=Math.abs(ZC._f_(BJ.zoom||"1")),BL=ZC._i_(BJ.offsetX||"0"),BH=ZC._i_(BJ.offsetY||"0"),fLonRatio=I/ZC._a_(aBBox[2]-aBBox[0]),fLatRatio=F/ZC._a_(aBBox[3]-aBBox[1]);fLonRatio*=iZoom,fLatRatio*=iZoom,iX-=I*(iZoom-1)/2,iY+=F*(iZoom-1)/2,iX+=BL,iY+=BH;var iPx=iX+(ZC._f_(aLonLat[0])-ZC.CX(aBBox[0],aBBox[2]))*fLonRatio,iPy=iY+F-(ZC._f_(aLonLat[1])-ZC.CX(aBBox[1],aBBox[3]))*fLatRatio,oMap,BR;if(BJ&&BJ.map&&(oMap=zingchart.maps.maps[BJ.map],oMap||(oMap=eval("zingchart.maps.data."+BJ.map)),oMap)){if((BR=oMap[BJ.item])&&(iPx+=BR.transform.offsetLon*fLonRatio,iPy-=BR.transform.offsetLat*fLatRatio,1!==BR.transform.scale)){var oItemX=iX+(ZC.CX(BR.bbox[0],BR.bbox[2])-ZC.CX(aBBox[0],aBBox[2]))*fLonRatio,oItemY=iY+F-(ZC.CX(BR.bbox[1],BR.bbox[3])-ZC.CX(aBBox[1],aBBox[3]))*fLatRatio,oItemHeight=ZC._a_(BR.bbox[3]-BR.bbox[1])*fLatRatio;iPx=oItemX+(iPx-oItemX)*BR.transform.scale,iPy=oItemY-oItemHeight+(iPy-(oItemY-oItemHeight))*BR.transform.scale}bTranslate&&(iPx+=oMap._INFO_.graphinfo.graph.x,iPy+=oMap._INFO_.graphinfo.graph.y)}return[iPx,iPy]},zingchart.maps.xy2lonlat=function(o,a,t,e,i,r,n){n=n||{};var _=Math.abs(ZC._f_(n.zoom||"1")),s=ZC._i_(n.offsetX||"0"),l=ZC._i_(n.offsetY||"0");o-=t*(_-1)/2,a-=e*(_-1)/2;var p=t/ZC._a_(r[2]-r[0]),c=e/ZC._a_(r[3]-r[1]);return p*=_,c*=_,[r[0]+(i[0]-o-s)/p,r[1]+(a-i[1]+l)/c]},zingchart.maps.mappoints=function(o,a,t,e,i,r,n,_,s){var l,p,c,f,h,g,d,m=[],b=null;g=t/ZC._a_(i[2]-i[0]),d=e/ZC._a_(i[3]-i[1]),_=_||{};var C=Math.abs(ZC._f_(_.zoom||"1")),z=ZC._i_(_.offsetX||"0");g*=C,d*=C,o-=t*(C-1)/2,a-=e*(C-1)/2,a+=ZC._i_(_.offsetY||"0"),c=(o+=z)+(ZC.CX(r.bbox[0],r.bbox[2])-ZC.CX(i[0],i[2]))*g,f=a+e*C-(ZC.CX(r.bbox[1],r.bbox[3])-ZC.CX(i[1],i[3]))*d,ZC._a_(r.bbox[2]-r.bbox[0]),h=ZC._a_(r.bbox[3]-r.bbox[1])*d;for(var O=0,Z=r.coords.length;O<Z;O++)if(null===ZC._n_(r.coords[O]))m.push(null);else{var F=r.transform.offsetLon,u=r.transform.offsetLat,I=r.transform.scale;if("__"===r.id&&null!==ZC._n_(n))for(var x=0,M=n.length;x<M;x++)if(r.coords[O][0]>=n[x].bbox[0]-n[x].offsetLon&&r.coords[O][0]<=n[x].bbox[2]-n[x].offsetLon&&r.coords[O][1]>=n[x].bbox[3]-n[x].offsetLat&&r.coords[O][1]<=n[x].bbox[1]-n[x].offsetLat){F=n[x].offsetLon,u=n[x].offsetLat,I=n[x].scale,b=n[x].bbox;break}if(l=o+(r.coords[O][0]-ZC.CX(i[0],i[2]))*g+F*g,p=a+(ZC.BQ(i[1],i[3])-r.coords[O][1])*d-u*d,1!==I)if("__"===r.id){var v=o+(ZC.CX(b[0],b[2])-ZC.CX(i[0],i[2]))*g,N=a+e-(ZC.CX(b[1],b[3])-ZC.CX(i[1],i[3]))*d,y=ZC._a_(b[3]-b[1])*d;l=v+(l-v)*I,p=N-y+(p-(N-y))*I}else l=c+(l-c)*I,p=f-h+(p-(f-h))*I;null!==ZC._n_(s)?m.push([parseInt(l,10)-ZC.AQ.E3,parseInt(p,10)-ZC.AQ.E4,parseInt(s,10)]):m.push([parseInt(l,10),parseInt(p,10)])}return m},zingchart.maps.translate=function(o,a,t,e,i){var r=t/ZC._a_(i[2]-i[0]),n=e/ZC._a_(i[3]-i[1]);return"x"===o?a*r:a*n},zingchart.maps.convert=function(o){var a=o.data.options||{};ZC._todash_(a);var t=o.id,e=o.groups,i=o.items,r=o.ignore,n=o.bbox,_=o.level,s=!1;"01"===_&&(_=1,s=!0);var l=Math.abs(ZC._f_(a.zoom||"1")),p=ZC._i_(a["offset-x"]||"0"),c=ZC._i_(a["offset-y"]||"0"),f=!0,h=!0,g=!0;null!==ZC._n_(a.zooming)&&(f=ZC._b_(a.zooming)),null!==ZC._n_(a.panning)&&(h=ZC._b_(a.panning)),null!==ZC._n_(a.scrolling)&&(g=ZC._b_(a.scrolling));var d,m=o.loader.A0P(o.loaderdata,o.graphid);o.loader.ML&&(d=o.loader.ML.theme||"light"),o.loader.o&&(d=o.loader.o.theme||"light"),"light"===d?o.map._DEFAULTS_=zingchart.maps.LIGHT:"dark"===d&&(o.map._DEFAULTS_=zingchart.maps.DARK),ZC.AQ&&(ZC.AQ.A54=2.5*ZC.BQ(m.graph.width,m.graph.height),ZC.AQ.E3=m.plotarea.x+m.plotarea.width/2,ZC.AQ.E4=m.plotarea.y+m.plotarea.height/2);var b=ZC.IU(o.x);b=ZC._i_(b>0&&b<1?b*m.plotarea.width:b),b+=m.plotarea.x;var C=ZC.IU(o.y);C=ZC._i_(b>0&&C<1?C*m.plotarea.height:C),C+=m.plotarea.y;var z=ZC.IU(o.width);z=ZC._i_(z<=1?z*m.plotarea.width:z);var O=ZC.IU(o.height);O=ZC._i_(O<=1?O*m.plotarea.height:O);var Z,F,u,I,x={};if(ZC._cp_(o.map,x),0===z||0===O||!x)return[];for(Z in x)"_DEFAULTS_"!==Z&&"_INFO_"!==Z&&"_GROUPS_"!==Z&&"_RULES_"!==Z&&(null===ZC._n_(x[Z].transform)&&(x[Z].transform={offsetLon:0,offsetLat:0,scale:1}),null===ZC._n_(x[Z].connector)&&(x[Z].connector={points:[],anchor:""}));for(Z in x)if("_DEFAULTS_"!==Z&&"_INFO_"!==Z&&"_GROUPS_"!==Z&&"_RULES_"!==Z&&!(0===_&&"__"!==Z||0!==_&&"__"===Z&&!s)){I=[ZC.MAX,-ZC.MAX,-ZC.MAX,ZC.MAX];var M=x[Z].transform.offsetLon,v=x[Z].transform.offsetLat,N=x[Z].transform.scale;for(F=0;F<x[Z].coords.length;F++)if(null!==ZC._n_(x[Z].coords[F])){if("__"===Z&&null!==ZC._n_(x._RULES_))for(var y=0,B=x._RULES_.length;y<B;y++)if(x[Z].coords[F][0]>=x._RULES_[y].bbox[0]-x._RULES_[y].offsetLon&&x[Z].coords[F][0]<=x._RULES_[y].bbox[2]-x._RULES_[y].offsetLon&&x[Z].coords[F][1]>=x._RULES_[y].bbox[3]-x._RULES_[y].offsetLat&&x[Z].coords[F][1]<=x._RULES_[y].bbox[1]-x._RULES_[y].offsetLat){M=x._RULES_[y].offsetLon,v=x._RULES_[y].offsetLat,N=x._RULES_[y].scale;break}I[0]=ZC.CX(I[0],x[Z].coords[F][0]+M),I[1]=ZC.BQ(I[1],x[Z].coords[F][1]+v),I[2]=ZC.BQ(I[2],x[Z].coords[F][0]+M),I[3]=ZC.CX(I[3],x[Z].coords[F][1]+v)}1!==N&&"__"!==Z&&(I[2]=I[0]+(I[2]-I[0])*N,I[3]=I[1]-(I[1]-I[3])*N),x[Z].id=Z,x[Z].bbox=I}I=[ZC.MAX,-ZC.MAX,-ZC.MAX,ZC.MAX];var L=[];if(e.length>0&&x._GROUPS_){for(F=0,u=e.length;F<u;F++)x._GROUPS_[e[F]]&&(L=L.concat(x._GROUPS_[e[F]]));for(F=L.length-1;F>=0;F--)if(-1===L[F].indexOf("@"))-1!==ZC.AV(r,L[F])&&L.splice(F,1);else{var R=L[F].split("@");-1!==ZC.AV(r,R[0])&&L.splice(F,1)}}if(i.length>0)for(F=0,u=i.length;F<u;F++)-1===ZC.AV(r,i[F])&&L.push(i[F]);else for(Z in x)if(x.hasOwnProperty(Z)){if("_DEFAULTS_"===Z||"_INFO_"===Z||"_GROUPS_"===Z||"_RULES_"===Z)continue;if(0===_&&"__"!==Z||0!==_&&"__"===Z&&!s)continue;0===e.length&&-1===ZC.AV(r,Z)&&L.push(Z)}for(F=L.length-1;F>=0;F--)if(L[F]&&-1!==L[F].indexOf("@")){var X=L[F].split("@");-1!==ZC.AV(L,X[0])&&L.splice(F,1)}if(null!==ZC._n_(n)&&4===n.length)I=n;else for(F=0,u=L.length;F<u;F++)x[Z=L[F]]&&(I[0]=ZC.CX(I[0],x[Z].bbox[0]),I[1]=ZC.BQ(I[1],x[Z].bbox[1]),I[2]=ZC.BQ(I[2],x[Z].bbox[2]),I[3]=ZC.CX(I[3],x[Z].bbox[3]));var A,E=ZC._a_(I[2]-I[0])/20,S=ZC._a_(I[3]-I[1])/20;for(Z in I[0]-=E,I[1]+=S,I[2]+=E,I[3]-=S,x)"_DEFAULTS_"!==Z&&"_INFO_"!==Z&&"_GROUPS_"!==Z&&"_RULES_"!==Z&&(0===_&&"__"!==Z||0!==_&&"__"===Z&&!s||(E=ZC.CX(1,ZC._a_(x[Z].bbox[2]-x[Z].bbox[0])/8),S=ZC.CX(1,ZC._a_(x[Z].bbox[3]-x[Z].bbox[1])/8),x[Z].bbox[0]-=E,x[Z].bbox[1]+=S,x[Z].bbox[2]+=E,x[Z].bbox[3]-=S));var Y=1+.8*ZC._a_((I[3]+I[1])/180),U=z/ZC._a_(I[2]-I[0]),w=O/ZC._a_(I[3]-I[1]);if(!a.hasOwnProperty("scale")||ZC._b_(a.scale)){if((A=Y*U/w)>1.05){var D=ZC._i_(z/A);b+=(z-D)/2,z=D}else if(A<.95){var T=ZC._i_(O*A);C+=(O-T)/2,O=T}U=z/ZC._a_(I[2]-I[0]),w=O/ZC._a_(I[3]-I[1])}for(var P in zingchart.maps.maps)if(t!==P){var k=zingchart.maps.maps[P];k&&k._INFO_&&o.loader.K===k._INFO_.loaderid&&k._INFO_.graphinfo&&k._INFO_.graphinfo.graph&&k._INFO_.graphinfo.graph.index===m.graph.index&&(k._INFO_.graphinfo.graph.index=-1)}x._INFO_={loaderid:o.loader.K,x:b,y:C,zoom:l,zooming:f,panning:h,scrolling:g,offsetX:p,offsetY:c,width:z,height:O,id:t,bbox:I,groups:e,items:L,ignore:r,graphinfo:m},3*L.length>zingchart.DEV.MAXPOOLSIZE&&(zingchart.DEV.MAXPOOLSIZE+=3*L.length),zingchart.maps.maps[t]=x;var G,H={},Q={};if(G=a.choropleth){var V,J=ZC.MAX,j=-ZC.MAX,K="";for(F=0,u=L.length;F<u;F++)Z=L[F],null!==ZC._n_(a.style)&&null!==ZC._n_(a.style.items)&&null!==ZC._n_(a.style.items[Z])&&null!==ZC._n_(a.style.items[Z]["data-value"])&&(V=ZC._f_(a.style.items[Z]["data-value"]),J=Math.min(J,V),j=Math.max(j,V),Q[Z]={"data-value":V});var W=G.aspect||"gradient",q=G.progression||"lin",$=G.intervals||4,oo=G.color||"#336699",ao=G["max-percent"]||50,to=G.effect||"lighten",eo=ZC._b_(G.mirrored),io=ao/(j-J);"log"===q&&(io=ao/(ZC.FU(j,10)-ZC.FU(J,10)));var ro=ao/$,no=G[ZC._[10]]||[],_o=G.steps||[],so=G.colors||[];if("intervals"===W){if(_o.length)$=_o.length-1;else if("lin"===q){var lo=(j-J)/$;for(F=0;F<$;F+=1)_o.push(J+F*lo);_o.push(j)}else{var po=Math.floor(ZC.FU(J,10)),co=Math.ceil(ZC.FU(j,10));for(po===co&&co++,$=Math.max(1,co-po-1),F=po;F<=co;F+=1)F===po&&po<1?_o.push(0):_o.push(Math.pow(10,F));ro=ao/$}if(!so.length)for(F=0;F<=$;F+=1)so.push("lighten"===to?ZC.AR.RC(oo,F*ro):ZC.AR.JU(oo,F*ro))}for(F=0,u=L.length;F<u;F++)if(Q[Z=L[F]]){if(V=Q[Z]["data-value"],"gradient"===W){var fo=ZC._i_((V-J)*io);"log"===q&&(fo=ZC._i_((ZC.FU(V,10)-ZC.FU(J,10))*io)),eo&&(fo=ao-fo),K="lighten"===to?ZC.AR.RC(oo,fo):ZC.AR.JU(oo,fo)}else if("intervals"===W){for(var ho=0;ho<_o.length-1;ho++)if(V>=_o[ho]&&V<_o[ho+1]){K=so[ho];break}""===K&&V===j&&(K=so[so.length-1])}Q[Z]={"data-color":K,"background-color":K,"hover-state":{"background-color":K}},G["override-tooltip"]&&(Q[Z].tooltip={"background-color":ZC.AR.JU(K,15)})}x._INFO_.choropleth={aspect:W,progression:q,intervals:$,color:oo,maxPercent:ao,effect:to,minValue:J,maxValue:j,steps:_o,colors:so,labels:no,mirrored:eo}}for(a["color-scale"]&&(x._INFO_["color-scale"]=!0),F=0,u=L.length;F<u;F++)if(x[Z=L[F]]){var go=x[Z].type||"poly",mo=0;"line"!==go&&"point"!==go||(mo+=10),x[Z].sort&&(x[Z].sort&&(x[Z].sort=.5),mo+=x[Z].sort);var bo,Co,zo,Oo=null;if(null!==ZC._n_(a.style)&&(a.style["3d"]&&(Oo=1),null!==ZC._n_(a.style.z)&&(Oo=a.style.z),null!==ZC._n_(a.style.items)&&null!==ZC._n_(a.style.items[Z])&&null!==ZC._n_(a.style.items[Z].z)&&(Oo=a.style.items[Z].z)),"poly"===go||"line"===go)H[Z]={type:go,id:Z,points:zingchart.maps.mappoints(b,C,z,O,I,x[Z],x._RULES_,x._INFO_,Oo),label:{map:t},"z-sort":mo,"z-index":mo,tooltip:{},connector:{},"map-item":!0,generated:!0};else if("point"===go){var Zo=zingchart.maps.mappoints(b,C,z,O,I,x[Z],x._RULES_,x._INFO_,Oo);H[Z]={type:"circle",id:Z,size:5,x:Zo[0][0],y:Zo[0][1],label:{map:t},"z-sort":mo,"z-index":mo,tooltip:{},connector:{},"map-item":!0,generated:!0}}if("poly"===go||"line"===go){var Fo=zingchart.maps.centroid(H[Z].points);Co=Fo[0],zo=Fo[1],bo=Fo[2]}x._DEFAULTS_&&(ZC._cp_(x._DEFAULTS_._COMMON_,H[Z]),"poly"===go?ZC._cp_(x._DEFAULTS_._POLY_,H[Z]):"line"===go?ZC._cp_(x._DEFAULTS_._LINE_,H[Z]):"point"===go&&ZC._cp_(x._DEFAULTS_._POINT_,H[Z])),x[Z].style&&ZC._cp_(x[Z].style,H[Z]),ZC._todash_(H[Z]);var uo=x[Z].label.text,Io=x[Z].tooltip.text;ZC._cp_(a.style,H[Z],null,null,null,["items"]);var xo=x[Z].tooltip.text||"",Mo=H[Z].tooltip.text||"";ZC._cp_(x[Z].tooltip,H[Z].tooltip);var vo=H[Z].label.text;ZC._cp_(x[Z].label,H[Z].label),vo&&(H[Z].label.text=vo),1===zingchart.maps.CONNECTORS&&ZC._cp_(x[Z].connector,H[Z].connector),"poly"!==go&&"line"!==go||"auto"===H[Z].label.visible&&bo<400&&(0===zingchart.maps.CONNECTORS||0===H[Z].connector.points.length)&&(H[Z].label.visible=!1),Q[Z]&&ZC._cp_(Q[Z],H[Z]);var No=!1;for(var yo in null!==ZC._n_(a.style)&&null!==ZC._n_(a.style.items)&&(ZC._cp_(a.style.items[Z],H[Z]),a.style.items[Z]&&a.style.items[Z].tooltip&&a.style.items[Z].tooltip.text&&(xo=a.style.items[Z].tooltip.text,-1===Mo.indexOf("%text")&&(No=!0))),H[Z].tooltip.text=""===Mo||No?xo:Mo.replace("%text",xo),H[Z])"data-"===yo.substring(0,5)&&(H[Z].tooltip.text=H[Z].tooltip.text.replace("%"+yo,H[Z][yo]),H[Z].label.text=H[Z].label.text.replace("%"+yo,H[Z][yo]));if(H[Z].tooltip.text=H[Z].tooltip.text.replace("%short-text",uo).replace("%long-text",Io),H[Z].label.text=H[Z].label.text.replace("%short-text",uo).replace("%long-text",Io),zingchart.maps.CONNECTORS&&null!==ZC._n_(H[Z].connector.points)){for(var Bo=0,Lo=H[Z].connector.points.length;Bo<Lo;Bo++)H[Z].connector.points[Bo]=zingchart.maps.lonlat2xy(b,C,z,O,H[Z].connector.points[Bo],I,{zoom:l,offsetX:p,offsetY:c});H[Z].connector.points=ZC.AR.A69(H[Z].connector.points,m.graph.x,m.graph.y)}null===ZC._n_(H[Z].label.x)&&(H[Z].label.x=Co+m.graph.x),null===ZC._n_(H[Z].label.y)&&(H[Z].label.y=zo+m.graph.y)}var Ro=m.graph.width,Xo=m.graph.height;a.style=a.style||{};var Ao=a.style.controls||{};if(null===ZC._n_(Ao.visible)||ZC._b_(Ao.visible)){var Eo=ZC._i_(Ao.x||"-1"),So=ZC._i_(Ao.y||"-1"),Yo=Ao[ZC._[7]]||"";""!==Yo||-1!==Eo&&-1!==So||(Yo="tl");switch(Yo){case"tl":Eo=10,So=10;break;case"tr":Eo=0+Ro-25-10,So=10;break;case"bl":Eo=10,So=0+Xo-50-10;break;case"br":Eo=0+Ro-25-10,So=0+Xo-50-10}H._ZOOM_IN_={objtype:"label",id:x._INFO_.id+"_zoom_in",generated:!0,x:Eo,y:So,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,H._ZOOM_IN_.tooltip),ZC._cp_(Ao["zoom-in"],H._ZOOM_IN_),H._ZOOM_OUT_={objtype:"label",id:x._INFO_.id+"_zoom_out",generated:!0,x:Eo,y:So+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,H._ZOOM_OUT_.tooltip),ZC._cp_(Ao["zoom-out"],H._ZOOM_OUT_)}return A=Y*U/w,!zingchart.maps.FORCESCALE&&(A>1.05||A<.95)&&(H._ALERT_={type:"circle",id:"_ALERT_",x:b+10,y:C+10,size:8,"background-color":"#c00",label:{color:"#fff",bold:!0,text:"!"},tooltip:{text:"Scaling Error<br />Use "+z+"/"+ZC._i_(O*A)+" or "+ZC._i_(z/A)+"/"+O,"background-color":"#c00","border-radius":8,color:"#fff"}}),H},zingchart.maps.exportMap=function(o,a){var t=['ZC.X3.push("maps-{{exportid}}");',"","(function() {","","if (!zingchart.maps.{{exportid}}) {","zingchart.maps.{{exportid}} = {};","};","","if (!zingchart.maps.data.{{exportid}}) {","zingchart.maps.data.{{exportid}} = {};","};","","var _COORDS_ = {","{{coords}}","};","","zingchart.maps.data.{{exportid}} = {","_GROUPS_:{","{{groups}}","},","_DEFAULTS_:zingchart.maps._DEFAULTS_,","{{items}}","};","",'zingchart.maps.upgrade("{{exportid}}");',"","})();","","zingchart.maps.{{exportid}} = function(p, ld, d) {","return zingchart.maps.convert({","loader:this,","loaderdata:ld || {},",'graphid:((typeof(p.graphid) == "undefined")?0:p.graphid),',"data:d,",'id:p.id || "{{exportid}}",','x:((typeof(p.x) == "undefined")?0:p.x),','y:((typeof(p.y) == "undefined")?0:p.y),','width:((typeof(p.width) == "undefined")?1:p.width),','height:((typeof(p.height) == "undefined")?1:p.height),','level:((typeof(p.level) == "undefined")?1:p.level),',"groups:p.groups || [],","items:p.items || [],","ignore:p.ignore || [],","bbox:p.bbox || null,","map:zingchart.maps.data.{{exportid}}","});","}"].join("\n"),e=['"{{id}}":{','coords:_COORDS_["{{id}}"],',"tooltip:{",'text:"{{text}}"',"},","cpoint:{",'x:"{{x}}", y:"{{y}}"',"},","label:{",'text:"{{id}}", x:"{{x}}", y:"{{y}}"',"}","}"].join("\n"),i=t;i=i.replace(/\{\{exportid\}\}/gi,a);var r=[],n=[],_=[],s=zingchart.maps.data[o];for(var l in s._GROUPS_){var p='"'+l+'":["'+s._GROUPS_[l].join('","')+'"]';n.push(p)}for(var c in s)if("_DEFAULTS_"!==c&&"_GROUPS_"!==c){var f=e;f=(f=(f=(f=f.replace(/\{\{id\}\}/g,c)).replace(/\{\{text\}\}/g,s[c].tooltip.text)).replace(/\{\{x\}\}/g,s[c].cpoint.x)).replace(/\{\{y\}\}/g,s[c].cpoint.y),_.push(f);for(var h='"'+c+'":',g=[],d=0;d<s[c].coords.length;d++)s[c].coords[d]?g.push([s[c].coords[d][0].toFixed(3),s[c].coords[d][1].toFixed(3)]):g.push(null);h+=JSON.stringify(g).replace(/\"/g,""),r.push(h)}return i=(i=(i=i.replace(/\{\{coords\}\}/gi,r.join(",\n"))).replace(/\{\{groups\}\}/gi,n.join(",\n"))).replace(/\{\{items\}\}/gi,_.join(",\n"))};