1
2
3
4
5
6
7
8
|
/*
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 [email protected].
Build 2.9.2
*/
ZC.WA.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"},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(".");1===e.length?t=t[o]:2===e.length&&(t=t[e[0]][e[1]]);for(var i in 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 _*=.5,r/=6*_,n/=6*_,[r,n,_]},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(A50){var oMap=zingchart.maps.maps[A50]||eval("zingchart.maps.data."+A50);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)}},zingchart.maps.zoomOut=function(A50){var oMap=zingchart.maps.maps[A50]||eval("zingchart.maps.data."+A50);if(oMap&&oMap._INFO_){var H=zingchart.getLoader(oMap._INFO_.loaderid),C=H.AH[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,EB,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)EB=zingchart.maps.getXY(oMap._INFO_.id,aLonLat),oMap._INFO_.offsetX-=EB[0]-iMouseX,oMap._INFO_.offsetY-=EB[1]-iMouseY;else{EB=zingchart.maps.getXY(oMap._INFO_.id,aCP);var ON=EB[0]-iCX,ZW=EB[1]-iCY/2;oMap._INFO_.offsetX=ON*((oMap._INFO_.zoom-1)/5),oMap._INFO_.offsetY=ZW*((oMap._INFO_.zoom-1)/5)}zingchart.maps.setView(oMap._INFO_.loaderid,oMap._INFO_.id,oMap._INFO_.zoom,oMap._INFO_.offsetX,oMap._INFO_.offsetY)}},zingchart.maps.destroyMap=function(o){delete zingchart.maps.maps[o]},zingchart.maps.setView=function(o,a,t,e,i){for(var r=zingchart.getLoader(o),n=0,_=0,s=0;s<r.o.graphset.length;s++)if(r.o.graphset[s].shapes)for(var l=0;l<r.o.graphset[s].shapes.length;l++)if("zingchart.maps"===r.o.graphset[s].shapes[l].type&&r.o.graphset[s].shapes[l].options&&(r.o.graphset[s].shapes[l].options.id===a||r.o.graphset[s].shapes[l].options.name===a)){n=s,_=l;break}var p=r.o.graphset[n].shapes[_];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_(i||"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)),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),r.clearGenerated(),zingchart.exec(o,"setdata",{data:r.o})},zingchart.bind(null,"shape_mouseover",function(o){var a=zingchart.getLoader(o.id),t=ZC.Q.M7(o.ev),e=a.A4O(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.AGD(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.M7(o.ev),e=a.A4O(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.M7(o.ev),e=a.A4O(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.M7(o.ev),e=a.A4O(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,"mousedown",function(o){if(0===o.ev.button&&("none"===o.target||"shape"===o.target)){var a=zingchart.getLoader(o.id),t=ZC.Q.M7(o.ev);o.ev.preventDefault();var e=a.A4O(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,"mousemove",function(o){if(zingchart.maps.MD){var a=zingchart.getLoader(o.id),t=ZC.Q.M7(o.ev),e=a.A4O(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.AP.BZ("maps.zoom",zingchart.getLoader(i._INFO_.loaderid),i._INFO_)))}}}),zingchart.bind(null,"mouseup",function(o){if(zingchart.maps.MD){var a=zingchart.getLoader(o.id),t=ZC.Q.M7(o.ev),e=a.A4O(t[0],t[1]);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.M7(o.ev),e=a.A4O(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.A4("#"+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,d=s[1]-n/2;i._INFO_.offsetX=h*((i._INFO_.zoom-1)/5),i._INFO_.offsetY=d*((i._INFO_.zoom-1)/5)}}zingchart.maps.setView(o.id,i._INFO_.id,i._INFO_.zoom,i._INFO_.offsetX,i._INFO_.offsetY),ZC.AP.BZ("maps.zoom",zingchart.getLoader(i._INFO_.loaderid),i._INFO_)}}}),zingchart.maps.viewAll=function(A50){var oMap=zingchart.maps.maps[A50];(oMap||(oMap=eval("zingchart.maps.data."+A50)))&&zingchart.maps.zoomTo(A50,{zoom:1,offsetX:0,offsetY:0})},zingchart.maps.zoomToItem=function(A50,AAK){var oMap,BR;if(oMap=zingchart.maps.maps[A50]){if(!(BR=oMap[AAK]))return}else if(!(oMap=eval("zingchart.maps.data."+A50))||!(BR=oMap[AAK]))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(A50,{zoom:fZoom,offsetX:fOffX,offsetY:fOffY})}},zingchart.maps.zoomTo=function(A50,BB){var oMap=zingchart.maps.maps[A50]||eval("zingchart.maps.data."+A50);if(oMap){var MS={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 W=0,R8=10,iZoomTick=window.setInterval(function(){var o="regularEaseOut",a=ZC.EA[o](W,MS.zoom,BB.zoom-MS.zoom,R8),t=ZC.EA[o](W,MS.offsetX,BB.offsetX-MS.offsetX,R8),e=ZC.EA[o](W,MS.offsetY,BB.offsetY-MS.offsetY,R8);W===R8&&(zingchart.maps.SKIP_LABELS=!1,zingchart.exec(oMap._INFO_.loaderid,"setobjectsmode",{mode:"normal"})),zingchart.maps.setView(oMap._INFO_.loaderid,A50,a,t,e),++W>R8&&(window.clearInterval(iZoomTick),oMap._INFO_.zoom=BB.fZoom,oMap._INFO_.offsetX=BB.fOffX,oMap._INFO_.offsetY=BB.fOffY,ZC.AP.BZ("maps.zoom",zingchart.getLoader(oMap._INFO_.loaderid),oMap._INFO_))},1)}},zingchart.maps.getInfo=function(A50){var oMap=zingchart.maps.maps[A50];return oMap||(oMap=eval("zingchart.maps.data."+A50)),oMap},zingchart.maps.getItems=function(A50){var oMap=zingchart.maps.maps[A50];if(oMap||(oMap=eval("zingchart.maps.data."+A50)),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(A50,AAK){var oMap,BR;if(oMap=zingchart.maps.maps[A50]){if(BR=oMap[AAK])return BR}else if((oMap=eval("zingchart.maps.data."+A50))&&(BR=oMap[AAK]))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.WA.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:"undefined"==typeof a.graphid?0:a.graphid,data:e,id:a.id||o,x:"undefined"==typeof a.x?0:a.x,y:"undefined"==typeof a.y?0:a.y,width:"undefined"==typeof a.width?1:a.width,height:"undefined"==typeof a.height?1:a.height,level:"undefined"==typeof a.level?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,BO,bTranslate){void 0===bTranslate&&(bTranslate=!1),BO=BO||{};var iZoom=Math.abs(ZC._f_(BO.zoom||"1")),BJ=ZC._i_(BO.offsetX||"0"),BH=ZC._i_(BO.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+=BJ,iY+=BH;var iPx=iX+(ZC._f_(aLonLat[0])-ZC.CY(aBBox[0],aBBox[2]))*fLonRatio,iPy=iY+F-(ZC._f_(aLonLat[1])-ZC.CY(aBBox[1],aBBox[3]))*fLatRatio,oMap,BR;if(BO&&BO.map&&((oMap=zingchart.maps.maps[BO.map])||(oMap=eval("zingchart.maps.data."+BO.map)),oMap)){if((BR=oMap[BO.item])&&(iPx+=BR.transform.offsetLon*fLonRatio,iPy-=BR.transform.offsetLat*fLatRatio,1!==BR.transform.scale)){var oItemX=iX+(ZC.CY(BR.bbox[0],BR.bbox[2])-ZC.CY(aBBox[0],aBBox[2]))*fLonRatio,oItemY=iY+F-(ZC.CY(BR.bbox[1],BR.bbox[3])-ZC.CY(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,d,g,m=[],b=null;d=t/ZC._a_(i[2]-i[0]),g=e/ZC._a_(i[3]-i[1]),_=_||{};var C=Math.abs(ZC._f_(_.zoom||"1")),z=ZC._i_(_.offsetX||"0");d*=C,g*=C,o-=t*(C-1)/2,a-=e*(C-1)/2,a+=ZC._i_(_.offsetY||"0"),c=(o+=z)+(ZC.CY(r.bbox[0],r.bbox[2])-ZC.CY(i[0],i[2]))*d,f=a+e*C-(ZC.CY(r.bbox[1],r.bbox[3])-ZC.CY(i[1],i[3]))*g,ZC._a_(r.bbox[2]-r.bbox[0]),h=ZC._a_(r.bbox[3]-r.bbox[1])*g;for(var O=0,u=r.coords.length;O<u;O++)if(null===ZC._n_(r.coords[O]))m.push(null);else{var Z=r.transform.offsetLon,F=r.transform.offsetLat,I=r.transform.scale;if("__"===r.id&&null!==ZC._n_(n))for(var x=0,v=n.length;x<v;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){Z=n[x].offsetLon,F=n[x].offsetLat,I=n[x].scale,b=n[x].bbox;break}if(l=o+(r.coords[O][0]-ZC.CY(i[0],i[2]))*d+Z*d,p=a+(ZC.BQ(i[1],i[3])-r.coords[O][1])*g-F*g,1!==I)if("__"===r.id){var M=o+(ZC.CY(b[0],b[2])-ZC.CY(i[0],i[2]))*d,N=a+e-(ZC.CY(b[1],b[3])-ZC.CY(i[1],i[3]))*g,L=ZC._a_(b[3]-b[1])*g;l=M+(l-M)*I,p=N-L+(p-(N-L))*I}else l=c+(l-c)*I,p=f-h+(p-(f-h))*I;null!==ZC._n_(s)?m.push([parseInt(l,10)-ZC.AN.E3,parseInt(p,10)-ZC.AN.E2,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,d=!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)&&(d=ZC._b_(a.scrolling));var g,m=o.loader.A4J(o.loaderdata,o.graphid);o.loader.M6&&(g=o.loader.M6.theme||"light"),o.loader.o&&(g=o.loader.o.theme||"light"),"light"===g?o.map._DEFAULTS_=zingchart.maps.LIGHT:"dark"===g&&(o.map._DEFAULTS_=zingchart.maps.DARK),ZC.AN&&(ZC.AN.A4E=2.5*ZC.BQ(m.graph.width,m.graph.height),ZC.AN.E3=m.plotarea.x+m.plotarea.width/2,ZC.AN.E2=m.plotarea.y+m.plotarea.height/2);var b=ZC.IH(o.x);b=ZC._i_(b>0&&b<1?b*m.plotarea.width:b),b+=m.plotarea.x;var C=ZC.IH(o.y);C=ZC._i_(b>0&&C<1?C*m.plotarea.height:C),C+=m.plotarea.y;var z=ZC.IH(o.width);z=ZC._i_(z<=1?z*m.plotarea.width:z);var O=ZC.IH(o.height);O=ZC._i_(O<=1?O*m.plotarea.height:O);var u,Z,F,I={};if(ZC._cp_(o.map,I),0===z||0===O||!I)return[];for(u in I)"_DEFAULTS_"!==u&&"_INFO_"!==u&&"_GROUPS_"!==u&&"_RULES_"!==u&&(null===ZC._n_(I[u].transform)&&(I[u].transform={offsetLon:0,offsetLat:0,scale:1}),null===ZC._n_(I[u].connector)&&(I[u].connector={points:[],anchor:""}));var x;for(u in I)if("_DEFAULTS_"!==u&&"_INFO_"!==u&&"_GROUPS_"!==u&&"_RULES_"!==u&&!(0===_&&"__"!==u||0!==_&&"__"===u&&!s)){x=[ZC.MAX,-ZC.MAX,-ZC.MAX,ZC.MAX];var v=I[u].transform.offsetLon,M=I[u].transform.offsetLat,N=I[u].transform.scale;for(Z=0;Z<I[u].coords.length;Z++)if(null!==ZC._n_(I[u].coords[Z])){if("__"===u&&null!==ZC._n_(I._RULES_))for(var L=0,y=I._RULES_.length;L<y;L++)if(I[u].coords[Z][0]>=I._RULES_[L].bbox[0]-I._RULES_[L].offsetLon&&I[u].coords[Z][0]<=I._RULES_[L].bbox[2]-I._RULES_[L].offsetLon&&I[u].coords[Z][1]>=I._RULES_[L].bbox[3]-I._RULES_[L].offsetLat&&I[u].coords[Z][1]<=I._RULES_[L].bbox[1]-I._RULES_[L].offsetLat){v=I._RULES_[L].offsetLon,M=I._RULES_[L].offsetLat,N=I._RULES_[L].scale;break}x[0]=ZC.CY(x[0],I[u].coords[Z][0]+v),x[1]=ZC.BQ(x[1],I[u].coords[Z][1]+M),x[2]=ZC.BQ(x[2],I[u].coords[Z][0]+v),x[3]=ZC.CY(x[3],I[u].coords[Z][1]+M)}1!==N&&"__"!==u&&(x[2]=x[0]+(x[2]-x[0])*N,x[3]=x[1]-(x[1]-x[3])*N),I[u].id=u,I[u].bbox=x}x=[ZC.MAX,-ZC.MAX,-ZC.MAX,ZC.MAX];var A=[];if(e.length>0&&I._GROUPS_){for(Z=0,F=e.length;Z<F;Z++)I._GROUPS_[e[Z]]&&(A=A.concat(I._GROUPS_[e[Z]]));for(Z=A.length-1;Z>=0;Z--)if(-1===A[Z].indexOf("@"))-1!==ZC.AV(r,A[Z])&&A.splice(Z,1);else{var B=A[Z].split("@");-1!==ZC.AV(r,B[0])&&A.splice(Z,1)}}if(i.length>0)for(Z=0,F=i.length;Z<F;Z++)-1===ZC.AV(r,i[Z])&&A.push(i[Z]);else for(u in I)if(I.hasOwnProperty(u)){if("_DEFAULTS_"===u||"_INFO_"===u||"_GROUPS_"===u||"_RULES_"===u)continue;if(0===_&&"__"!==u||0!==_&&"__"===u&&!s)continue;0===e.length&&-1===ZC.AV(r,u)&&A.push(u)}for(Z=A.length-1;Z>=0;Z--)if(A[Z]&&-1!==A[Z].indexOf("@")){var R=A[Z].split("@");-1!==ZC.AV(A,R[0])&&A.splice(Z,1)}if(null!==ZC._n_(n)&&4===n.length)x=n;else for(Z=0,F=A.length;Z<F;Z++)I[u=A[Z]]&&(x[0]=ZC.CY(x[0],I[u].bbox[0]),x[1]=ZC.BQ(x[1],I[u].bbox[1]),x[2]=ZC.BQ(x[2],I[u].bbox[2]),x[3]=ZC.CY(x[3],I[u].bbox[3]));var E=ZC._a_(x[2]-x[0])/20,Y=ZC._a_(x[3]-x[1])/20;x[0]-=E,x[1]+=Y,x[2]+=E,x[3]-=Y;for(u in I)"_DEFAULTS_"!==u&&"_INFO_"!==u&&"_GROUPS_"!==u&&"_RULES_"!==u&&(0===_&&"__"!==u||0!==_&&"__"===u&&!s||(E=ZC.CY(1,ZC._a_(I[u].bbox[2]-I[u].bbox[0])/8),Y=ZC.CY(1,ZC._a_(I[u].bbox[3]-I[u].bbox[1])/8),I[u].bbox[0]-=E,I[u].bbox[1]+=Y,I[u].bbox[2]+=E,I[u].bbox[3]-=Y));var S,X=1+.8*ZC._a_((x[3]+x[1])/180),w=z/ZC._a_(x[2]-x[0]),U=O/ZC._a_(x[3]-x[1]);if(!a.hasOwnProperty("scale")||ZC._b_(a.scale)){if((S=X*w/U)>1.05){var D=ZC._i_(z/S);b+=(z-D)/2,z=D}else if(S<.95){var P=ZC._i_(O*S);C+=(O-P)/2,O=P}w=z/ZC._a_(x[2]-x[0]),U=O/ZC._a_(x[3]-x[1])}for(var T in zingchart.maps.maps)if(t!==T){var k=zingchart.maps.maps[T];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)}I._INFO_={loaderid:o.loader.K,x:b,y:C,zoom:l,zooming:f,panning:h,scrolling:d,offsetX:p,offsetY:c,width:z,height:O,id:t,bbox:x,groups:e,items:A,ignore:r,graphinfo:m},3*A.length>zingchart.DEV.MAXPOOLSIZE&&(zingchart.DEV.MAXPOOLSIZE+=3*A.length),zingchart.maps.maps[t]=I;var H,G={},W={};if(H=a.choropleth){var Q,V=ZC.MAX,K=-ZC.MAX,j="";for(Z=0,F=A.length;Z<F;Z++)u=A[Z],null!==ZC._n_(a.style)&&null!==ZC._n_(a.style.items)&&null!==ZC._n_(a.style.items[u])&&null!==ZC._n_(a.style.items[u]["data-value"])&&(Q=ZC._f_(a.style.items[u]["data-value"]),V=Math.min(V,Q),K=Math.max(K,Q),W[u]={"data-value":Q});var J=H.aspect||"gradient",q=H.progression||"lin",$=H.intervals||4,oo=H.color||"#336699",ao=H["max-percent"]||50,to=H.effect||"lighten",eo=ZC._b_(H.mirrored),io=ao/(K-V);"log"===q&&(io=ao/(ZC.H0(K,10)-ZC.H0(V,10)));var ro=ao/$,no=H.labels||[],_o=H.steps||[],so=H.colors||[];if("intervals"===J){if(_o.length)$=_o.length-1;else if("lin"===q){var lo=(K-V)/$;for(Z=0;Z<$;Z+=1)_o.push(V+Z*lo);_o.push(K)}else{var po=Math.floor(ZC.H0(V,10)),co=Math.ceil(ZC.H0(K,10));for(po===co&&co++,$=Math.max(1,co-po-1),Z=po;Z<=co;Z+=1)Z===po&&po<1?_o.push(0):_o.push(Math.pow(10,Z));ro=ao/$}if(!so.length)for(Z=0;Z<=$;Z+=1)so.push("lighten"===to?ZC.AP.QT(oo,Z*ro):ZC.AP.JH(oo,Z*ro))}for(Z=0,F=A.length;Z<F;Z++)if(u=A[Z],W[u]){if(Q=W[u]["data-value"],"gradient"===J){var fo=ZC._i_((Q-V)*io);"log"===q&&(fo=ZC._i_((ZC.H0(Q,10)-ZC.H0(V,10))*io)),eo&&(fo=ao-fo),j="lighten"===to?ZC.AP.QT(oo,fo):ZC.AP.JH(oo,fo)}else if("intervals"===J){for(var ho=0;ho<_o.length-1;ho++)if(Q>=_o[ho]&&Q<_o[ho+1]){j=so[ho];break}""===j&&Q===K&&(j=so[so.length-1])}W[u]={"data-color":j,"background-color":j,"hover-state":{"background-color":j}},H["override-tooltip"]&&(W[u].tooltip={"background-color":ZC.AP.JH(j,15)})}I._INFO_.choropleth={aspect:J,progression:q,intervals:$,color:oo,maxPercent:ao,effect:to,minValue:V,maxValue:K,steps:_o,colors:so,labels:no,mirrored:eo}}for(a["color-scale"]&&(I._INFO_["color-scale"]=!0),Z=0,F=A.length;Z<F;Z++)if(u=A[Z],I[u]){var go=I[u].type||"poly",mo=0;"line"!==go&&"point"!==go||(mo+=10),I[u].sort&&(I[u].sort&&(I[u].sort=.5),mo+=I[u].sort);var bo=null;if(null!==ZC._n_(a.style)&&(a.style["3d"]&&(bo=1),null!==ZC._n_(a.style.z)&&(bo=a.style.z),null!==ZC._n_(a.style.items)&&null!==ZC._n_(a.style.items[u])&&null!==ZC._n_(a.style.items[u].z)&&(bo=a.style.items[u].z)),"poly"===go||"line"===go)G[u]={type:go,id:u,points:zingchart.maps.mappoints(b,C,z,O,x,I[u],I._RULES_,I._INFO_,bo),label:{map:t},"z-sort":mo,"z-index":mo,tooltip:{},connector:{},"map-item":!0,generated:!0};else if("point"===go){var Co=zingchart.maps.mappoints(b,C,z,O,x,I[u],I._RULES_,I._INFO_,bo);G[u]={type:"circle",id:u,size:5,x:Co[0][0],y:Co[0][1],label:{map:t},"z-sort":mo,"z-index":mo,tooltip:{},connector:{},"map-item":!0,generated:!0}}var zo,Oo,uo;if("poly"===go||"line"===go){var Zo=zingchart.maps.centroid(G[u].points);Oo=Zo[0],uo=Zo[1],zo=Zo[2]}I._DEFAULTS_&&(ZC._cp_(I._DEFAULTS_._COMMON_,G[u]),"poly"===go?ZC._cp_(I._DEFAULTS_._POLY_,G[u]):"line"===go?ZC._cp_(I._DEFAULTS_._LINE_,G[u]):"point"===go&&ZC._cp_(I._DEFAULTS_._POINT_,G[u])),I[u].style&&ZC._cp_(I[u].style,G[u]),ZC._todash_(G[u]);var Fo=I[u].label.text,Io=I[u].tooltip.text;ZC._cp_(a.style,G[u],null,null,null,["items"]);var xo=I[u].tooltip.text||"",vo=G[u].tooltip.text||"";ZC._cp_(I[u].tooltip,G[u].tooltip);var Mo=G[u].label.text;ZC._cp_(I[u].label,G[u].label),Mo&&(G[u].label.text=Mo),1===zingchart.maps.CONNECTORS&&ZC._cp_(I[u].connector,G[u].connector),"poly"!==go&&"line"!==go||"auto"===G[u].label.visible&&zo<400&&(0===zingchart.maps.CONNECTORS||0===G[u].connector.points.length)&&(G[u].label.visible=!1),W[u]&&ZC._cp_(W[u],G[u]);var No=!1;null!==ZC._n_(a.style)&&null!==ZC._n_(a.style.items)&&(ZC._cp_(a.style.items[u],G[u]),a.style.items[u]&&a.style.items[u].tooltip&&a.style.items[u].tooltip.text&&(xo=a.style.items[u].tooltip.text,-1===vo.indexOf("%text")&&(No=!0))),G[u].tooltip.text=""===vo||No?xo:vo.replace("%text",xo);for(var Lo in G[u])"data-"===Lo.substring(0,5)&&(G[u].tooltip.text=G[u].tooltip.text.replace("%"+Lo,G[u][Lo]),G[u].label.text=G[u].label.text.replace("%"+Lo,G[u][Lo]));if(G[u].tooltip.text=G[u].tooltip.text.replace("%short-text",Fo).replace("%long-text",Io),G[u].label.text=G[u].label.text.replace("%short-text",Fo).replace("%long-text",Io),zingchart.maps.CONNECTORS&&null!==ZC._n_(G[u].connector.points)){for(var yo=0,Ao=G[u].connector.points.length;yo<Ao;yo++)G[u].connector.points[yo]=zingchart.maps.lonlat2xy(b,C,z,O,G[u].connector.points[yo],x,{zoom:l,offsetX:p,offsetY:c});G[u].connector.points=ZC.AP.A4Q(G[u].connector.points,m.graph.x,m.graph.y)}null===ZC._n_(G[u].label.x)&&(G[u].label.x=Oo+m.graph.x),null===ZC._n_(G[u].label.y)&&(G[u].label.y=uo+m.graph.y)}var Bo=m.graph.width,Ro=m.graph.height;a.style=a.style||{};var Eo=a.style.controls||{};if(null===ZC._n_(Eo.visible)||ZC._b_(Eo.visible)){var Yo=ZC._i_(Eo.x||"-1"),So=ZC._i_(Eo.y||"-1"),Xo=Eo.placement||"";""!==Xo||-1!==Yo&&-1!==So||(Xo="tl");switch(Xo){case"tl":Yo=10,So=10;break;case"tr":Yo=0+Bo-25-10,So=10;break;case"bl":Yo=10,So=0+Ro-50-10;break;case"br":Yo=0+Bo-25-10,So=0+Ro-50-10}G._ZOOM_IN_={objtype:"label",id:I._INFO_.id+"_zoom_in",generated:!0,x:Yo,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,G._ZOOM_IN_.tooltip),ZC._cp_(Eo["zoom-in"],G._ZOOM_IN_),G._ZOOM_OUT_={objtype:"label",id:I._INFO_.id+"_zoom_out",generated:!0,x:Yo,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,G._ZOOM_OUT_.tooltip),ZC._cp_(Eo["zoom-out"],G._ZOOM_OUT_)}return S=X*w/U,!zingchart.maps.FORCESCALE&&(S>1.05||S<.95)&&(G._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*S)+" or "+ZC._i_(z/S)+"/"+O,"background-color":"#c00","border-radius":8,color:"#fff"}}),G},zingchart.maps.exportMap=function(o,a){var t=["ZC.WA.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}}'","},","label:{","text:'{{id}}'","}","}"].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.replace(/\{\{id\}\}/g,c)).replace(/\{\{text\}\}/g,s[c].tooltip.text),_.push(f);for(var h='"'+c+'":',d=[],g=0;g<s[c].coords.length;g++)s[c].coords[g]?d.push([s[c].coords[g][0].toFixed(3),s[c].coords[g][1].toFixed(3)]):d.push(null);h+=JSON.stringify(d).replace(/\"/g,""),r.push(h)}return i=i.replace(/\{\{coords\}\}/gi,r.join(",\n")),i=i.replace(/\{\{groups\}\}/gi,n.join(",\n")),i=i.replace(/\{\{items\}\}/gi,_.join(",\n"))};
|