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) 6.34 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 */ zingchart.setModule("maps-topojson"),zingchart.maps&&(zingchart.maps.loadTopoJSON=function(O){var A4D=O.id||"topojson"+parseInt(10+89*Math.random(),10),E9=O.url||"",oMappings=O.mappings||{id:"id",name:"name",abbr:"abbr"},AC5=O.ignore||[],P=O.style||{};""===E9&&O.callback&&O.callback.call(),ZC.A4.ajax({type:"GET",url:E9,beforeSend:function(){},data:"",error:function(){O.callback&&O.callback.call()},success:function(KJ){var H,DD={};try{DD=JSON.parse(KJ)}catch(JB){try{DD=eval("("+KJ+")")}catch(JB){}}zingchart.maps[A4D]||(zingchart.maps[A4D]={}),zingchart.maps.data[A4D]||(zingchart.maps.data[A4D]={_GROUPS_:{},_DEFAULTS_:zingchart.maps._DEFAULTS_});var _COORDS_={},aBBox=[Number.MAX_VALUE,Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE],HA,BZ,aGeometries,AAN,m,aArcGroup,aArcGroups,aArcCoords,F7=DD.transform||{scale:[1,1],translate:[0,0]},aArcs=DD.arcs||[],oObjects=DD.objects||{},decodeArc=function(a,o){if(null===ZC._n_(o))return[];var r=0,e=0;return o.map(function(o){return(o=o.slice())[0]=(r+=o[0])*a.scale[0]+a.translate[0],o[1]=(e+=o[1])*a.scale[1]+a.translate[1],o})};for(HA in oObjects){BZ=oObjects[HA],aGeometries=BZ.geometries||[];for(var i=0,A6=aGeometries.length;i<A6;i++){var oGeometry=aGeometries[i],oProperties=oGeometry.properties||{};for(AAN=A4D.toUpperCase()+i,oMappings.id=oMappings.id instanceof Array?oMappings.id:[oMappings.id],oMappings.abbr=oMappings.abbr instanceof Array?oMappings.abbr:[oMappings.abbr],oMappings.name=oMappings.name instanceof Array?oMappings.name:[oMappings.name],m=0;m<oMappings.id.length;m++)AAN=oGeometry[oMappings.id[m]]||AAN,AAN=oProperties[oMappings.id[m]]||AAN;if(null!==ZC._n_(AAN)&&""!==AAN||(AAN=A4D+"_item_"+i),AAN=(""+AAN).replace(/[^a-z0-9]/gi,"_"),-1===ZC.AV(AC5,AAN)){var sItemAbbr="";for(m=0;m<oMappings.abbr.length;m++)"function"==typeof oMappings.abbr[m]?sItemAbbr=oMappings.abbr[m].call(sItemAbbr):(sItemAbbr=oGeometry[oMappings.abbr[m]]||sItemAbbr,sItemAbbr=oProperties[oMappings.abbr[m]]||sItemAbbr);var sItemName="";for(m=0;m<oMappings.name.length;m++)"function"==typeof oMappings.name[m]?sItemName=oMappings.name[m].call(sItemName):(sItemName=oGeometry[oMappings.name[m]]||sItemName,sItemName=oProperties[oMappings.name[m]]||sItemName);_COORDS_[AAN]=[];var AF="poly",aCoordinates=[],aMultiArcGroups,g,a;if("Polygon"===oGeometry.type?aArcGroups=oGeometry.arcs||[]:"MultiPolygon"===oGeometry.type?aMultiArcGroups=oGeometry.arcs||[]:"Point"===oGeometry.type?(AF="point",aCoordinates=[oGeometry.coordinates]||[]):"LineString"===oGeometry.type?(AF="line",aArcGroups=oGeometry.arcs||[]):"MultiLineString"===oGeometry.type&&(AF="line",aArcGroups=oGeometry.arcs||[]),"Polygon"===oGeometry.type)for(g=0;g<aArcGroups.length;g++){for(aArcGroup=aArcGroups[g],a=0;a<aArcGroup.length;a++)aArcCoords=aArcGroup[a]>=0?aArcs[aArcGroup[a]]:aArcs[-aArcGroup[a]-1],aArcCoords=decodeArc(F7,aArcCoords),aArcGroup[a]<0&&aArcCoords.reverse(),aCoordinates=aCoordinates.concat(aArcCoords);g!==aArcGroups.length-1&&aCoordinates.push(null)}else if("LineString"===oGeometry.type)for(a=0;a<aArcGroups.length;a++)aArcCoords=aArcGroups[a]>=0?aArcs[aArcGroups[a]]:aArcs[-aArcGroups[a]-1],aArcCoords=decodeArc(F7,aArcCoords),aArcGroups[a]<0&&aArcCoords.reverse(),aCoordinates=aCoordinates.concat(aArcCoords);else if("MultiPolygon"===oGeometry.type)for(m=0;m<aMultiArcGroups.length;m++){for(aArcGroups=aMultiArcGroups[m],g=0;g<aArcGroups.length;g++){for(aArcGroup=aArcGroups[g],a=0;a<aArcGroup.length;a++)aArcCoords=aArcGroup[a]>=0?aArcs[aArcGroup[a]]:aArcs[-aArcGroup[a]-1],aArcCoords=decodeArc(F7,aArcCoords),aArcGroup[a]<0&&aArcCoords.reverse(),aCoordinates=aCoordinates.concat(aArcCoords);g!==aArcGroups.length-1&&aCoordinates.push(null)}m!==aMultiArcGroups.length-1&&aCoordinates.push(null)}else if("MultiLineString"===oGeometry.type)for(a=0;a<aArcGroups.length;a++)aArcCoords=aArcGroups[a]>=0?aArcs[aArcGroups[a]]:aArcs[-aArcGroups[a]-1],aArcCoords=decodeArc(F7,aArcCoords),aArcGroups[a]<0&&aArcCoords.reverse(),aCoordinates=aCoordinates.concat(aArcCoords),a<aArcGroups.length-1&&aCoordinates.push(null);else"Point"===oGeometry.type&&(aCoordinates=decodeArc(F7,aCoordinates));for(var j=0,JC=aCoordinates.length;j<JC;j++)_COORDS_[AAN].push(aCoordinates[j]),aCoordinates[j]&&(aBBox[0]=Math.min(aBBox[0],aCoordinates[j][0]),aBBox[2]=Math.max(aBBox[2],aCoordinates[j][0]),aBBox[1]=Math.min(aBBox[1],aCoordinates[j][1]),aBBox[3]=Math.max(aBBox[3],aCoordinates[j][1]));var sLabelText=sItemAbbr||sItemName,iSort=0;"line"===AF?iSort=2:"point"===AF&&(iSort=4),_COORDS_[AAN].length&&(zingchart.maps.data[A4D][AAN]={sort:iSort,type:AF,coords:_COORDS_[AAN],tooltip:{text:sItemName},label:{text:sLabelText},style:{}},"poly"===AF&&null!==ZC._n_(P.poly)&&ZC._cp_(P.poly,zingchart.maps.data[A4D][AAN].style),"line"===AF&&null!==ZC._n_(P.line)&&ZC._cp_(P.line,zingchart.maps.data[A4D][AAN].style),"point"===AF&&null!==ZC._n_(P.point)&&ZC._cp_(P.point,zingchart.maps.data[A4D][AAN].style))}}var iDiffLon=aBBox[2]-aBBox[0],iDiffLat=aBBox[3]-aBBox[1],iMaxLon=10,iMaxLat=iMaxLon*iDiffLat/iDiffLon,fRatioLon=iMaxLon/iDiffLon,fRatioLat=iMaxLat/iDiffLat,iMax=Math.max(ZC._a_(aBBox[0]),ZC._a_(aBBox[1]),ZC._a_(aBBox[2]),ZC._a_(aBBox[3]));if(iMax>180.01)for(AAN in zingchart.maps.data[A4D])if(null!==ZC._n_(H=zingchart.maps.data[A4D][AAN].coords))for(var c=0,cLen=zingchart.maps.data[A4D][AAN].coords.length;c<cLen;c++)null!==ZC._n_(H[c])&&(H[c][0]=(H[c][0]-aBBox[0])*fRatioLon,H[c][1]=(H[c][1]-aBBox[1])*fRatioLat)}zingchart.maps.upgrade(A4D),zingchart.maps[A4D]=function(a,o,r){return zingchart.maps.convert({loader:this,loaderdata:o||{},graphid:"undefined"==typeof a.graphid?0:a.graphid,data:r,id:a.id||A4D,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[A4D]})},O.callback&&O.callback.call()}})});