| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759 |
- ! function(e) {
- var t, i;
- ! function() {
- function e(e, t) {
- if(!t) return e;
- if(0 === e.indexOf(".")) {
- var i = t.split("/"),
- n = e.split("/"),
- a = i.length - 1,
- o = n.length,
- r = 0,
- s = 0;
- e: for(var l = 0; o > l; l++) switch(n[l]) {
- case "..":
- if(!(a > r)) break e;
- r++, s++;
- break;
- case ".":
- s++;
- break;
- default:
- break e
- }
- return i.length = a - r, n = n.slice(s), i.concat(n).join("/")
- }
- return e
- }
- function n(t) {
- function i(i, r) {
- if("string" == typeof i) {
- var s = n[i];
- return s || (s = o(e(i, t)), n[i] = s), s
- }
- i instanceof Array && (r = r || function() {}, r.apply(this, a(i, r, t)))
- }
- var n = {};
- return i
- }
- function a(i, n, a) {
- for(var s = [], l = r[a], h = 0, m = Math.min(i.length, n.length); m > h; h++) {
- var V, U = e(i[h], a);
- switch(U) {
- case "require":
- V = l && l.require || t;
- break;
- case "exports":
- V = l.exports;
- break;
- case "module":
- V = l;
- break;
- default:
- V = o(U)
- }
- s.push(V)
- }
- return s
- }
- function o(e) {
- var t = r[e];
- if(!t) throw new Error("No " + e);
- if(!t.defined) {
- var i = t.factory,
- n = i.apply(this, a(t.deps || [], i, e));
- "undefined" != typeof n && (t.exports = n), t.defined = 1
- }
- return t.exports
- }
- var r = {};
- i = function(e, t, i) {
- r[e] = {
- id: e,
- deps: t,
- factory: i,
- defined: 0,
- exports: {},
- require: n(e)
- }
- }, t = n("")
- }(), i("echarts", ["echarts/echarts"], function(e) {
- return e
- }), i("echarts/echarts", ["require", "./config", "zrender/tool/util", "zrender/tool/event", "zrender/tool/env", "zrender", "zrender/config", "./chart/island", "./component/toolbox", "./component", "./component/title", "./component/tooltip", "./component/legend", "./util/ecData", "./chart", "zrender/tool/color", "./component/timeline", "zrender/shape/Image", "zrender/loadingEffect/Bar", "zrender/loadingEffect/Bubble", "zrender/loadingEffect/DynamicLine", "zrender/loadingEffect/Ring", "zrender/loadingEffect/Spin", "zrender/loadingEffect/Whirling", "./theme/macarons", "./theme/infographic"], function(e) {
- function t() {
- r.Dispatcher.call(this)
- }
- function i(e) {
- e.innerHTML = "", this._themeConfig = {}, this.dom = e, this._connected = !1, this._status = {
- dragIn: !1,
- dragOut: !1,
- needRefresh: !1
- }, this._curEventType = !1, this._chartList = [], this._messageCenter = new t, this._messageCenterOutSide = new t, this.resize = this.resize(), this._init()
- }
- function n(e, t, i, n, a) {
- for(var o = e._chartList, r = o.length; r--;) {
- var s = o[r];
- "function" == typeof s[t] && s[t](i, n, a)
- }
- }
- var a = e("./config"),
- o = e("zrender/tool/util"),
- r = e("zrender/tool/event"),
- s = {},
- l = e("zrender/tool/env").canvasSupported,
- h = new Date - 0,
- m = {},
- V = "_echarts_instance_";
- s.version = "2.2.7", s.dependencies = {
- zrender: "2.1.1"
- }, s.init = function(t, n) {
- var a = e("zrender");
- a.version.replace(".", "") - 0 < s.dependencies.zrender.replace(".", "") - 0 && console.error("ZRender " + a.version + " is too old for ECharts " + s.version + ". Current version need ZRender " + s.dependencies.zrender + "+"), t = t instanceof Array ? t[0] : t;
- var o = t.getAttribute(V);
- return o || (o = h++, t.setAttribute(V, o)), m[o] && m[o].dispose(), m[o] = new i(t), m[o].id = o, m[o].canvasSupported = l, m[o].setTheme(n), m[o]
- }, s.getInstanceById = function(e) {
- return m[e]
- }, o.merge(t.prototype, r.Dispatcher.prototype, !0);
- var U = e("zrender/config").EVENT,
- d = ["CLICK", "DBLCLICK", "MOUSEOVER", "MOUSEOUT", "DRAGSTART", "DRAGEND", "DRAGENTER", "DRAGOVER", "DRAGLEAVE", "DROP"];
- return i.prototype = {
- _init: function() {
- var t = this,
- i = e("zrender").init(this.dom);
- this._zr = i, this._messageCenter.dispatch = function(e, i, n, a) {
- n = n || {}, n.type = e, n.event = i, t._messageCenter.dispatchWithContext(e, n, a), t._messageCenterOutSide.dispatchWithContext(e, n, a)
- }, this._onevent = function(e) {
- return t.__onevent(e)
- };
- for(var n in a.EVENT) "CLICK" != n && "DBLCLICK" != n && "HOVER" != n && "MOUSEOUT" != n && "MAP_ROAM" != n && this._messageCenter.bind(a.EVENT[n], this._onevent, this);
- var o = {};
- this._onzrevent = function(e) {
- return t[o[e.type]](e)
- };
- for(var r = 0, s = d.length; s > r; r++) {
- var l = d[r],
- h = U[l];
- o[h] = "_on" + l.toLowerCase(), i.on(h, this._onzrevent)
- }
- this.chart = {}, this.component = {};
- var m = e("./chart/island");
- this._island = new m(this._themeConfig, this._messageCenter, i, {}, this), this.chart.island = this._island;
- var V = e("./component/toolbox");
- this._toolbox = new V(this._themeConfig, this._messageCenter, i, {}, this), this.component.toolbox = this._toolbox;
- var p = e("./component");
- p.define("title", e("./component/title")), p.define("tooltip", e("./component/tooltip")), p.define("legend", e("./component/legend")), (0 === i.getWidth() || 0 === i.getHeight()) && console.error("Dom’s width & height should be ready before init.")
- },
- __onevent: function(e) {
- e.__echartsId = e.__echartsId || this.id;
- var t = e.__echartsId === this.id;
- switch(this._curEventType || (this._curEventType = e.type), e.type) {
- case a.EVENT.LEGEND_SELECTED:
- this._onlegendSelected(e);
- break;
- case a.EVENT.DATA_ZOOM:
- if(!t) {
- var i = this.component.dataZoom;
- i && (i.silence(!0), i.absoluteZoom(e.zoom), i.silence(!1))
- }
- this._ondataZoom(e);
- break;
- case a.EVENT.DATA_RANGE:
- t && this._ondataRange(e);
- break;
- case a.EVENT.MAGIC_TYPE_CHANGED:
- if(!t) {
- var n = this.component.toolbox;
- n && (n.silence(!0), n.setMagicType(e.magicType), n.silence(!1))
- }
- this._onmagicTypeChanged(e);
- break;
- case a.EVENT.DATA_VIEW_CHANGED:
- t && this._ondataViewChanged(e);
- break;
- case a.EVENT.TOOLTIP_HOVER:
- t && this._tooltipHover(e);
- break;
- case a.EVENT.RESTORE:
- this._onrestore();
- break;
- case a.EVENT.REFRESH:
- t && this._onrefresh(e);
- break;
- case a.EVENT.TOOLTIP_IN_GRID:
- case a.EVENT.TOOLTIP_OUT_GRID:
- if(t) {
- if(this._connected) {
- var o = this.component.grid;
- o && (e.x = (e.event.zrenderX - o.getX()) / o.getWidth(), e.y = (e.event.zrenderY - o.getY()) / o.getHeight())
- }
- } else {
- var o = this.component.grid;
- o && this._zr.trigger("mousemove", {
- connectTrigger: !0,
- zrenderX: o.getX() + e.x * o.getWidth(),
- zrenderY: o.getY() + e.y * o.getHeight()
- })
- }
- }
- if(this._connected && t && this._curEventType === e.type) {
- for(var r in this._connected) this._connected[r].connectedEventHandler(e);
- this._curEventType = null
- }(!t || !this._connected && t) && (this._curEventType = null)
- },
- _onclick: function(e) {
- if(n(this, "onclick", e), e.target) {
- var t = this._eventPackage(e.target);
- t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.CLICK, e.event, t, this)
- }
- },
- _ondblclick: function(e) {
- if(n(this, "ondblclick", e), e.target) {
- var t = this._eventPackage(e.target);
- t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.DBLCLICK, e.event, t, this)
- }
- },
- _onmouseover: function(e) {
- if(e.target) {
- var t = this._eventPackage(e.target);
- t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.HOVER, e.event, t, this)
- }
- },
- _onmouseout: function(e) {
- if(e.target) {
- var t = this._eventPackage(e.target);
- t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.MOUSEOUT, e.event, t, this)
- }
- },
- _ondragstart: function(e) {
- this._status = {
- dragIn: !1,
- dragOut: !1,
- needRefresh: !1
- }, n(this, "ondragstart", e)
- },
- _ondragenter: function(e) {
- n(this, "ondragenter", e)
- },
- _ondragover: function(e) {
- n(this, "ondragover", e)
- },
- _ondragleave: function(e) {
- n(this, "ondragleave", e)
- },
- _ondrop: function(e) {
- n(this, "ondrop", e, this._status), this._island.ondrop(e, this._status)
- },
- _ondragend: function(e) {
- if(n(this, "ondragend", e, this._status), this._timeline && this._timeline.ondragend(e, this._status), this._island.ondragend(e, this._status), this._status.needRefresh) {
- this._syncBackupData(this._option);
- var t = this._messageCenter;
- t.dispatch(a.EVENT.DATA_CHANGED, e.event, this._eventPackage(e.target), this), t.dispatch(a.EVENT.REFRESH, null, null, this)
- }
- },
- _onlegendSelected: function(e) {
- this._status.needRefresh = !1, n(this, "onlegendSelected", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
- },
- _ondataZoom: function(e) {
- this._status.needRefresh = !1, n(this, "ondataZoom", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
- },
- _ondataRange: function(e) {
- this._clearEffect(), this._status.needRefresh = !1, n(this, "ondataRange", e, this._status), this._status.needRefresh && this._zr.refreshNextFrame()
- },
- _onmagicTypeChanged: function() {
- this._clearEffect(), this._render(this._toolbox.getMagicOption())
- },
- _ondataViewChanged: function(e) {
- this._syncBackupData(e.option), this._messageCenter.dispatch(a.EVENT.DATA_CHANGED, null, e, this), this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
- },
- _tooltipHover: function(e) {
- var t = [];
- n(this, "ontooltipHover", e, t)
- },
- _onrestore: function() {
- this.restore()
- },
- _onrefresh: function(e) {
- this._refreshInside = !0, this.refresh(e), this._refreshInside = !1
- },
- _syncBackupData: function(e) {
- this.component.dataZoom && this.component.dataZoom.syncBackupData(e)
- },
- _eventPackage: function(t) {
- if(t) {
- var i = e("./util/ecData"),
- n = i.get(t, "seriesIndex"),
- a = i.get(t, "dataIndex");
- return a = -1 != n && this.component.dataZoom ? this.component.dataZoom.getRealDataIndex(n, a) : a, {
- seriesIndex: n,
- seriesName: (i.get(t, "series") || {}).name,
- dataIndex: a,
- data: i.get(t, "data"),
- name: i.get(t, "name"),
- value: i.get(t, "value"),
- special: i.get(t, "special")
- }
- }
- },
- _noDataCheck: function(e) {
- for(var t = e.series, i = 0, n = t.length; n > i; i++)
- if(t[i].type == a.CHART_TYPE_MAP || t[i].data && t[i].data.length > 0 || t[i].markPoint && t[i].markPoint.data && t[i].markPoint.data.length > 0 || t[i].markLine && t[i].markLine.data && t[i].markLine.data.length > 0 || t[i].nodes && t[i].nodes.length > 0 || t[i].links && t[i].links.length > 0 || t[i].matrix && t[i].matrix.length > 0 || t[i].eventList && t[i].eventList.length > 0) return !1;
- var o = this._option && this._option.noDataLoadingOption || this._themeConfig.noDataLoadingOption || a.noDataLoadingOption || {
- text: this._option && this._option.noDataText || this._themeConfig.noDataText || a.noDataText,
- effect: this._option && this._option.noDataEffect || this._themeConfig.noDataEffect || a.noDataEffect
- };
- return this.clear(), this.showLoading(o), !0
- },
- _render: function(t) {
- if(this._mergeGlobalConifg(t), !this._noDataCheck(t)) {
- var i = t.backgroundColor;
- if(i)
- if(l || -1 == i.indexOf("rgba")) this.dom.style.backgroundColor = i;
- else {
- var n = i.split(",");
- this.dom.style.filter = "alpha(opacity=" + 100 * n[3].substring(0, n[3].lastIndexOf(")")) + ")", n.length = 3, n[0] = n[0].replace("a", ""), this.dom.style.backgroundColor = n.join(",") + ")"
- }
- this._zr.clearAnimation(), this._chartList = [];
- var o = e("./chart"),
- r = e("./component");
- (t.xAxis || t.yAxis) && (t.grid = t.grid || {}, t.dataZoom = t.dataZoom || {});
- for(var s, h, m, V = ["title", "legend", "tooltip", "dataRange", "roamController", "grid", "dataZoom", "xAxis", "yAxis", "polar"], U = 0, d = V.length; d > U; U++) h = V[U], m = this.component[h], t[h] ? (m ? m.refresh && m.refresh(t) : (s = r.get(/^[xy]Axis$/.test(h) ? "axis" : h), m = new s(this._themeConfig, this._messageCenter, this._zr, t, this, h), this.component[h] = m), this._chartList.push(m)) : m && (m.dispose(), this.component[h] = null, delete this.component[h]);
- for(var p, c, u, y = {}, U = 0, d = t.series.length; d > U; U++) c = t.series[U].type, c ? y[c] || (y[c] = !0, p = o.get(c), p ? (this.chart[c] ? (u = this.chart[c], u.refresh(t)) : u = new p(this._themeConfig, this._messageCenter, this._zr, t, this), this._chartList.push(u), this.chart[c] = u) : console.error(c + " has not been required.")) : console.error("series[" + U + "] chart type has not been defined.");
- for(c in this.chart) c == a.CHART_TYPE_ISLAND || y[c] || (this.chart[c].dispose(), this.chart[c] = null, delete this.chart[c]);
- this.component.grid && this.component.grid.refixAxisShape(this.component), this._island.refresh(t), this._toolbox.refresh(t), t.animation && !t.renderAsImage ? this._zr.refresh() : this._zr.render();
- var g = "IMG" + this.id,
- b = document.getElementById(g);
- t.renderAsImage && l ? (b ? b.src = this.getDataURL(t.renderAsImage) : (b = this.getImage(t.renderAsImage), b.id = g, b.style.position = "absolute", b.style.left = 0, b.style.top = 0, this.dom.firstChild.appendChild(b)), this.un(), this._zr.un(), this._disposeChartList(), this._zr.clear()) : b && b.parentNode.removeChild(b), b = null, this._option = t
- }
- },
- restore: function() {
- this._clearEffect(), this._option = o.clone(this._optionRestore), this._disposeChartList(), this._island.clear(), this._toolbox.reset(this._option, !0), this._render(this._option)
- },
- refresh: function(e) {
- this._clearEffect(), e = e || {};
- var t = e.option;
- !this._refreshInside && t && (t = this.getOption(), o.merge(t, e.option, !0), o.merge(this._optionRestore, e.option, !0), this._toolbox.reset(t)), this._island.refresh(t), this._toolbox.refresh(t), this._zr.clearAnimation();
- for(var i = 0, n = this._chartList.length; n > i; i++) this._chartList[i].refresh && this._chartList[i].refresh(t);
- this.component.grid && this.component.grid.refixAxisShape(this.component), this._zr.refresh()
- },
- _disposeChartList: function() {
- this._clearEffect(), this._zr.clearAnimation();
- for(var e = this._chartList.length; e--;) {
- var t = this._chartList[e];
- if(t) {
- var i = t.type;
- this.chart[i] && delete this.chart[i], this.component[i] && delete this.component[i], t.dispose && t.dispose()
- }
- }
- this._chartList = []
- },
- _mergeGlobalConifg: function(t) {
- for(var i = ["backgroundColor", "calculable", "calculableColor", "calculableHolderColor", "nameConnector", "valueConnector", "animation", "animationThreshold", "animationDuration", "animationDurationUpdate", "animationEasing", "addDataAnimation", "symbolList", "DRAG_ENABLE_TIME"], n = i.length; n--;) {
- var o = i[n];
- null == t[o] && (t[o] = null != this._themeConfig[o] ? this._themeConfig[o] : a[o])
- }
- var r = t.color;
- r && r.length || (r = this._themeConfig.color || a.color), this._zr.getColor = function(t) {
- var i = e("zrender/tool/color");
- return i.getColor(t, r)
- }, l || (t.animation = !1, t.addDataAnimation = !1)
- },
- setOption: function(e, t) {
- return e.timeline ? this._setTimelineOption(e) : this._setOption(e, t)
- },
- _setOption: function(e, t, i) {
- return !t && this._option ? this._option = o.merge(this.getOption(), o.clone(e), !0) : (this._option = o.clone(e), !i && this._timeline && this._timeline.dispose()), this._optionRestore = o.clone(this._option), this._option.series && 0 !== this._option.series.length ? (this.component.dataZoom && (this._option.dataZoom || this._option.toolbox && this._option.toolbox.feature && this._option.toolbox.feature.dataZoom && this._option.toolbox.feature.dataZoom.show) && this.component.dataZoom.syncOption(this._option), this._toolbox.reset(this._option), this._render(this._option), this) : void this._zr.clear()
- },
- getOption: function() {
- function e(e) {
- var n = i._optionRestore[e];
- if(n)
- if(n instanceof Array)
- for(var a = n.length; a--;) t[e][a].data = o.clone(n[a].data);
- else t[e].data = o.clone(n.data)
- }
- var t = o.clone(this._option),
- i = this;
- return e("xAxis"), e("yAxis"), e("series"), t
- },
- setSeries: function(e, t) {
- return t ? (this._option.series = e, this.setOption(this._option, t)) : this.setOption({
- series: e
- }), this
- },
- getSeries: function() {
- return this.getOption().series
- },
- _setTimelineOption: function(t) {
- this._timeline && this._timeline.dispose();
- var i = e("./component/timeline"),
- n = new i(this._themeConfig, this._messageCenter, this._zr, t, this);
- return this._timeline = n, this.component.timeline = this._timeline, this
- },
- addData: function(e, t, i, n, r) {
- function s() {
- if(V._zr) {
- V._zr.clearAnimation();
- for(var e = 0, t = X.length; t > e; e++) X[e].motionlessOnce = h.addDataAnimation && X[e].addDataAnimation;
- V._messageCenter.dispatch(a.EVENT.REFRESH, null, {
- option: h
- }, V)
- }
- }
- for(var l = e instanceof Array ? e : [
- [e, t, i, n, r]
- ], h = this.getOption(), m = this._optionRestore, V = this, U = 0, d = l.length; d > U; U++) {
- e = l[U][0], t = l[U][1], i = l[U][2], n = l[U][3], r = l[U][4];
- var p = m.series[e],
- c = i ? "unshift" : "push",
- u = i ? "pop" : "shift";
- if(p) {
- var y = p.data,
- g = h.series[e].data;
- if(y[c](t), g[c](t), n || (y[u](), t = g[u]()), null != r) {
- var b, f;
- if(p.type === a.CHART_TYPE_PIE && (b = m.legend) && (f = b.data)) {
- var k = h.legend.data;
- if(f[c](r), k[c](r), !n) {
- var x = o.indexOf(f, t.name); - 1 != x && f.splice(x, 1), x = o.indexOf(k, t.name), -1 != x && k.splice(x, 1)
- }
- } else if(null != m.xAxis && null != m.yAxis) {
- var _, L, W = p.xAxisIndex || 0;
- (null == m.xAxis[W].type || "category" === m.xAxis[W].type) && (_ = m.xAxis[W].data, L = h.xAxis[W].data, _[c](r), L[c](r), n || (_[u](), L[u]())), W = p.yAxisIndex || 0, "category" === m.yAxis[W].type && (_ = m.yAxis[W].data, L = h.yAxis[W].data, _[c](r), L[c](r), n || (_[u](), L[u]()))
- }
- }
- this._option.series[e].data = h.series[e].data
- }
- }
- this._zr.clearAnimation();
- for(var X = this._chartList, v = 0, w = function() {
- v--, 0 === v && s()
- }, U = 0, d = X.length; d > U; U++) h.addDataAnimation && X[U].addDataAnimation && (v++, X[U].addDataAnimation(l, w));
- return this.component.dataZoom && this.component.dataZoom.syncOption(h), this._option = h, h.addDataAnimation || setTimeout(s, 0), this
- },
- addMarkPoint: function(e, t) {
- return this._addMark(e, t, "markPoint")
- },
- addMarkLine: function(e, t) {
- return this._addMark(e, t, "markLine")
- },
- _addMark: function(e, t, i) {
- var n, a = this._option.series;
- if(a && (n = a[e])) {
- var r = this._optionRestore.series,
- s = r[e],
- l = n[i],
- h = s[i];
- l = n[i] = l || {
- data: []
- }, h = s[i] = h || {
- data: []
- };
- for(var m in t) "data" === m ? (l.data = l.data.concat(t.data), h.data = h.data.concat(t.data)) : "object" != typeof t[m] || null == l[m] ? l[m] = h[m] = t[m] : (o.merge(l[m], t[m], !0), o.merge(h[m], t[m], !0));
- var V = this.chart[n.type];
- V && V.addMark(e, t, i)
- }
- return this
- },
- delMarkPoint: function(e, t) {
- return this._delMark(e, t, "markPoint")
- },
- delMarkLine: function(e, t) {
- return this._delMark(e, t, "markLine")
- },
- _delMark: function(e, t, i) {
- var n, a, o, r = this._option.series;
- if(!(r && (n = r[e]) && (a = n[i]) && (o = a.data))) return this;
- t = t.split(" > ");
- for(var s = -1, l = 0, h = o.length; h > l; l++) {
- var m = o[l];
- if(m instanceof Array) {
- if(m[0].name === t[0] && m[1].name === t[1]) {
- s = l;
- break
- }
- } else if(m.name === t[0]) {
- s = l;
- break
- }
- }
- if(s > -1) {
- o.splice(s, 1), this._optionRestore.series[e][i].data.splice(s, 1);
- var V = this.chart[n.type];
- V && V.delMark(e, t.join(" > "), i)
- }
- return this
- },
- getDom: function() {
- return this.dom
- },
- getZrender: function() {
- return this._zr
- },
- getDataURL: function(e) {
- if(!l) return "";
- if(0 === this._chartList.length) {
- var t = "IMG" + this.id,
- i = document.getElementById(t);
- if(i) return i.src
- }
- var n = this.component.tooltip;
- switch(n && n.hideTip(), e) {
- case "jpeg":
- break;
- default:
- e = "png"
- }
- var a = this._option.backgroundColor;
- return a && "rgba(0,0,0,0)" === a.replace(" ", "") && (a = "#fff"), this._zr.toDataURL("image/" + e, a)
- },
- getImage: function(e) {
- var t = this._optionRestore.title,
- i = document.createElement("img");
- return i.src = this.getDataURL(e), i.title = t && t.text || "ECharts", i
- },
- getConnectedDataURL: function(t) {
- if(!this.isConnected()) return this.getDataURL(t);
- var i = this.dom,
- n = {
- self: {
- img: this.getDataURL(t),
- left: i.offsetLeft,
- top: i.offsetTop,
- right: i.offsetLeft + i.offsetWidth,
- bottom: i.offsetTop + i.offsetHeight
- }
- },
- a = n.self.left,
- o = n.self.top,
- r = n.self.right,
- s = n.self.bottom;
- for(var l in this._connected) i = this._connected[l].getDom(), n[l] = {
- img: this._connected[l].getDataURL(t),
- left: i.offsetLeft,
- top: i.offsetTop,
- right: i.offsetLeft + i.offsetWidth,
- bottom: i.offsetTop + i.offsetHeight
- }, a = Math.min(a, n[l].left), o = Math.min(o, n[l].top), r = Math.max(r, n[l].right), s = Math.max(s, n[l].bottom);
- var h = document.createElement("div");
- h.style.position = "absolute", h.style.left = "-4000px", h.style.width = r - a + "px", h.style.height = s - o + "px", document.body.appendChild(h);
- var m = e("zrender").init(h),
- V = e("zrender/shape/Image");
- for(var l in n) m.addShape(new V({
- style: {
- x: n[l].left - a,
- y: n[l].top - o,
- image: n[l].img
- }
- }));
- m.render();
- var U = this._option.backgroundColor;
- U && "rgba(0,0,0,0)" === U.replace(/ /g, "") && (U = "#fff");
- var d = m.toDataURL("image/png", U);
- return setTimeout(function() {
- m.dispose(), h.parentNode.removeChild(h), h = null
- }, 100), d
- },
- getConnectedImage: function(e) {
- var t = this._optionRestore.title,
- i = document.createElement("img");
- return i.src = this.getConnectedDataURL(e), i.title = t && t.text || "ECharts", i
- },
- on: function(e, t) {
- return this._messageCenterOutSide.bind(e, t, this), this
- },
- un: function(e, t) {
- return this._messageCenterOutSide.unbind(e, t), this
- },
- connect: function(e) {
- if(!e) return this;
- if(this._connected || (this._connected = {}), e instanceof Array)
- for(var t = 0, i = e.length; i > t; t++) this._connected[e[t].id] = e[t];
- else this._connected[e.id] = e;
- return this
- },
- disConnect: function(e) {
- if(!e || !this._connected) return this;
- if(e instanceof Array)
- for(var t = 0, i = e.length; i > t; t++) delete this._connected[e[t].id];
- else delete this._connected[e.id];
- for(var n in this._connected) return this;
- return this._connected = !1, this
- },
- connectedEventHandler: function(e) {
- e.__echartsId != this.id && this._onevent(e)
- },
- isConnected: function() {
- return !!this._connected
- },
- showLoading: function(t) {
- var i = {
- bar: e("zrender/loadingEffect/Bar"),
- bubble: e("zrender/loadingEffect/Bubble"),
- dynamicLine: e("zrender/loadingEffect/DynamicLine"),
- ring: e("zrender/loadingEffect/Ring"),
- spin: e("zrender/loadingEffect/Spin"),
- whirling: e("zrender/loadingEffect/Whirling")
- };
- this._toolbox.hideDataView(), t = t || {};
- var n = t.textStyle || {};
- t.textStyle = n;
- var r = o.merge(o.merge(o.clone(n), this._themeConfig.textStyle), a.textStyle);
- n.textFont = r.fontStyle + " " + r.fontWeight + " " + r.fontSize + "px " + r.fontFamily, n.text = t.text || this._option && this._option.loadingText || this._themeConfig.loadingText || a.loadingText, null != t.x && (n.x = t.x), null != t.y && (n.y = t.y), t.effectOption = t.effectOption || {}, t.effectOption.textStyle = n;
- var s = t.effect;
- return("string" == typeof s || null == s) && (s = i[t.effect || this._option && this._option.loadingEffect || this._themeConfig.loadingEffect || a.loadingEffect] || i.spin), this._zr.showLoading(new s(t.effectOption)), this
- },
- hideLoading: function() {
- return this._zr.hideLoading(), this
- },
- setTheme: function(t) {
- if(t) {
- if("string" == typeof t) switch(t) {
- case "macarons":
- t = e("./theme/macarons");
- break;
- case "infographic":
- t = e("./theme/infographic");
- break;
- default:
- t = {}
- } else t = t || {};
- this._themeConfig = t
- }
- if(!l) {
- var i = this._themeConfig.textStyle;
- i && i.fontFamily && i.fontFamily2 && (i.fontFamily = i.fontFamily2), i = a.textStyle, i.fontFamily = i.fontFamily2
- }
- this._timeline && this._timeline.setTheme(!0), this._optionRestore && this.restore()
- },
- resize: function() {
- var e = this;
- return function() {
- if(e._clearEffect(), e._zr.resize(), e._option && e._option.renderAsImage && l) return e._render(e._option), e;
- e._zr.clearAnimation(), e._island.resize(), e._toolbox.resize(), e._timeline && e._timeline.resize();
- for(var t = 0, i = e._chartList.length; i > t; t++) e._chartList[t].resize && e._chartList[t].resize();
- return e.component.grid && e.component.grid.refixAxisShape(e.component), e._zr.refresh(), e._messageCenter.dispatch(a.EVENT.RESIZE, null, null, e), e
- }
- },
- _clearEffect: function() {
- this._zr.modLayer(a.EFFECT_ZLEVEL, {
- motionBlur: !1
- }), this._zr.painter.clearLayer(a.EFFECT_ZLEVEL)
- },
- clear: function() {
- return this._disposeChartList(), this._zr.clear(), this._option = {}, this._optionRestore = {}, this.dom.style.backgroundColor = null, this
- },
- dispose: function() {
- var e = this.dom.getAttribute(V);
- e && delete m[e], this._island.dispose(), this._toolbox.dispose(), this._timeline && this._timeline.dispose(), this._messageCenter.unbind(), this.clear(), this._zr.dispose(), this._zr = null
- }
- }, s
- }), i("echarts/config", [], function() {
- var e = {
- CHART_TYPE_LINE: "line",
- CHART_TYPE_BAR: "bar",
- CHART_TYPE_SCATTER: "scatter",
- CHART_TYPE_PIE: "pie",
- CHART_TYPE_RADAR: "radar",
- CHART_TYPE_VENN: "venn",
- CHART_TYPE_TREEMAP: "treemap",
- CHART_TYPE_TREE: "tree",
- CHART_TYPE_MAP: "map",
- CHART_TYPE_K: "k",
- CHART_TYPE_ISLAND: "island",
- CHART_TYPE_FORCE: "force",
- CHART_TYPE_CHORD: "chord",
- CHART_TYPE_GAUGE: "gauge",
- CHART_TYPE_FUNNEL: "funnel",
- CHART_TYPE_EVENTRIVER: "eventRiver",
- CHART_TYPE_WORDCLOUD: "wordCloud",
- CHART_TYPE_HEATMAP: "heatmap",
- COMPONENT_TYPE_TITLE: "title",
- COMPONENT_TYPE_LEGEND: "legend",
- COMPONENT_TYPE_DATARANGE: "dataRange",
- COMPONENT_TYPE_DATAVIEW: "dataView",
- COMPONENT_TYPE_DATAZOOM: "dataZoom",
- COMPONENT_TYPE_TOOLBOX: "toolbox",
- COMPONENT_TYPE_TOOLTIP: "tooltip",
- COMPONENT_TYPE_GRID: "grid",
- COMPONENT_TYPE_AXIS: "axis",
- COMPONENT_TYPE_POLAR: "polar",
- COMPONENT_TYPE_X_AXIS: "xAxis",
- COMPONENT_TYPE_Y_AXIS: "yAxis",
- COMPONENT_TYPE_AXIS_CATEGORY: "categoryAxis",
- COMPONENT_TYPE_AXIS_VALUE: "valueAxis",
- COMPONENT_TYPE_TIMELINE: "timeline",
- COMPONENT_TYPE_ROAMCONTROLLER: "roamController",
- backgroundColor: "rgba(0,0,0,0)",
- color: ["#ff7f50", "#87cefa", "#da70d6", "#32cd32", "#6495ed", "#ff69b4", "#ba55d3", "#cd5c5c", "#ffa500", "#40e0d0", "#1e90ff", "#ff6347", "#7b68ee", "#00fa9a", "#ffd700", "#6699FF", "#ff6666", "#3cb371", "#b8860b", "#30e0e0"],
- markPoint: {
- clickable: !0,
- symbol: "pin",
- symbolSize: 10,
- large: !1,
- effect: {
- show: !1,
- loop: !0,
- period: 15,
- type: "scale",
- scaleSize: 2,
- bounceDistance: 10
- },
- itemStyle: {
- normal: {
- borderWidth: 2,
- label: {
- show: !0,
- position: "inside"
- }
- },
- emphasis: {
- label: {
- show: !0
- }
- }
- }
- },
- markLine: {
- clickable: !0,
- symbol: ["circle", "arrow"],
- symbolSize: [2, 4],
- smoothness: .2,
- precision: 2,
- effect: {
- show: !1,
- loop: !0,
- period: 15,
- scaleSize: 2
- },
- bundling: {
- enable: !1,
- maxTurningAngle: 45
- },
- itemStyle: {
- normal: {
- borderWidth: 1.5,
- label: {
- show: !0,
- position: "end"
- },
- lineStyle: {
- type: "dashed"
- }
- },
- emphasis: {
- label: {
- show: !1
- },
- lineStyle: {}
- }
- }
- },
- textStyle: {
- decoration: "none",
- fontFamily: "Arial, Verdana, sans-serif",
- fontFamily2: "微软雅黑",
- fontSize: 12,
- fontStyle: "normal",
- fontWeight: "normal"
- },
- EVENT: {
- REFRESH: "refresh",
- RESTORE: "restore",
- RESIZE: "resize",
- CLICK: "click",
- DBLCLICK: "dblclick",
- HOVER: "hover",
- MOUSEOUT: "mouseout",
- DATA_CHANGED: "dataChanged",
- DATA_ZOOM: "dataZoom",
- DATA_RANGE: "dataRange",
- DATA_RANGE_SELECTED: "dataRangeSelected",
- DATA_RANGE_HOVERLINK: "dataRangeHoverLink",
- LEGEND_SELECTED: "legendSelected",
- LEGEND_HOVERLINK: "legendHoverLink",
- MAP_SELECTED: "mapSelected",
- PIE_SELECTED: "pieSelected",
- MAGIC_TYPE_CHANGED: "magicTypeChanged",
- DATA_VIEW_CHANGED: "dataViewChanged",
- TIMELINE_CHANGED: "timelineChanged",
- MAP_ROAM: "mapRoam",
- FORCE_LAYOUT_END: "forceLayoutEnd",
- TOOLTIP_HOVER: "tooltipHover",
- TOOLTIP_IN_GRID: "tooltipInGrid",
- TOOLTIP_OUT_GRID: "tooltipOutGrid",
- ROAMCONTROLLER: "roamController"
- },
- DRAG_ENABLE_TIME: 120,
- EFFECT_ZLEVEL: 10,
- effectBlendAlpha: .95,
- symbolList: ["circle", "rectangle", "triangle", "diamond", "emptyCircle", "emptyRectangle", "emptyTriangle", "emptyDiamond"],
- loadingEffect: "spin",
- loadingText: "数据读取中...",
- noDataEffect: "bubble",
- noDataText: "暂无数据",
- calculable: !1,
- calculableColor: "rgba(255,165,0,0.6)",
- calculableHolderColor: "#ccc",
- nameConnector: " & ",
- valueConnector: ": ",
- animation: !0,
- addDataAnimation: !0,
- animationThreshold: 2e3,
- animationDuration: 2e3,
- animationDurationUpdate: 500,
- animationEasing: "ExponentialOut"
- };
- return e
- }), i("zrender/tool/util", ["require", "../dep/excanvas"], function(e) {
- function t(e) {
- return e && 1 === e.nodeType && "string" == typeof e.nodeName
- }
- function i(e) {
- if("object" == typeof e && null !== e) {
- var n = e;
- if(e instanceof Array) {
- n = [];
- for(var a = 0, o = e.length; o > a; a++) n[a] = i(e[a])
- } else if(!y[g.call(e)] && !t(e)) {
- n = {};
- for(var r in e) e.hasOwnProperty(r) && (n[r] = i(e[r]))
- }
- return n
- }
- return e
- }
- function n(e, i, n, o) {
- if(i.hasOwnProperty(n)) {
- var r = e[n];
- "object" != typeof r || y[g.call(r)] || t(r) ? !o && n in e || (e[n] = i[n]) : a(e[n], i[n], o)
- }
- }
- function a(e, t, i) {
- for(var a in t) n(e, t, a, i);
- return e
- }
- function o() {
- if(!U)
- if(e("../dep/excanvas"), window.G_vmlCanvasManager) {
- var t = document.createElement("div");
- t.style.position = "absolute", t.style.top = "-1000px", document.body.appendChild(t), U = G_vmlCanvasManager.initElement(t).getContext("2d")
- } else U = document.createElement("canvas").getContext("2d");
- return U
- }
- function r(e, t) {
- if(e.indexOf) return e.indexOf(t);
- for(var i = 0, n = e.length; n > i; i++)
- if(e[i] === t) return i;
- return -1
- }
- function s(e, t) {
- function i() {}
- var n = e.prototype;
- i.prototype = t.prototype, e.prototype = new i;
- for(var a in n) e.prototype[a] = n[a];
- e.constructor = e
- }
- function l(e, t, i) {
- if(e && t)
- if(e.forEach && e.forEach === p) e.forEach(t, i);
- else if(e.length === +e.length)
- for(var n = 0, a = e.length; a > n; n++) t.call(i, e[n], n, e);
- else
- for(var o in e) e.hasOwnProperty(o) && t.call(i, e[o], o, e)
- }
- function h(e, t, i) {
- if(e && t) {
- if(e.map && e.map === c) return e.map(t, i);
- for(var n = [], a = 0, o = e.length; o > a; a++) n.push(t.call(i, e[a], a, e));
- return n
- }
- }
- function m(e, t, i) {
- if(e && t) {
- if(e.filter && e.filter === u) return e.filter(t, i);
- for(var n = [], a = 0, o = e.length; o > a; a++) t.call(i, e[a], a, e) && n.push(e[a]);
- return n
- }
- }
- function V(e, t) {
- return function() {
- e.apply(t, arguments)
- }
- }
- var U, d = Array.prototype,
- p = d.forEach,
- c = d.map,
- u = d.filter,
- y = {
- "[object Function]": 1,
- "[object RegExp]": 1,
- "[object Date]": 1,
- "[object Error]": 1,
- "[object CanvasGradient]": 1
- },
- g = Object.prototype.toString;
- return {
- inherits: s,
- clone: i,
- merge: a,
- getContext: o,
- indexOf: r,
- each: l,
- map: h,
- filter: m,
- bind: V
- }
- }), i("zrender/tool/event", ["require", "../mixin/Eventful"], function(e) {
- "use strict";
- function t(e) {
- return "undefined" != typeof e.zrenderX && e.zrenderX || "undefined" != typeof e.offsetX && e.offsetX || "undefined" != typeof e.layerX && e.layerX || "undefined" != typeof e.clientX && e.clientX
- }
- function i(e) {
- return "undefined" != typeof e.zrenderY && e.zrenderY || "undefined" != typeof e.offsetY && e.offsetY || "undefined" != typeof e.layerY && e.layerY || "undefined" != typeof e.clientY && e.clientY
- }
- function n(e) {
- return "undefined" != typeof e.zrenderDelta && e.zrenderDelta || "undefined" != typeof e.wheelDelta && e.wheelDelta || "undefined" != typeof e.detail && -e.detail
- }
- var a = e("../mixin/Eventful"),
- o = "function" == typeof window.addEventListener ? function(e) {
- e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0
- } : function(e) {
- e.returnValue = !1, e.cancelBubble = !0
- };
- return {
- getX: t,
- getY: i,
- getDelta: n,
- stop: o,
- Dispatcher: a
- }
- }), i("zrender/tool/env", [], function() {
- function e(e) {
- var t = this.os = {},
- i = this.browser = {},
- n = e.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
- a = e.match(/(Android);?[\s\/]+([\d.]+)?/),
- o = e.match(/(iPad).*OS\s([\d_]+)/),
- r = e.match(/(iPod)(.*OS\s([\d_]+))?/),
- s = !o && e.match(/(iPhone\sOS)\s([\d_]+)/),
- l = e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),
- h = l && e.match(/TouchPad/),
- m = e.match(/Kindle\/([\d.]+)/),
- V = e.match(/Silk\/([\d._]+)/),
- U = e.match(/(BlackBerry).*Version\/([\d.]+)/),
- d = e.match(/(BB10).*Version\/([\d.]+)/),
- p = e.match(/(RIM\sTablet\sOS)\s([\d.]+)/),
- c = e.match(/PlayBook/),
- u = e.match(/Chrome\/([\d.]+)/) || e.match(/CriOS\/([\d.]+)/),
- y = e.match(/Firefox\/([\d.]+)/),
- g = e.match(/MSIE ([\d.]+)/),
- b = n && e.match(/Mobile\//) && !u,
- f = e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !u,
- g = e.match(/MSIE\s([\d.]+)/);
- return(i.webkit = !!n) && (i.version = n[1]), a && (t.android = !0, t.version = a[2]), s && !r && (t.ios = t.iphone = !0, t.version = s[2].replace(/_/g, ".")), o && (t.ios = t.ipad = !0, t.version = o[2].replace(/_/g, ".")), r && (t.ios = t.ipod = !0, t.version = r[3] ? r[3].replace(/_/g, ".") : null), l && (t.webos = !0, t.version = l[2]), h && (t.touchpad = !0), U && (t.blackberry = !0, t.version = U[2]), d && (t.bb10 = !0, t.version = d[2]), p && (t.rimtabletos = !0, t.version = p[2]), c && (i.playbook = !0), m && (t.kindle = !0, t.version = m[1]), V && (i.silk = !0, i.version = V[1]), !V && t.android && e.match(/Kindle Fire/) && (i.silk = !0), u && (i.chrome = !0, i.version = u[1]), y && (i.firefox = !0, i.version = y[1]), g && (i.ie = !0, i.version = g[1]), b && (e.match(/Safari/) || t.ios) && (i.safari = !0), f && (i.webview = !0), g && (i.ie = !0, i.version = g[1]), t.tablet = !!(o || c || a && !e.match(/Mobile/) || y && e.match(/Tablet/) || g && !e.match(/Phone/) && e.match(/Touch/)), t.phone = !(t.tablet || t.ipod || !(a || s || l || U || d || u && e.match(/Android/) || u && e.match(/CriOS\/([\d.]+)/) || y && e.match(/Mobile/) || g && e.match(/Touch/))), {
- browser: i,
- os: t,
- canvasSupported: document.createElement("canvas").getContext ? !0 : !1
- }
- }
- return e(navigator.userAgent)
- }), i("zrender", ["zrender/zrender"], function(e) {
- return e
- }), i("zrender/zrender", ["require", "./dep/excanvas", "./tool/util", "./tool/log", "./tool/guid", "./Handler", "./Painter", "./Storage", "./animation/Animation", "./tool/env"], function(e) {
- function t(e) {
- return function() {
- e._needsRefreshNextFrame && e.refresh()
- }
- }
- e("./dep/excanvas");
- var i = e("./tool/util"),
- n = e("./tool/log"),
- a = e("./tool/guid"),
- o = e("./Handler"),
- r = e("./Painter"),
- s = e("./Storage"),
- l = e("./animation/Animation"),
- h = {},
- m = {};
- m.version = "2.1.1", m.init = function(e) {
- var t = new V(a(), e);
- return h[t.id] = t, t
- }, m.dispose = function(e) {
- if(e) e.dispose();
- else {
- for(var t in h) h[t].dispose();
- h = {}
- }
- return m
- }, m.getInstance = function(e) {
- return h[e]
- }, m.delInstance = function(e) {
- return delete h[e], m
- };
- var V = function(i, n) {
- this.id = i, this.env = e("./tool/env"), this.storage = new s, this.painter = new r(n, this.storage), this.handler = new o(n, this.storage, this.painter), this.animation = new l({
- stage: {
- update: t(this)
- }
- }), this.animation.start();
- var a = this;
- this.painter.refreshNextFrame = function() {
- a.refreshNextFrame()
- }, this._needsRefreshNextFrame = !1;
- var a = this,
- h = this.storage,
- m = h.delFromMap;
- h.delFromMap = function(e) {
- var t = h.get(e);
- a.stopAnimation(t), m.call(h, e)
- }
- };
- return V.prototype.getId = function() {
- return this.id
- }, V.prototype.addShape = function(e) {
- return this.addElement(e), this
- }, V.prototype.addGroup = function(e) {
- return this.addElement(e), this
- }, V.prototype.delShape = function(e) {
- return this.delElement(e), this
- }, V.prototype.delGroup = function(e) {
- return this.delElement(e), this
- }, V.prototype.modShape = function(e, t) {
- return this.modElement(e, t), this
- }, V.prototype.modGroup = function(e, t) {
- return this.modElement(e, t), this
- }, V.prototype.addElement = function(e) {
- return this.storage.addRoot(e), this._needsRefreshNextFrame = !0, this
- }, V.prototype.delElement = function(e) {
- return this.storage.delRoot(e), this._needsRefreshNextFrame = !0, this
- }, V.prototype.modElement = function(e, t) {
- return this.storage.mod(e, t), this._needsRefreshNextFrame = !0, this
- }, V.prototype.modLayer = function(e, t) {
- return this.painter.modLayer(e, t), this._needsRefreshNextFrame = !0, this
- }, V.prototype.addHoverShape = function(e) {
- return this.storage.addHover(e), this
- }, V.prototype.render = function(e) {
- return this.painter.render(e), this._needsRefreshNextFrame = !1, this
- }, V.prototype.refresh = function(e) {
- return this.painter.refresh(e), this._needsRefreshNextFrame = !1, this
- }, V.prototype.refreshNextFrame = function() {
- return this._needsRefreshNextFrame = !0, this
- }, V.prototype.refreshHover = function(e) {
- return this.painter.refreshHover(e), this
- }, V.prototype.refreshShapes = function(e, t) {
- return this.painter.refreshShapes(e, t), this
- }, V.prototype.resize = function() {
- return this.painter.resize(), this
- }, V.prototype.animate = function(e, t, a) {
- var o = this;
- if("string" == typeof e && (e = this.storage.get(e)), e) {
- var r;
- if(t) {
- for(var s = t.split("."), l = e, h = 0, m = s.length; m > h; h++) l && (l = l[s[h]]);
- l && (r = l)
- } else r = e;
- if(!r) return void n('Property "' + t + '" is not existed in element ' + e.id);
- null == e.__animators && (e.__animators = []);
- var V = e.__animators,
- U = this.animation.animate(r, {
- loop: a
- }).during(function() {
- o.modShape(e)
- }).done(function() {
- var t = i.indexOf(e.__animators, U);
- t >= 0 && V.splice(t, 1)
- });
- return V.push(U), U
- }
- n("Element not existed")
- }, V.prototype.stopAnimation = function(e) {
- if(e.__animators) {
- for(var t = e.__animators, i = t.length, n = 0; i > n; n++) t[n].stop();
- t.length = 0
- }
- return this
- }, V.prototype.clearAnimation = function() {
- return this.animation.clear(), this
- }, V.prototype.showLoading = function(e) {
- return this.painter.showLoading(e), this
- }, V.prototype.hideLoading = function() {
- return this.painter.hideLoading(), this
- }, V.prototype.getWidth = function() {
- return this.painter.getWidth()
- }, V.prototype.getHeight = function() {
- return this.painter.getHeight()
- }, V.prototype.toDataURL = function(e, t, i) {
- return this.painter.toDataURL(e, t, i)
- }, V.prototype.shapeToImage = function(e, t, i) {
- var n = a();
- return this.painter.shapeToImage(n, e, t, i)
- }, V.prototype.on = function(e, t, i) {
- return this.handler.on(e, t, i), this
- }, V.prototype.un = function(e, t) {
- return this.handler.un(e, t), this
- }, V.prototype.trigger = function(e, t) {
- return this.handler.trigger(e, t), this
- }, V.prototype.clear = function() {
- return this.storage.delRoot(), this.painter.clear(), this
- }, V.prototype.dispose = function() {
- this.animation.stop(), this.clear(), this.storage.dispose(), this.painter.dispose(), this.handler.dispose(), this.animation = this.storage = this.painter = this.handler = null, m.delInstance(this.id)
- }, m
- }), i("zrender/config", [], function() {
- var e = {
- EVENT: {
- RESIZE: "resize",
- CLICK: "click",
- DBLCLICK: "dblclick",
- MOUSEWHEEL: "mousewheel",
- MOUSEMOVE: "mousemove",
- MOUSEOVER: "mouseover",
- MOUSEOUT: "mouseout",
- MOUSEDOWN: "mousedown",
- MOUSEUP: "mouseup",
- GLOBALOUT: "globalout",
- DRAGSTART: "dragstart",
- DRAGEND: "dragend",
- DRAGENTER: "dragenter",
- DRAGOVER: "dragover",
- DRAGLEAVE: "dragleave",
- DROP: "drop",
- touchClickDelay: 300
- },
- elementClassName: "zr-element",
- catchBrushException: !1,
- debugMode: 0,
- devicePixelRatio: Math.max(window.devicePixelRatio || 1, 1)
- };
- return e
- }), i("echarts/chart/island", ["require", "./base", "zrender/shape/Circle", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/event", "zrender/tool/color", "../util/accMath", "../chart"], function(e) {
- function t(e, t, n, a, r) {
- i.call(this, e, t, n, a, r), this._nameConnector, this._valueConnector, this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth();
- var l = this;
- l.shapeHandler.onmousewheel = function(e) {
- var t = e.target,
- i = e.event,
- n = s.getDelta(i);
- n = n > 0 ? -1 : 1, t.style.r -= n, t.style.r = t.style.r < 5 ? 5 : t.style.r;
- var a = o.get(t, "value"),
- r = a * l.option.island.calculateStep;
- a = r > 1 ? Math.round(a - r * n) : +(a - r * n).toFixed(2);
- var h = o.get(t, "name");
- t.style.text = h + ":" + a, o.set(t, "value", a), o.set(t, "name", h), l.zr.modShape(t.id), l.zr.refreshNextFrame(), s.stop(i)
- }
- }
- var i = e("./base"),
- n = e("zrender/shape/Circle"),
- a = e("../config");
- a.island = {
- zlevel: 0,
- z: 5,
- r: 15,
- calculateStep: .1
- };
- var o = e("../util/ecData"),
- r = e("zrender/tool/util"),
- s = e("zrender/tool/event");
- return t.prototype = {
- type: a.CHART_TYPE_ISLAND,
- _combine: function(t, i) {
- var n = e("zrender/tool/color"),
- a = e("../util/accMath"),
- r = a.accAdd(o.get(t, "value"), o.get(i, "value")),
- s = o.get(t, "name") + this._nameConnector + o.get(i, "name");
- t.style.text = s + this._valueConnector + r, o.set(t, "value", r), o.set(t, "name", s), t.style.r = this.option.island.r, t.style.color = n.mix(t.style.color, i.style.color)
- },
- refresh: function(e) {
- e && (e.island = this.reformOption(e.island), this.option = e, this._nameConnector = this.option.nameConnector, this._valueConnector = this.option.valueConnector)
- },
- getOption: function() {
- return this.option
- },
- resize: function() {
- var e = this.zr.getWidth(),
- t = this.zr.getHeight(),
- i = e / (this._zrWidth || e),
- n = t / (this._zrHeight || t);
- if(1 !== i || 1 !== n) {
- this._zrWidth = e, this._zrHeight = t;
- for(var a = 0, o = this.shapeList.length; o > a; a++) this.zr.modShape(this.shapeList[a].id, {
- style: {
- x: Math.round(this.shapeList[a].style.x * i),
- y: Math.round(this.shapeList[a].style.y * n)
- }
- })
- }
- },
- add: function(e) {
- var t = o.get(e, "name"),
- i = o.get(e, "value"),
- a = null != o.get(e, "series") ? o.get(e, "series").name : "",
- r = this.getFont(this.option.island.textStyle),
- s = this.option.island,
- l = {
- zlevel: s.zlevel,
- z: s.z,
- style: {
- x: e.style.x,
- y: e.style.y,
- r: this.option.island.r,
- color: e.style.color || e.style.strokeColor,
- text: t + this._valueConnector + i,
- textFont: r
- },
- draggable: !0,
- hoverable: !0,
- onmousewheel: this.shapeHandler.onmousewheel,
- _type: "island"
- };
- "#fff" === l.style.color && (l.style.color = e.style.strokeColor), this.setCalculable(l), l.dragEnableTime = 0, o.pack(l, {
- name: a
- }, -1, i, -1, t), l = new n(l), this.shapeList.push(l), this.zr.addShape(l)
- },
- del: function(e) {
- this.zr.delShape(e.id);
- for(var t = [], i = 0, n = this.shapeList.length; n > i; i++) this.shapeList[i].id != e.id && t.push(this.shapeList[i]);
- this.shapeList = t
- },
- ondrop: function(e, t) {
- if(this.isDrop && e.target) {
- var i = e.target,
- n = e.dragged;
- this._combine(i, n), this.zr.modShape(i.id), t.dragIn = !0, this.isDrop = !1
- }
- },
- ondragend: function(e, t) {
- var i = e.target;
- this.isDragend ? t.dragIn && (this.del(i), t.needRefresh = !0) : t.dragIn || (i.style.x = s.getX(e.event), i.style.y = s.getY(e.event), this.add(i), t.needRefresh = !0), this.isDragend = !1
- }
- }, r.inherits(t, i), e("../chart").define("island", t), t
- }), i("echarts/component/toolbox", ["require", "./base", "zrender/shape/Line", "zrender/shape/Image", "zrender/shape/Rectangle", "../util/shape/Icon", "../config", "zrender/tool/util", "zrender/config", "zrender/tool/event", "./dataView", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.dom = o.dom, this._magicType = {}, this._magicMap = {}, this._isSilence = !1, this._iconList, this._iconShapeMap = {}, this._featureTitle = {}, this._featureIcon = {}, this._featureColor = {}, this._featureOption = {}, this._enableColor = "red", this._disableColor = "#ccc", this._markShapeList = [];
- var r = this;
- r._onMark = function(e) {
- r.__onMark(e)
- }, r._onMarkUndo = function(e) {
- r.__onMarkUndo(e)
- }, r._onMarkClear = function(e) {
- r.__onMarkClear(e)
- }, r._onDataZoom = function(e) {
- r.__onDataZoom(e)
- }, r._onDataZoomReset = function(e) {
- r.__onDataZoomReset(e)
- }, r._onDataView = function(e) {
- r.__onDataView(e)
- }, r._onRestore = function(e) {
- r.__onRestore(e)
- }, r._onSaveAsImage = function(e) {
- r.__onSaveAsImage(e)
- }, r._onMagicType = function(e) {
- r.__onMagicType(e)
- }, r._onCustomHandler = function(e) {
- r.__onCustomHandler(e)
- }, r._onmousemove = function(e) {
- return r.__onmousemove(e)
- }, r._onmousedown = function(e) {
- return r.__onmousedown(e)
- }, r._onmouseup = function(e) {
- return r.__onmouseup(e)
- }, r._onclick = function(e) {
- return r.__onclick(e)
- }
- }
- var i = e("./base"),
- n = e("zrender/shape/Line"),
- a = e("zrender/shape/Image"),
- o = e("zrender/shape/Rectangle"),
- r = e("../util/shape/Icon"),
- s = e("../config");
- s.toolbox = {
- zlevel: 0,
- z: 6,
- show: !1,
- orient: "horizontal",
- x: "right",
- y: "top",
- color: ["#1e90ff", "#22bb22", "#4b0082", "#d2691e"],
- disableColor: "#ddd",
- effectiveColor: "red",
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- itemGap: 10,
- itemSize: 16,
- showTitle: !0,
- feature: {
- mark: {
- show: !1,
- title: {
- mark: "辅助线开关",
- markUndo: "删除辅助线",
- markClear: "清空辅助线"
- },
- lineStyle: {
- width: 1,
- color: "#1e90ff",
- type: "dashed"
- }
- },
- dataZoom: {
- show: !1,
- title: {
- dataZoom: "区域缩放",
- dataZoomReset: "区域缩放后退"
- }
- },
- dataView: {
- show: !1,
- title: "数据视图",
- readOnly: !1,
- lang: ["数据视图", "关闭", "刷新"]
- },
- magicType: {
- show: !1,
- title: {
- line: "折线图切换",
- bar: "柱形图切换",
- stack: "堆积",
- tiled: "平铺",
- force: "力导向布局图切换",
- chord: "和弦图切换",
- pie: "饼图切换",
- funnel: "漏斗图切换"
- },
- type: []
- },
- restore: {
- show: !1,
- title: "还原"
- },
- saveAsImage: {
- show: !1,
- title: "保存为图片",
- type: "png",
- lang: ["点击保存"]
- }
- }
- };
- var l = e("zrender/tool/util"),
- h = e("zrender/config"),
- m = e("zrender/tool/event"),
- V = "stack",
- U = "tiled";
- return t.prototype = {
- type: s.COMPONENT_TYPE_TOOLBOX,
- _buildShape: function() {
- this._iconList = [];
- var e = this.option.toolbox;
- this._enableColor = e.effectiveColor, this._disableColor = e.disableColor;
- var t = e.feature,
- i = [];
- for(var n in t)
- if(t[n].show) switch(n) {
- case "mark":
- i.push({
- key: n,
- name: "mark"
- }), i.push({
- key: n,
- name: "markUndo"
- }), i.push({
- key: n,
- name: "markClear"
- });
- break;
- case "magicType":
- for(var a = 0, o = t[n].type.length; o > a; a++) t[n].title[t[n].type[a] + "Chart"] = t[n].title[t[n].type[a]], t[n].option && (t[n].option[t[n].type[a] + "Chart"] = t[n].option[t[n].type[a]]), i.push({
- key: n,
- name: t[n].type[a] + "Chart"
- });
- break;
- case "dataZoom":
- i.push({
- key: n,
- name: "dataZoom"
- }), i.push({
- key: n,
- name: "dataZoomReset"
- });
- break;
- case "saveAsImage":
- this.canvasSupported && i.push({
- key: n,
- name: "saveAsImage"
- });
- break;
- default:
- i.push({
- key: n,
- name: n
- })
- }
- if(i.length > 0) {
- for(var r, n, a = 0, o = i.length; o > a; a++) r = i[a].name, n = i[a].key, this._iconList.push(r), this._featureTitle[r] = t[n].title[r] || t[n].title, t[n].icon && (this._featureIcon[r] = t[n].icon[r] || t[n].icon), t[n].color && (this._featureColor[r] = t[n].color[r] || t[n].color), t[n].option && (this._featureOption[r] = t[n].option[r] || t[n].option);
- this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
- for(var a = 0, o = this.shapeList.length; o > a; a++) this.zr.addShape(this.shapeList[a]);
- this._iconShapeMap.mark && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear)), this._iconShapeMap.dataZoomReset && 0 === this._zoomQueue.length && this._iconDisable(this._iconShapeMap.dataZoomReset)
- }
- },
- _buildItem: function() {
- var t, i, n, o, s = this.option.toolbox,
- l = this._iconList.length,
- h = this._itemGroupLocation.x,
- m = this._itemGroupLocation.y,
- V = s.itemSize,
- U = s.itemGap,
- d = s.color instanceof Array ? s.color : [s.color],
- p = this.getFont(s.textStyle);
- "horizontal" === s.orient ? (i = this._itemGroupLocation.y / this.zr.getHeight() < .5 ? "bottom" : "top", n = this._itemGroupLocation.x / this.zr.getWidth() < .5 ? "left" : "right", o = this._itemGroupLocation.y / this.zr.getHeight() < .5 ? "top" : "bottom") : i = this._itemGroupLocation.x / this.zr.getWidth() < .5 ? "right" : "left", this._iconShapeMap = {};
- for(var c = this, u = 0; l > u; u++) {
- switch(t = {
- type: "icon",
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: h,
- y: m,
- width: V,
- height: V,
- iconType: this._iconList[u],
- lineWidth: 1,
- strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length],
- brushType: "stroke"
- },
- highlightStyle: {
- lineWidth: 1,
- text: s.showTitle ? this._featureTitle[this._iconList[u]] : void 0,
- textFont: p,
- textPosition: i,
- strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length]
- },
- hoverable: !0,
- clickable: !0
- }, this._featureIcon[this._iconList[u]] && (t.style.image = this._featureIcon[this._iconList[u]].replace(new RegExp("^image:\\/\\/"), ""), t.style.opacity = .8, t.highlightStyle.opacity = 1, t.type = "image"), "horizontal" === s.orient && (0 === u && "left" === n && (t.highlightStyle.textPosition = "specific", t.highlightStyle.textAlign = n, t.highlightStyle.textBaseline = o, t.highlightStyle.textX = h, t.highlightStyle.textY = "top" === o ? m + V + 10 : m - 10), u === l - 1 && "right" === n && (t.highlightStyle.textPosition = "specific", t.highlightStyle.textAlign = n, t.highlightStyle.textBaseline = o, t.highlightStyle.textX = h + V, t.highlightStyle.textY = "top" === o ? m + V + 10 : m - 10)), this._iconList[u]) {
- case "mark":
- t.onclick = c._onMark;
- break;
- case "markUndo":
- t.onclick = c._onMarkUndo;
- break;
- case "markClear":
- t.onclick = c._onMarkClear;
- break;
- case "dataZoom":
- t.onclick = c._onDataZoom;
- break;
- case "dataZoomReset":
- t.onclick = c._onDataZoomReset;
- break;
- case "dataView":
- if(!this._dataView) {
- var y = e("./dataView");
- this._dataView = new y(this.ecTheme, this.messageCenter, this.zr, this.option, this.myChart)
- }
- t.onclick = c._onDataView;
- break;
- case "restore":
- t.onclick = c._onRestore;
- break;
- case "saveAsImage":
- t.onclick = c._onSaveAsImage;
- break;
- default:
- this._iconList[u].match("Chart") ? (t._name = this._iconList[u].replace("Chart", ""), t.onclick = c._onMagicType) : t.onclick = c._onCustomHandler
- }
- "icon" === t.type ? t = new r(t) : "image" === t.type && (t = new a(t)), this.shapeList.push(t), this._iconShapeMap[this._iconList[u]] = t, "horizontal" === s.orient ? h += V + U : m += V + U
- }
- },
- _buildBackground: function() {
- var e = this.option.toolbox,
- t = this.reformCssArray(this.option.toolbox.padding);
- this.shapeList.push(new o({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._itemGroupLocation.x - t[3],
- y: this._itemGroupLocation.y - t[0],
- width: this._itemGroupLocation.width + t[3] + t[1],
- height: this._itemGroupLocation.height + t[0] + t[2],
- brushType: 0 === e.borderWidth ? "fill" : "both",
- color: e.backgroundColor,
- strokeColor: e.borderColor,
- lineWidth: e.borderWidth
- }
- }))
- },
- _getItemGroupLocation: function() {
- var e = this.option.toolbox,
- t = this.reformCssArray(this.option.toolbox.padding),
- i = this._iconList.length,
- n = e.itemGap,
- a = e.itemSize,
- o = 0,
- r = 0;
- "horizontal" === e.orient ? (o = (a + n) * i - n, r = a) : (r = (a + n) * i - n, o = a);
- var s, l = this.zr.getWidth();
- switch(e.x) {
- case "center":
- s = Math.floor((l - o) / 2);
- break;
- case "left":
- s = t[3] + e.borderWidth;
- break;
- case "right":
- s = l - o - t[1] - e.borderWidth;
- break;
- default:
- s = e.x - 0, s = isNaN(s) ? 0 : s
- }
- var h, m = this.zr.getHeight();
- switch(e.y) {
- case "top":
- h = t[0] + e.borderWidth;
- break;
- case "bottom":
- h = m - r - t[2] - e.borderWidth;
- break;
- case "center":
- h = Math.floor((m - r) / 2);
- break;
- default:
- h = e.y - 0, h = isNaN(h) ? 0 : h
- }
- return {
- x: s,
- y: h,
- width: o,
- height: r
- }
- },
- __onmousemove: function(e) {
- this._marking && (this._markShape.style.xEnd = m.getX(e.event), this._markShape.style.yEnd = m.getY(e.event), this.zr.addHoverShape(this._markShape)), this._zooming && (this._zoomShape.style.width = m.getX(e.event) - this._zoomShape.style.x, this._zoomShape.style.height = m.getY(e.event) - this._zoomShape.style.y, this.zr.addHoverShape(this._zoomShape), this.dom.style.cursor = "crosshair", m.stop(e.event)), this._zoomStart && "pointer" != this.dom.style.cursor && "move" != this.dom.style.cursor && (this.dom.style.cursor = "crosshair")
- },
- __onmousedown: function(e) {
- if(!e.target) {
- this._zooming = !0;
- var t = m.getX(e.event),
- i = m.getY(e.event),
- n = this.option.dataZoom || {};
- return this._zoomShape = new o({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: t,
- y: i,
- width: 1,
- height: 1,
- brushType: "both"
- },
- highlightStyle: {
- lineWidth: 2,
- color: n.fillerColor || s.dataZoom.fillerColor,
- strokeColor: n.handleColor || s.dataZoom.handleColor,
- brushType: "both"
- }
- }), this.zr.addHoverShape(this._zoomShape), !0
- }
- },
- __onmouseup: function() {
- if(!this._zoomShape || Math.abs(this._zoomShape.style.width) < 10 || Math.abs(this._zoomShape.style.height) < 10) return this._zooming = !1, !0;
- if(this._zooming && this.component.dataZoom) {
- this._zooming = !1;
- var e = this.component.dataZoom.rectZoom(this._zoomShape.style);
- e && (this._zoomQueue.push({
- start: e.start,
- end: e.end,
- start2: e.start2,
- end2: e.end2
- }), this._iconEnable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame())
- }
- return !0
- },
- __onclick: function(e) {
- if(!e.target)
- if(this._marking) this._marking = !1, this._markShapeList.push(this._markShape), this._iconEnable(this._iconShapeMap.markUndo), this._iconEnable(this._iconShapeMap.markClear), this.zr.addShape(this._markShape), this.zr.refreshNextFrame();
- else if(this._markStart) {
- this._marking = !0;
- var t = m.getX(e.event),
- i = m.getY(e.event);
- this._markShape = new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- xStart: t,
- yStart: i,
- xEnd: t,
- yEnd: i,
- lineWidth: this.query(this.option, "toolbox.feature.mark.lineStyle.width"),
- strokeColor: this.query(this.option, "toolbox.feature.mark.lineStyle.color"),
- lineType: this.query(this.option, "toolbox.feature.mark.lineStyle.type")
- }
- }), this.zr.addHoverShape(this._markShape)
- }
- },
- __onMark: function(e) {
- var t = e.target;
- if(this._marking || this._markStart) this._resetMark(), this.zr.refreshNextFrame();
- else {
- this._resetZoom(), this.zr.modShape(t.id, {
- style: {
- strokeColor: this._enableColor
- }
- }), this.zr.refreshNextFrame(), this._markStart = !0;
- var i = this;
- setTimeout(function() {
- i.zr && i.zr.on(h.EVENT.CLICK, i._onclick) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
- }, 10)
- }
- return !0
- },
- __onMarkUndo: function() {
- if(this._marking) this._marking = !1;
- else {
- var e = this._markShapeList.length;
- if(e >= 1) {
- var t = this._markShapeList[e - 1];
- this.zr.delShape(t.id), this.zr.refreshNextFrame(), this._markShapeList.pop(), 1 === e && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear))
- }
- }
- return !0
- },
- __onMarkClear: function() {
- this._marking && (this._marking = !1);
- var e = this._markShapeList.length;
- if(e > 0) {
- for(; e--;) this.zr.delShape(this._markShapeList.pop().id);
- this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear), this.zr.refreshNextFrame()
- }
- return !0
- },
- __onDataZoom: function(e) {
- var t = e.target;
- if(this._zooming || this._zoomStart) this._resetZoom(), this.zr.refreshNextFrame(), this.dom.style.cursor = "default";
- else {
- this._resetMark(), this.zr.modShape(t.id, {
- style: {
- strokeColor: this._enableColor
- }
- }), this.zr.refreshNextFrame(), this._zoomStart = !0;
- var i = this;
- setTimeout(function() {
- i.zr && i.zr.on(h.EVENT.MOUSEDOWN, i._onmousedown) && i.zr.on(h.EVENT.MOUSEUP, i._onmouseup) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
- }, 10), this.dom.style.cursor = "crosshair"
- }
- return !0
- },
- __onDataZoomReset: function() {
- return this._zooming && (this._zooming = !1), this._zoomQueue.pop(), this._zoomQueue.length > 0 ? this.component.dataZoom.absoluteZoom(this._zoomQueue[this._zoomQueue.length - 1]) : (this.component.dataZoom.rectZoom(), this._iconDisable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame()), !0
- },
- _resetMark: function() {
- this._marking = !1, this._markStart && (this._markStart = !1, this._iconShapeMap.mark && this.zr.modShape(this._iconShapeMap.mark.id, {
- style: {
- strokeColor: this._iconShapeMap.mark.highlightStyle.strokeColor
- }
- }), this.zr.un(h.EVENT.CLICK, this._onclick), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
- },
- _resetZoom: function() {
- this._zooming = !1, this._zoomStart && (this._zoomStart = !1, this._iconShapeMap.dataZoom && this.zr.modShape(this._iconShapeMap.dataZoom.id, {
- style: {
- strokeColor: this._iconShapeMap.dataZoom.highlightStyle.strokeColor
- }
- }), this.zr.un(h.EVENT.MOUSEDOWN, this._onmousedown), this.zr.un(h.EVENT.MOUSEUP, this._onmouseup), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
- },
- _iconDisable: function(e) {
- "image" != e.type ? this.zr.modShape(e.id, {
- hoverable: !1,
- clickable: !1,
- style: {
- strokeColor: this._disableColor
- }
- }) : this.zr.modShape(e.id, {
- hoverable: !1,
- clickable: !1,
- style: {
- opacity: .3
- }
- })
- },
- _iconEnable: function(e) {
- "image" != e.type ? this.zr.modShape(e.id, {
- hoverable: !0,
- clickable: !0,
- style: {
- strokeColor: e.highlightStyle.strokeColor
- }
- }) : this.zr.modShape(e.id, {
- hoverable: !0,
- clickable: !0,
- style: {
- opacity: .8
- }
- })
- },
- __onDataView: function() {
- return this._dataView.show(this.option), !0
- },
- __onRestore: function() {
- return this._resetMark(), this._resetZoom(), this.messageCenter.dispatch(s.EVENT.RESTORE, null, null, this.myChart), !0
- },
- __onSaveAsImage: function() {
- var e = this.option.toolbox.feature.saveAsImage,
- t = e.type || "png";
- "png" != t && "jpeg" != t && (t = "png");
- var i;
- i = this.myChart.isConnected() ? this.myChart.getConnectedDataURL(t) : this.zr.toDataURL("image/" + t, this.option.backgroundColor && "rgba(0,0,0,0)" === this.option.backgroundColor.replace(" ", "") ? "#fff" : this.option.backgroundColor);
- var n = document.createElement("div");
- n.id = "__echarts_download_wrap__", n.style.cssText = "position:fixed;z-index:99999;display:block;top:0;left:0;background-color:rgba(33,33,33,0.5);text-align:center;width:100%;height:100%;line-height:" + document.documentElement.clientHeight + "px;";
- var a = document.createElement("a");
- a.href = i, a.setAttribute("download", (e.name ? e.name : this.option.title && (this.option.title.text || this.option.title.subtext) ? this.option.title.text || this.option.title.subtext : "ECharts") + "." + t), a.innerHTML = '<img style="vertical-align:middle" src="' + i + '" title="' + (window.ActiveXObject || "ActiveXObject" in window ? "右键->图片另存为" : e.lang ? e.lang[0] : "点击保存") + '"/>', n.appendChild(a), document.body.appendChild(n), a = null, n = null, setTimeout(function() {
- var e = document.getElementById("__echarts_download_wrap__");
- e && (e.onclick = function() {
- var e = document.getElementById("__echarts_download_wrap__");
- e.onclick = null, e.innerHTML = "", document.body.removeChild(e), e = null
- }, e = null)
- }, 500)
- },
- __onMagicType: function(e) {
- this._resetMark();
- var t = e.target._name;
- return this._magicType[t] || (this._magicType[t] = !0, t === s.CHART_TYPE_LINE ? this._magicType[s.CHART_TYPE_BAR] = !1 : t === s.CHART_TYPE_BAR && (this._magicType[s.CHART_TYPE_LINE] = !1), t === s.CHART_TYPE_PIE ? this._magicType[s.CHART_TYPE_FUNNEL] = !1 : t === s.CHART_TYPE_FUNNEL && (this._magicType[s.CHART_TYPE_PIE] = !1), t === s.CHART_TYPE_FORCE ? this._magicType[s.CHART_TYPE_CHORD] = !1 : t === s.CHART_TYPE_CHORD && (this._magicType[s.CHART_TYPE_FORCE] = !1), t === V ? this._magicType[U] = !1 : t === U && (this._magicType[V] = !1), this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, e.event, {
- magicType: this._magicType
- }, this.myChart)), !0
- },
- setMagicType: function(e) {
- this._resetMark(), this._magicType = e, !this._isSilence && this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, null, {
- magicType: this._magicType
- }, this.myChart)
- },
- __onCustomHandler: function(e) {
- var t = e.target.style.iconType,
- i = this.option.toolbox.feature[t].onclick;
- "function" == typeof i && i.call(this, this.option)
- },
- reset: function(e, t) {
- if(t && this.clear(), this.query(e, "toolbox.show") && this.query(e, "toolbox.feature.magicType.show")) {
- var i = e.toolbox.feature.magicType.type,
- n = i.length;
- for(this._magicMap = {}; n--;) this._magicMap[i[n]] = !0;
- n = e.series.length;
- for(var a, o; n--;) a = e.series[n].type, this._magicMap[a] && (o = e.xAxis instanceof Array ? e.xAxis[e.series[n].xAxisIndex || 0] : e.xAxis, o && "category" === (o.type || "category") && (o.__boundaryGap = null != o.boundaryGap ? o.boundaryGap : !0), o = e.yAxis instanceof Array ? e.yAxis[e.series[n].yAxisIndex || 0] : e.yAxis, o && "category" === o.type && (o.__boundaryGap = null != o.boundaryGap ? o.boundaryGap : !0), e.series[n].__type = a, e.series[n].__itemStyle = l.clone(e.series[n].itemStyle || {})), (this._magicMap[V] || this._magicMap[U]) && (e.series[n].__stack = e.series[n].stack)
- }
- this._magicType = t ? {} : this._magicType || {};
- for(var r in this._magicType)
- if(this._magicType[r]) {
- this.option = e, this.getMagicOption();
- break
- }
- var s = e.dataZoom;
- if(s && s.show) {
- var h = null != s.start && s.start >= 0 && s.start <= 100 ? s.start : 0,
- m = null != s.end && s.end >= 0 && s.end <= 100 ? s.end : 100;
- h > m && (h += m, m = h - m, h -= m), this._zoomQueue = [{
- start: h,
- end: m,
- start2: 0,
- end2: 100
- }]
- } else this._zoomQueue = []
- },
- getMagicOption: function() {
- var e, t;
- if(this._magicType[s.CHART_TYPE_LINE] || this._magicType[s.CHART_TYPE_BAR]) {
- for(var i = this._magicType[s.CHART_TYPE_LINE] ? !1 : !0, n = 0, a = this.option.series.length; a > n; n++) t = this.option.series[n].type, (t == s.CHART_TYPE_LINE || t == s.CHART_TYPE_BAR) && (e = this.option.xAxis instanceof Array ? this.option.xAxis[this.option.series[n].xAxisIndex || 0] : this.option.xAxis, e && "category" === (e.type || "category") && (e.boundaryGap = i ? !0 : e.__boundaryGap), e = this.option.yAxis instanceof Array ? this.option.yAxis[this.option.series[n].yAxisIndex || 0] : this.option.yAxis, e && "category" === e.type && (e.boundaryGap = i ? !0 : e.__boundaryGap));
- this._defaultMagic(s.CHART_TYPE_LINE, s.CHART_TYPE_BAR)
- }
- if(this._defaultMagic(s.CHART_TYPE_CHORD, s.CHART_TYPE_FORCE), this._defaultMagic(s.CHART_TYPE_PIE, s.CHART_TYPE_FUNNEL), this._magicType[V] || this._magicType[U])
- for(var n = 0, a = this.option.series.length; a > n; n++) this._magicType[V] ? (this.option.series[n].stack = "_ECHARTS_STACK_KENER_2014_", t = V) : this._magicType[U] && (this.option.series[n].stack = null, t = U), this._featureOption[t + "Chart"] && l.merge(this.option.series[n], this._featureOption[t + "Chart"] || {}, !0);
- return this.option
- },
- _defaultMagic: function(e, t) {
- if(this._magicType[e] || this._magicType[t])
- for(var i = 0, n = this.option.series.length; n > i; i++) {
- var a = this.option.series[i].type;
- (a == e || a == t) && (this.option.series[i].type = this._magicType[e] ? e : t, this.option.series[i].itemStyle = l.clone(this.option.series[i].__itemStyle), a = this.option.series[i].type, this._featureOption[a + "Chart"] && l.merge(this.option.series[i], this._featureOption[a + "Chart"] || {}, !0))
- }
- },
- silence: function(e) {
- this._isSilence = e
- },
- resize: function() {
- this._resetMark(), this.clear(), this.option && this.option.toolbox && this.option.toolbox.show && this._buildShape(), this._dataView && this._dataView.resize()
- },
- hideDataView: function() {
- this._dataView && this._dataView.hide()
- },
- clear: function(e) {
- this.zr && (this.zr.delShape(this.shapeList), this.shapeList = [], e || (this.zr.delShape(this._markShapeList), this._markShapeList = []))
- },
- onbeforDispose: function() {
- this._dataView && (this._dataView.dispose(), this._dataView = null), this._markShapeList = null
- },
- refresh: function(e) {
- e && (this._resetMark(), this._resetZoom(), e.toolbox = this.reformOption(e.toolbox), this.option = e, this.clear(!0), e.toolbox.show && this._buildShape(), this.hideDataView())
- }
- }, l.inherits(t, i), e("../component").define("toolbox", t), t
- }), i("echarts/component", [], function() {
- var e = {},
- t = {};
- return e.define = function(i, n) {
- return t[i] = n, e
- }, e.get = function(e) {
- return t[e]
- }, e
- }), i("echarts/component/title", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "zrender/tool/color", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Rectangle"),
- o = e("../config");
- o.title = {
- zlevel: 0,
- z: 6,
- show: !0,
- text: "",
- subtext: "",
- x: "left",
- y: "top",
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- itemGap: 5,
- textStyle: {
- fontSize: 18,
- fontWeight: "bolder",
- color: "#333"
- },
- subtextStyle: {
- color: "#aaa"
- }
- };
- var r = e("zrender/tool/util"),
- s = e("zrender/tool/area"),
- l = e("zrender/tool/color");
- return t.prototype = {
- type: o.COMPONENT_TYPE_TITLE,
- _buildShape: function() {
- if(this.titleOption.show) {
- this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
- }
- },
- _buildItem: function() {
- var e = this.titleOption.text,
- t = this.titleOption.link,
- i = this.titleOption.target,
- a = this.titleOption.subtext,
- o = this.titleOption.sublink,
- r = this.titleOption.subtarget,
- s = this.getFont(this.titleOption.textStyle),
- h = this.getFont(this.titleOption.subtextStyle),
- m = this._itemGroupLocation.x,
- V = this._itemGroupLocation.y,
- U = this._itemGroupLocation.width,
- d = this._itemGroupLocation.height,
- p = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- y: V,
- color: this.titleOption.textStyle.color,
- text: e,
- textFont: s,
- textBaseline: "top"
- },
- highlightStyle: {
- color: l.lift(this.titleOption.textStyle.color, 1),
- brushType: "fill"
- },
- hoverable: !1
- };
- t && (p.hoverable = !0, p.clickable = !0, p.onclick = function() {
- i && "self" == i ? window.location = t : window.open(t)
- });
- var c = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- y: V + d,
- color: this.titleOption.subtextStyle.color,
- text: a,
- textFont: h,
- textBaseline: "bottom"
- },
- highlightStyle: {
- color: l.lift(this.titleOption.subtextStyle.color, 1),
- brushType: "fill"
- },
- hoverable: !1
- };
- switch(o && (c.hoverable = !0, c.clickable = !0, c.onclick = function() {
- r && "self" == r ? window.location = o : window.open(o)
- }), this.titleOption.x) {
- case "center":
- p.style.x = c.style.x = m + U / 2, p.style.textAlign = c.style.textAlign = "center";
- break;
- case "left":
- p.style.x = c.style.x = m, p.style.textAlign = c.style.textAlign = "left";
- break;
- case "right":
- p.style.x = c.style.x = m + U, p.style.textAlign = c.style.textAlign = "right";
- break;
- default:
- m = this.titleOption.x - 0, m = isNaN(m) ? 0 : m, p.style.x = c.style.x = m
- }
- this.titleOption.textAlign && (p.style.textAlign = c.style.textAlign = this.titleOption.textAlign), this.shapeList.push(new n(p)), "" !== a && this.shapeList.push(new n(c))
- },
- _buildBackground: function() {
- var e = this.reformCssArray(this.titleOption.padding);
- this.shapeList.push(new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._itemGroupLocation.x - e[3],
- y: this._itemGroupLocation.y - e[0],
- width: this._itemGroupLocation.width + e[3] + e[1],
- height: this._itemGroupLocation.height + e[0] + e[2],
- brushType: 0 === this.titleOption.borderWidth ? "fill" : "both",
- color: this.titleOption.backgroundColor,
- strokeColor: this.titleOption.borderColor,
- lineWidth: this.titleOption.borderWidth
- }
- }))
- },
- _getItemGroupLocation: function() {
- var e, t = this.reformCssArray(this.titleOption.padding),
- i = this.titleOption.text,
- n = this.titleOption.subtext,
- a = this.getFont(this.titleOption.textStyle),
- o = this.getFont(this.titleOption.subtextStyle),
- r = Math.max(s.getTextWidth(i, a), s.getTextWidth(n, o)),
- l = s.getTextHeight(i, a) + ("" === n ? 0 : this.titleOption.itemGap + s.getTextHeight(n, o)),
- h = this.zr.getWidth();
- switch(this.titleOption.x) {
- case "center":
- e = Math.floor((h - r) / 2);
- break;
- case "left":
- e = t[3] + this.titleOption.borderWidth;
- break;
- case "right":
- e = h - r - t[1] - this.titleOption.borderWidth;
- break;
- default:
- e = this.titleOption.x - 0, e = isNaN(e) ? 0 : e
- }
- var m, V = this.zr.getHeight();
- switch(this.titleOption.y) {
- case "top":
- m = t[0] + this.titleOption.borderWidth;
- break;
- case "bottom":
- m = V - l - t[2] - this.titleOption.borderWidth;
- break;
- case "center":
- m = Math.floor((V - l) / 2);
- break;
- default:
- m = this.titleOption.y - 0, m = isNaN(m) ? 0 : m
- }
- return {
- x: e,
- y: m,
- width: r,
- height: l
- }
- },
- refresh: function(e) {
- e && (this.option = e, this.option.title = this.reformOption(this.option.title), this.titleOption = this.option.title, this.titleOption.textStyle = this.getTextStyle(this.titleOption.textStyle), this.titleOption.subtextStyle = this.getTextStyle(this.titleOption.subtextStyle)), this.clear(), this._buildShape()
- }
- }, r.inherits(t, i), e("../component").define("title", t), t
- }), i("echarts/component/tooltip", ["require", "./base", "../util/shape/Cross", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/area", "zrender/tool/color", "zrender/tool/util", "zrender/shape/Base", "../component"], function(e) {
- function t(e, t, o, r, s) {
- i.call(this, e, t, o, r, s), this.dom = s.dom;
- var l = this;
- l._onmousemove = function(e) {
- return l.__onmousemove(e)
- }, l._onglobalout = function(e) {
- return l.__onglobalout(e)
- }, this.zr.on(h.EVENT.MOUSEMOVE, l._onmousemove), this.zr.on(h.EVENT.GLOBALOUT, l._onglobalout), l._hide = function(e) {
- return l.__hide(e)
- }, l._tryShow = function(e) {
- return l.__tryShow(e)
- }, l._refixed = function(e) {
- return l.__refixed(e)
- }, l._setContent = function(e, t) {
- return l.__setContent(e, t)
- }, this._tDom = this._tDom || document.createElement("div"), this._tDom.onselectstart = function() {
- return !1
- }, this._tDom.onmouseover = function() {
- l._mousein = !0
- }, this._tDom.onmouseout = function() {
- l._mousein = !1
- }, this._tDom.className = "echarts-tooltip", this._tDom.style.position = "absolute", this.hasAppend = !1, this._axisLineShape && this.zr.delShape(this._axisLineShape.id), this._axisLineShape = new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- invisible: !0,
- hoverable: !1
- }), this.shapeList.push(this._axisLineShape), this.zr.addShape(this._axisLineShape), this._axisShadowShape && this.zr.delShape(this._axisShadowShape.id), this._axisShadowShape = new a({
- zlevel: this.getZlevelBase(),
- z: 1,
- invisible: !0,
- hoverable: !1
- }), this.shapeList.push(this._axisShadowShape), this.zr.addShape(this._axisShadowShape), this._axisCrossShape && this.zr.delShape(this._axisCrossShape.id), this._axisCrossShape = new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- invisible: !0,
- hoverable: !1
- }), this.shapeList.push(this._axisCrossShape), this.zr.addShape(this._axisCrossShape), this.showing = !1, this.refresh(r)
- }
- var i = e("./base"),
- n = e("../util/shape/Cross"),
- a = e("zrender/shape/Line"),
- o = e("zrender/shape/Rectangle"),
- r = new o({}),
- s = e("../config");
- s.tooltip = {
- zlevel: 1,
- z: 8,
- show: !0,
- showContent: !0,
- trigger: "item",
- islandFormatter: "{a} <br/>{b} : {c}",
- showDelay: 20,
- hideDelay: 100,
- transitionDuration: .4,
- enterable: !1,
- backgroundColor: "rgba(0,0,0,0.7)",
- borderColor: "#333",
- borderRadius: 4,
- borderWidth: 0,
- padding: 5,
- axisPointer: {
- type: "line",
- lineStyle: {
- color: "#48b",
- width: 2,
- type: "solid"
- },
- crossStyle: {
- color: "#1e90ff",
- width: 1,
- type: "dashed"
- },
- shadowStyle: {
- color: "rgba(150,150,150,0.3)",
- width: "auto",
- type: "default"
- }
- },
- textStyle: {
- color: "#fff"
- }
- };
- var l = e("../util/ecData"),
- h = e("zrender/config"),
- m = e("zrender/tool/event"),
- V = e("zrender/tool/area"),
- U = e("zrender/tool/color"),
- d = e("zrender/tool/util"),
- p = e("zrender/shape/Base");
- return t.prototype = {
- type: s.COMPONENT_TYPE_TOOLTIP,
- _gCssText: "position:absolute;display:block;border-style:solid;white-space:nowrap;",
- _style: function(e) {
- if(!e) return "";
- var t = [];
- if(e.transitionDuration) {
- var i = "left " + e.transitionDuration + "s,top " + e.transitionDuration + "s";
- t.push("transition:" + i), t.push("-moz-transition:" + i), t.push("-webkit-transition:" + i), t.push("-o-transition:" + i)
- }
- e.backgroundColor && (t.push("background-Color:" + U.toHex(e.backgroundColor)), t.push("filter:alpha(opacity=70)"), t.push("background-Color:" + e.backgroundColor)), null != e.borderWidth && t.push("border-width:" + e.borderWidth + "px"), null != e.borderColor && t.push("border-color:" + e.borderColor), null != e.borderRadius && (t.push("border-radius:" + e.borderRadius + "px"), t.push("-moz-border-radius:" + e.borderRadius + "px"), t.push("-webkit-border-radius:" + e.borderRadius + "px"), t.push("-o-border-radius:" + e.borderRadius + "px"));
- var n = e.textStyle;
- n && (n.color && t.push("color:" + n.color), n.decoration && t.push("text-decoration:" + n.decoration), n.align && t.push("text-align:" + n.align), n.fontFamily && t.push("font-family:" + n.fontFamily), n.fontSize && t.push("font-size:" + n.fontSize + "px"), n.fontSize && t.push("line-height:" + Math.round(3 * n.fontSize / 2) + "px"), n.fontStyle && t.push("font-style:" + n.fontStyle), n.fontWeight && t.push("font-weight:" + n.fontWeight));
- var a = e.padding;
- return null != a && (a = this.reformCssArray(a), t.push("padding:" + a[0] + "px " + a[1] + "px " + a[2] + "px " + a[3] + "px")), t = t.join(";") + ";"
- },
- __hide: function() {
- this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, this._tDom && (this._tDom.style.display = "none");
- var e = !1;
- this._axisLineShape.invisible || (this._axisLineShape.invisible = !0,
- this.zr.modShape(this._axisLineShape.id), e = !0), this._axisShadowShape.invisible || (this._axisShadowShape.invisible = !0, this.zr.modShape(this._axisShadowShape.id), e = !0), this._axisCrossShape.invisible || (this._axisCrossShape.invisible = !0, this.zr.modShape(this._axisCrossShape.id), e = !0), this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this._lastTipShape = !1, this.shapeList.length = 2), e && this.zr.refreshNextFrame(), this.showing = !1
- },
- _show: function(e, t, i, n) {
- var a = this._tDom.offsetHeight,
- o = this._tDom.offsetWidth;
- e && ("function" == typeof e && (e = e([t, i])), e instanceof Array && (t = e[0], i = e[1])), t + o > this._zrWidth && (t -= o + 40), i + a > this._zrHeight && (i -= a - 20), 20 > i && (i = 0), this._tDom.style.cssText = this._gCssText + this._defaultCssText + (n ? n : "") + "left:" + t + "px;top:" + i + "px;", (10 > a || 10 > o) && setTimeout(this._refixed, 20), this.showing = !0
- },
- __refixed: function() {
- if(this._tDom) {
- var e = "",
- t = this._tDom.offsetHeight,
- i = this._tDom.offsetWidth;
- this._tDom.offsetLeft + i > this._zrWidth && (e += "left:" + (this._zrWidth - i - 20) + "px;"), this._tDom.offsetTop + t > this._zrHeight && (e += "top:" + (this._zrHeight - t - 10) + "px;"), "" !== e && (this._tDom.style.cssText += e)
- }
- },
- __tryShow: function() {
- var e, t;
- if(this._curTarget) {
- if("island" === this._curTarget._type && this.option.tooltip.show) return void this._showItemTrigger();
- var i = l.get(this._curTarget, "series"),
- n = l.get(this._curTarget, "data");
- e = this.deepQuery([n, i, this.option], "tooltip.show"), null != i && null != n && e ? (t = this.deepQuery([n, i, this.option], "tooltip.trigger"), "axis" === t ? this._showAxisTrigger(i.xAxisIndex, i.yAxisIndex, l.get(this._curTarget, "dataIndex")) : this._showItemTrigger()) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._hidingTicket = setTimeout(this._hide, this._hideDelay))
- } else this._findPolarTrigger() || this._findAxisTrigger()
- },
- _findAxisTrigger: function() {
- if(!this.component.xAxis || !this.component.yAxis) return void(this._hidingTicket = setTimeout(this._hide, this._hideDelay));
- for(var e, t, i = this.option.series, n = 0, a = i.length; a > n; n++)
- if("axis" === this.deepQuery([i[n], this.option], "tooltip.trigger")) return e = i[n].xAxisIndex || 0, t = i[n].yAxisIndex || 0, this.component.xAxis.getAxis(e) && this.component.xAxis.getAxis(e).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(e, t, this._getNearestDataIndex("x", this.component.xAxis.getAxis(e))) : this.component.yAxis.getAxis(t) && this.component.yAxis.getAxis(t).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(e, t, this._getNearestDataIndex("y", this.component.yAxis.getAxis(t))) : void this._showAxisTrigger(e, t, -1);
- "cross" === this.option.tooltip.axisPointer.type && this._showAxisTrigger(-1, -1, -1)
- },
- _findPolarTrigger: function() {
- if(!this.component.polar) return !1;
- var e, t = m.getX(this._event),
- i = m.getY(this._event),
- n = this.component.polar.getNearestIndex([t, i]);
- return n ? (e = n.valueIndex, n = n.polarIndex) : n = -1, -1 != n ? this._showPolarTrigger(n, e) : !1
- },
- _getNearestDataIndex: function(e, t) {
- var i = -1,
- n = m.getX(this._event),
- a = m.getY(this._event);
- if("x" === e) {
- for(var o, r, s = this.component.grid.getXend(), l = t.getCoordByIndex(i); s > l && (r = l, n >= l);) o = l, l = t.getCoordByIndex(++i);
- return 0 >= i ? i = 0 : r - n >= n - o ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
- }
- for(var h, V, U = this.component.grid.getY(), l = t.getCoordByIndex(i); l > U && (h = l, l >= a);) V = l, l = t.getCoordByIndex(++i);
- return 0 >= i ? i = 0 : a - h >= V - a ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
- },
- _showAxisTrigger: function(e, t, i) {
- if(!this._event.connectTrigger && this.messageCenter.dispatch(s.EVENT.TOOLTIP_IN_GRID, this._event, null, this.myChart), null == this.component.xAxis || null == this.component.yAxis || null == e || null == t) return clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), void(this._hidingTicket = setTimeout(this._hide, this._hideDelay));
- var n, a, o, r, l = this.option.series,
- h = [],
- V = [],
- U = "";
- if("axis" === this.option.tooltip.trigger) {
- if(!this.option.tooltip.show) return;
- a = this.option.tooltip.formatter, o = this.option.tooltip.position
- }
- var d, p, c = -1 != e && this.component.xAxis.getAxis(e).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? "xAxis" : -1 != t && this.component.yAxis.getAxis(t).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? "yAxis" : !1;
- if(c) {
- var u = "xAxis" == c ? e : t;
- n = this.component[c].getAxis(u);
- for(var y = 0, g = l.length; g > y; y++) this._isSelected(l[y].name) && l[y][c + "Index"] === u && "axis" === this.deepQuery([l[y], this.option], "tooltip.trigger") && (r = this.query(l[y], "tooltip.showContent") || r, a = this.query(l[y], "tooltip.formatter") || a, o = this.query(l[y], "tooltip.position") || o, U += this._style(this.query(l[y], "tooltip")), null != l[y].stack && "xAxis" == c ? (h.unshift(l[y]), V.unshift(y)) : (h.push(l[y]), V.push(y)));
- this.messageCenter.dispatch(s.EVENT.TOOLTIP_HOVER, this._event, {
- seriesIndex: V,
- dataIndex: i
- }, this.myChart);
- var b;
- "xAxis" == c ? (d = this.subPixelOptimize(n.getCoordByIndex(i), this._axisLineWidth), p = m.getY(this._event), b = [d, this.component.grid.getY(), d, this.component.grid.getYend()]) : (d = m.getX(this._event), p = this.subPixelOptimize(n.getCoordByIndex(i), this._axisLineWidth), b = [this.component.grid.getX(), p, this.component.grid.getXend(), p]), this._styleAxisPointer(h, b[0], b[1], b[2], b[3], n.getGap(), d, p)
- } else d = m.getX(this._event), p = m.getY(this._event), this._styleAxisPointer(l, this.component.grid.getX(), p, this.component.grid.getXend(), p, 0, d, p), i >= 0 ? this._showItemTrigger(!0) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._tDom.style.display = "none");
- if(h.length > 0) {
- if(this._lastItemTriggerId = -1, this._lastDataIndex != i || this._lastSeriesIndex != V[0]) {
- this._lastDataIndex = i, this._lastSeriesIndex = V[0];
- var f, k;
- if("function" == typeof a) {
- for(var x = [], y = 0, g = h.length; g > y; y++) f = h[y].data[i], k = this.getDataFromOption(f, "-"), x.push({
- seriesIndex: V[y],
- seriesName: h[y].name || "",
- series: h[y],
- dataIndex: i,
- data: f,
- name: n.getNameByIndex(i),
- value: k,
- 0: h[y].name || "",
- 1: n.getNameByIndex(i),
- 2: k,
- 3: f
- });
- this._curTicket = "axis:" + i, this._tDom.innerHTML = a.call(this.myChart, x, this._curTicket, this._setContent)
- } else if("string" == typeof a) {
- this._curTicket = 0 / 0, a = a.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}");
- for(var y = 0, g = h.length; g > y; y++) a = a.replace("{a" + y + "}", this._encodeHTML(h[y].name || "")), a = a.replace("{b" + y + "}", this._encodeHTML(n.getNameByIndex(i))), f = h[y].data[i], f = this.getDataFromOption(f, "-"), a = a.replace("{c" + y + "}", f instanceof Array ? f : this.numAddCommas(f));
- this._tDom.innerHTML = a
- } else {
- this._curTicket = 0 / 0, a = this._encodeHTML(n.getNameByIndex(i));
- for(var y = 0, g = h.length; g > y; y++) a += "<br/>" + this._encodeHTML(h[y].name || "") + " : ", f = h[y].data[i], f = this.getDataFromOption(f, "-"), a += f instanceof Array ? f : this.numAddCommas(f);
- this._tDom.innerHTML = a
- }
- }
- if(r === !1 || !this.option.tooltip.showContent) return;
- this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(o, d + 10, p + 10, U)
- }
- },
- _showPolarTrigger: function(e, t) {
- if(null == this.component.polar || null == e || null == t || 0 > t) return !1;
- var i, n, a, o = this.option.series,
- r = [],
- s = [],
- l = "";
- if("axis" === this.option.tooltip.trigger) {
- if(!this.option.tooltip.show) return !1;
- i = this.option.tooltip.formatter, n = this.option.tooltip.position
- }
- for(var h = this.option.polar[e].indicator[t].text, V = 0, U = o.length; U > V; V++) this._isSelected(o[V].name) && o[V].polarIndex === e && "axis" === this.deepQuery([o[V], this.option], "tooltip.trigger") && (a = this.query(o[V], "tooltip.showContent") || a, i = this.query(o[V], "tooltip.formatter") || i, n = this.query(o[V], "tooltip.position") || n, l += this._style(this.query(o[V], "tooltip")), r.push(o[V]), s.push(V));
- if(r.length > 0) {
- for(var d, p, c, u = [], V = 0, U = r.length; U > V; V++) {
- d = r[V].data;
- for(var y = 0, g = d.length; g > y; y++) p = d[y], this._isSelected(p.name) && (p = null != p ? p : {
- name: "",
- value: {
- dataIndex: "-"
- }
- }, c = this.getDataFromOption(p.value[t]), u.push({
- seriesIndex: s[V],
- seriesName: r[V].name || "",
- series: r[V],
- dataIndex: t,
- data: p,
- name: p.name,
- indicator: h,
- value: c,
- 0: r[V].name || "",
- 1: p.name,
- 2: c,
- 3: h
- }))
- }
- if(u.length <= 0) return;
- if(this._lastItemTriggerId = -1, this._lastDataIndex != t || this._lastSeriesIndex != s[0])
- if(this._lastDataIndex = t, this._lastSeriesIndex = s[0], "function" == typeof i) this._curTicket = "axis:" + t, this._tDom.innerHTML = i.call(this.myChart, u, this._curTicket, this._setContent);
- else if("string" == typeof i) {
- i = i.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}");
- for(var V = 0, U = u.length; U > V; V++) i = i.replace("{a" + V + "}", this._encodeHTML(u[V].seriesName)), i = i.replace("{b" + V + "}", this._encodeHTML(u[V].name)), i = i.replace("{c" + V + "}", this.numAddCommas(u[V].value)), i = i.replace("{d" + V + "}", this._encodeHTML(u[V].indicator));
- this._tDom.innerHTML = i
- } else {
- i = this._encodeHTML(u[0].name) + "<br/>" + this._encodeHTML(u[0].indicator) + " : " + this.numAddCommas(u[0].value);
- for(var V = 1, U = u.length; U > V; V++) i += "<br/>" + this._encodeHTML(u[V].name) + "<br/>", i += this._encodeHTML(u[V].indicator) + " : " + this.numAddCommas(u[V].value);
- this._tDom.innerHTML = i
- }
- if(a === !1 || !this.option.tooltip.showContent) return;
- return this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(n, m.getX(this._event), m.getY(this._event), l), !0
- }
- },
- _showItemTrigger: function(e) {
- if(this._curTarget) {
- var t, i, n, a = l.get(this._curTarget, "series"),
- o = l.get(this._curTarget, "seriesIndex"),
- r = l.get(this._curTarget, "data"),
- h = l.get(this._curTarget, "dataIndex"),
- V = l.get(this._curTarget, "name"),
- U = l.get(this._curTarget, "value"),
- d = l.get(this._curTarget, "special"),
- p = l.get(this._curTarget, "special2"),
- c = [r, a, this.option],
- u = "";
- if("island" != this._curTarget._type) {
- var y = e ? "axis" : "item";
- this.option.tooltip.trigger === y && (t = this.option.tooltip.formatter, i = this.option.tooltip.position), this.query(a, "tooltip.trigger") === y && (n = this.query(a, "tooltip.showContent") || n, t = this.query(a, "tooltip.formatter") || t, i = this.query(a, "tooltip.position") || i, u += this._style(this.query(a, "tooltip"))), n = this.query(r, "tooltip.showContent") || n, t = this.query(r, "tooltip.formatter") || t, i = this.query(r, "tooltip.position") || i, u += this._style(this.query(r, "tooltip"))
- } else this._lastItemTriggerId = 0 / 0, n = this.deepQuery(c, "tooltip.showContent"), t = this.deepQuery(c, "tooltip.islandFormatter"), i = this.deepQuery(c, "tooltip.islandPosition");
- this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId !== this._curTarget.id && (this._lastItemTriggerId = this._curTarget.id, "function" == typeof t ? (this._curTicket = (a.name || "") + ":" + h, this._tDom.innerHTML = t.call(this.myChart, {
- seriesIndex: o,
- seriesName: a.name || "",
- series: a,
- dataIndex: h,
- data: r,
- name: V,
- value: U,
- percent: d,
- indicator: d,
- value2: p,
- indicator2: p,
- 0: a.name || "",
- 1: V,
- 2: U,
- 3: d,
- 4: p,
- 5: r,
- 6: o,
- 7: h
- }, this._curTicket, this._setContent)) : "string" == typeof t ? (this._curTicket = 0 / 0, t = t.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), t = t.replace("{a0}", this._encodeHTML(a.name || "")).replace("{b0}", this._encodeHTML(V)).replace("{c0}", U instanceof Array ? U : this.numAddCommas(U)), t = t.replace("{d}", "{d0}").replace("{d0}", d || ""), t = t.replace("{e}", "{e0}").replace("{e0}", l.get(this._curTarget, "special2") || ""), this._tDom.innerHTML = t) : (this._curTicket = 0 / 0, this._tDom.innerHTML = a.type === s.CHART_TYPE_RADAR && d ? this._itemFormatter.radar.call(this, a, V, U, d) : a.type === s.CHART_TYPE_EVENTRIVER ? this._itemFormatter.eventRiver.call(this, a, V, U, r) : "" + (null != a.name ? this._encodeHTML(a.name) + "<br/>" : "") + ("" === V ? "" : this._encodeHTML(V) + " : ") + (U instanceof Array ? U : this.numAddCommas(U))));
- var g = m.getX(this._event),
- b = m.getY(this._event);
- this.deepQuery(c, "tooltip.axisPointer.show") && this.component.grid ? this._styleAxisPointer([a], this.component.grid.getX(), b, this.component.grid.getXend(), b, 0, g, b) : this._hide(), n !== !1 && this.option.tooltip.showContent && (this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(i, g + 20, b - 20, u))
- }
- },
- _itemFormatter: {
- radar: function(e, t, i, n) {
- var a = "";
- a += this._encodeHTML("" === t ? e.name || "" : t), a += "" === a ? "" : "<br />";
- for(var o = 0; o < n.length; o++) a += this._encodeHTML(n[o].text) + " : " + this.numAddCommas(i[o]) + "<br />";
- return a
- },
- chord: function(e, t, i, n, a) {
- if(null == a) return this._encodeHTML(t) + " (" + this.numAddCommas(i) + ")";
- var o = this._encodeHTML(t),
- r = this._encodeHTML(n);
- return "" + (null != e.name ? this._encodeHTML(e.name) + "<br/>" : "") + o + " -> " + r + " (" + this.numAddCommas(i) + ")<br />" + r + " -> " + o + " (" + this.numAddCommas(a) + ")"
- },
- eventRiver: function(e, t, i, n) {
- var a = "";
- a += this._encodeHTML("" === e.name ? "" : e.name + " : "), a += this._encodeHTML(t), a += "" === a ? "" : "<br />", n = n.evolution;
- for(var o = 0, r = n.length; r > o; o++) a += '<div style="padding-top:5px;">', n[o].detail && (n[o].detail.img && (a += '<img src="' + n[o].detail.img + '" style="float:left;width:40px;height:40px;">'), a += '<div style="margin-left:45px;">' + n[o].time + "<br/>", a += '<a href="' + n[o].detail.link + '" target="_blank">', a += n[o].detail.text + "</a></div>", a += "</div>");
- return a
- }
- },
- _styleAxisPointer: function(e, t, i, n, a, o, r, s) {
- if(e.length > 0) {
- var l, h, m = this.option.tooltip.axisPointer,
- V = m.type,
- U = {
- line: {},
- cross: {},
- shadow: {}
- };
- for(var d in U) U[d].color = m[d + "Style"].color, U[d].width = m[d + "Style"].width, U[d].type = m[d + "Style"].type;
- for(var p = 0, c = e.length; c > p; p++) l = e[p], h = this.query(l, "tooltip.axisPointer.type"), V = h || V, h && (U[h].color = this.query(l, "tooltip.axisPointer." + h + "Style.color") || U[h].color, U[h].width = this.query(l, "tooltip.axisPointer." + h + "Style.width") || U[h].width, U[h].type = this.query(l, "tooltip.axisPointer." + h + "Style.type") || U[h].type);
- if("line" === V) {
- var u = U.line.width,
- y = t == n;
- this._axisLineShape.style = {
- xStart: y ? this.subPixelOptimize(t, u) : t,
- yStart: y ? i : this.subPixelOptimize(i, u),
- xEnd: y ? this.subPixelOptimize(n, u) : n,
- yEnd: y ? a : this.subPixelOptimize(a, u),
- strokeColor: U.line.color,
- lineWidth: u,
- lineType: U.line.type
- }, this._axisLineShape.invisible = !1, this.zr.modShape(this._axisLineShape.id)
- } else if("cross" === V) {
- var g = U.cross.width;
- this._axisCrossShape.style = {
- brushType: "stroke",
- rect: this.component.grid.getArea(),
- x: this.subPixelOptimize(r, g),
- y: this.subPixelOptimize(s, g),
- text: ("( " + this.component.xAxis.getAxis(0).getValueFromCoord(r) + " , " + this.component.yAxis.getAxis(0).getValueFromCoord(s) + " )").replace(" , ", " ").replace(" , ", " "),
- textPosition: "specific",
- strokeColor: U.cross.color,
- lineWidth: g,
- lineType: U.cross.type
- }, this.component.grid.getXend() - r > 100 ? (this._axisCrossShape.style.textAlign = "left", this._axisCrossShape.style.textX = r + 10) : (this._axisCrossShape.style.textAlign = "right", this._axisCrossShape.style.textX = r - 10), s - this.component.grid.getY() > 50 ? (this._axisCrossShape.style.textBaseline = "bottom", this._axisCrossShape.style.textY = s - 10) : (this._axisCrossShape.style.textBaseline = "top", this._axisCrossShape.style.textY = s + 10), this._axisCrossShape.invisible = !1, this.zr.modShape(this._axisCrossShape.id)
- } else "shadow" === V && ((null == U.shadow.width || "auto" === U.shadow.width || isNaN(U.shadow.width)) && (U.shadow.width = o), t === n ? Math.abs(this.component.grid.getX() - t) < 2 ? (U.shadow.width /= 2, t = n += U.shadow.width / 2) : Math.abs(this.component.grid.getXend() - t) < 2 && (U.shadow.width /= 2, t = n -= U.shadow.width / 2) : i === a && (Math.abs(this.component.grid.getY() - i) < 2 ? (U.shadow.width /= 2, i = a += U.shadow.width / 2) : Math.abs(this.component.grid.getYend() - i) < 2 && (U.shadow.width /= 2, i = a -= U.shadow.width / 2)), this._axisShadowShape.style = {
- xStart: t,
- yStart: i,
- xEnd: n,
- yEnd: a,
- strokeColor: U.shadow.color,
- lineWidth: U.shadow.width
- }, this._axisShadowShape.invisible = !1, this.zr.modShape(this._axisShadowShape.id));
- this.zr.refreshNextFrame()
- }
- },
- __onmousemove: function(e) {
- if(clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), !this._mousein || !this._enterable) {
- var t = e.target,
- i = m.getX(e.event),
- n = m.getY(e.event);
- if(t) {
- this._curTarget = t, this._event = e.event, this._event.zrenderX = i, this._event.zrenderY = n;
- var a;
- if(this._needAxisTrigger && this.component.polar && -1 != (a = this.component.polar.isInside([i, n])))
- for(var o = this.option.series, l = 0, h = o.length; h > l; l++)
- if(o[l].polarIndex === a && "axis" === this.deepQuery([o[l], this.option], "tooltip.trigger")) {
- this._curTarget = null;
- break
- }
- this._showingTicket = setTimeout(this._tryShow, this._showDelay)
- } else this._curTarget = !1, this._event = e.event, this._event.zrenderX = i, this._event.zrenderY = n, this._needAxisTrigger && this.component.grid && V.isInside(r, this.component.grid.getArea(), i, n) ? this._showingTicket = setTimeout(this._tryShow, this._showDelay) : this._needAxisTrigger && this.component.polar && -1 != this.component.polar.isInside([i, n]) ? this._showingTicket = setTimeout(this._tryShow, this._showDelay) : (!this._event.connectTrigger && this.messageCenter.dispatch(s.EVENT.TOOLTIP_OUT_GRID, this._event, null, this.myChart), this._hidingTicket = setTimeout(this._hide, this._hideDelay))
- }
- },
- __onglobalout: function() {
- clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._hidingTicket = setTimeout(this._hide, this._hideDelay)
- },
- __setContent: function(e, t) {
- this._tDom && (e === this._curTicket && (this._tDom.innerHTML = t), setTimeout(this._refixed, 20))
- },
- ontooltipHover: function(e, t) {
- if(!this._lastTipShape || this._lastTipShape && this._lastTipShape.dataIndex != e.dataIndex) {
- this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this.shapeList.length = 2);
- for(var i = 0, n = t.length; n > i; i++) t[i].zlevel = this.getZlevelBase(), t[i].z = this.getZBase(), t[i].style = p.prototype.getHighlightStyle(t[i].style, t[i].highlightStyle), t[i].draggable = !1, t[i].hoverable = !1, t[i].clickable = !1, t[i].ondragend = null, t[i].ondragover = null, t[i].ondrop = null, this.shapeList.push(t[i]), this.zr.addShape(t[i]);
- this._lastTipShape = {
- dataIndex: e.dataIndex,
- tipShape: t
- }
- }
- },
- ondragend: function() {
- this._hide()
- },
- onlegendSelected: function(e) {
- this._selectedMap = e.selected
- },
- _setSelectedMap: function() {
- this._selectedMap = this.component.legend ? d.clone(this.component.legend.getSelectedMap()) : {}
- },
- _isSelected: function(e) {
- return null != this._selectedMap[e] ? this._selectedMap[e] : !0
- },
- showTip: function(e) {
- if(e) {
- var t, i = this.option.series;
- if(null != e.seriesIndex) t = e.seriesIndex;
- else
- for(var n = e.seriesName, a = 0, o = i.length; o > a; a++)
- if(i[a].name === n) {
- t = a;
- break
- } var r = i[t];
- if(null != r) {
- var m = this.myChart.chart[r.type],
- V = "axis" === this.deepQuery([r, this.option], "tooltip.trigger");
- if(m)
- if(V) {
- var U = e.dataIndex;
- switch(m.type) {
- case s.CHART_TYPE_LINE:
- case s.CHART_TYPE_BAR:
- case s.CHART_TYPE_K:
- case s.CHART_TYPE_RADAR:
- if(null == this.component.polar || r.data[0].value.length <= U) return;
- var d = r.polarIndex || 0,
- p = this.component.polar.getVector(d, U, "max");
- this._event = {
- zrenderX: p[0],
- zrenderY: p[1]
- }, this._showPolarTrigger(d, U)
- }
- } else {
- var c, u, y = m.shapeList;
- switch(m.type) {
- case s.CHART_TYPE_LINE:
- case s.CHART_TYPE_BAR:
- case s.CHART_TYPE_K:
- case s.CHART_TYPE_TREEMAP:
- case s.CHART_TYPE_SCATTER:
- for(var U = e.dataIndex, a = 0, o = y.length; o > a; a++)
- if(null == y[a]._mark && l.get(y[a], "seriesIndex") == t && l.get(y[a], "dataIndex") == U) {
- this._curTarget = y[a], c = y[a].style.x, u = m.type != s.CHART_TYPE_K ? y[a].style.y : y[a].style.y[0];
- break
- }
- break;
- case s.CHART_TYPE_RADAR:
- for(var U = e.dataIndex, a = 0, o = y.length; o > a; a++)
- if("polygon" === y[a].type && l.get(y[a], "seriesIndex") == t && l.get(y[a], "dataIndex") == U) {
- this._curTarget = y[a];
- var p = this.component.polar.getCenter(r.polarIndex || 0);
- c = p[0], u = p[1];
- break
- }
- break;
- case s.CHART_TYPE_PIE:
- for(var g = e.name, a = 0, o = y.length; o > a; a++)
- if("sector" === y[a].type && l.get(y[a], "seriesIndex") == t && l.get(y[a], "name") == g) {
- this._curTarget = y[a];
- var b = this._curTarget.style,
- f = (b.startAngle + b.endAngle) / 2 * Math.PI / 180;
- c = this._curTarget.style.x + Math.cos(f) * b.r / 1.5, u = this._curTarget.style.y - Math.sin(f) * b.r / 1.5;
- break
- }
- break;
- case s.CHART_TYPE_MAP:
- for(var g = e.name, k = r.mapType, a = 0, o = y.length; o > a; a++)
- if("text" === y[a].type && y[a]._mapType === k && y[a].style._name === g) {
- this._curTarget = y[a], c = this._curTarget.style.x + this._curTarget.position[0], u = this._curTarget.style.y + this._curTarget.position[1];
- break
- }
- break;
- case s.CHART_TYPE_CHORD:
- for(var g = e.name, a = 0, o = y.length; o > a; a++)
- if("sector" === y[a].type && l.get(y[a], "name") == g) {
- this._curTarget = y[a];
- var b = this._curTarget.style,
- f = (b.startAngle + b.endAngle) / 2 * Math.PI / 180;
- return c = this._curTarget.style.x + Math.cos(f) * (b.r - 2), u = this._curTarget.style.y - Math.sin(f) * (b.r - 2), void this.zr.trigger(h.EVENT.MOUSEMOVE, {
- zrenderX: c,
- zrenderY: u
- })
- }
- break;
- case s.CHART_TYPE_FORCE:
- for(var g = e.name, a = 0, o = y.length; o > a; a++)
- if("circle" === y[a].type && l.get(y[a], "name") == g) {
- this._curTarget = y[a], c = this._curTarget.position[0], u = this._curTarget.position[1];
- break
- }
- }
- null != c && null != u && (this._event = {
- zrenderX: c,
- zrenderY: u
- }, this.zr.addHoverShape(this._curTarget), this.zr.refreshHover(), this._showItemTrigger())
- }
- }
- }
- },
- hideTip: function() {
- this._hide()
- },
- refresh: function(e) {
- if(this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth(), this._lastTipShape && this._lastTipShape.tipShape.length > 0 && this.zr.delShape(this._lastTipShape.tipShape), this._lastTipShape = !1, this.shapeList.length = 2, this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, e) {
- this.option = e, this.option.tooltip = this.reformOption(this.option.tooltip), this.option.tooltip.textStyle = d.merge(this.option.tooltip.textStyle, this.ecTheme.textStyle), this._needAxisTrigger = !1, "axis" === this.option.tooltip.trigger && (this._needAxisTrigger = !0);
- for(var t = this.option.series, i = 0, n = t.length; n > i; i++)
- if("axis" === this.query(t[i], "tooltip.trigger")) {
- this._needAxisTrigger = !0;
- break
- }
- this._showDelay = this.option.tooltip.showDelay, this._hideDelay = this.option.tooltip.hideDelay, this._defaultCssText = this._style(this.option.tooltip), this._setSelectedMap(), this._axisLineWidth = this.option.tooltip.axisPointer.lineStyle.width, this._enterable = this.option.tooltip.enterable, !this._enterable && this._tDom.className.indexOf(h.elementClassName) < 0 && (this._tDom.className += " " + h.elementClassName)
- }
- if(this.showing) {
- var a = this;
- setTimeout(function() {
- a.zr.trigger(h.EVENT.MOUSEMOVE, a.zr.handler._event)
- }, 50)
- }
- },
- onbeforDispose: function() {
- this._lastTipShape && this._lastTipShape.tipShape.length > 0 && this.zr.delShape(this._lastTipShape.tipShape), clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove), this.zr.un(h.EVENT.GLOBALOUT, this._onglobalout), this.hasAppend && this.dom.firstChild && this.dom.firstChild.removeChild(this._tDom), this._tDom = null
- },
- _encodeHTML: function(e) {
- return String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'")
- }
- }, d.inherits(t, i), e("../component").define("tooltip", t), t
- }), i("echarts/component/legend", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "zrender/shape/Sector", "../util/shape/Icon", "../util/shape/Candle", "../config", "zrender/tool/util", "zrender/tool/area", "../component"], function(e) {
- function t(e, t, n, a, o) {
- if(!this.query(a, "legend.data")) return void console.error("option.legend.data has not been defined.");
- i.call(this, e, t, n, a, o);
- var r = this;
- r._legendSelected = function(e) {
- r.__legendSelected(e)
- }, r._dispatchHoverLink = function(e) {
- return r.__dispatchHoverLink(e)
- }, this._colorIndex = 0, this._colorMap = {}, this._selectedMap = {}, this._hasDataMap = {}, this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Rectangle"),
- o = e("zrender/shape/Sector"),
- r = e("../util/shape/Icon"),
- s = e("../util/shape/Candle"),
- l = e("../config");
- l.legend = {
- zlevel: 0,
- z: 4,
- show: !0,
- orient: "horizontal",
- x: "center",
- y: "top",
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- itemGap: 10,
- itemWidth: 20,
- itemHeight: 14,
- textStyle: {
- color: "#333"
- },
- selectedMode: !0
- };
- var h = e("zrender/tool/util"),
- m = e("zrender/tool/area");
- t.prototype = {
- type: l.COMPONENT_TYPE_LEGEND,
- _buildShape: function() {
- if(this.legendOption.show) {
- this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
- }
- },
- _buildItem: function() {
- var e, t, i, a, o, s, l, V, U = this.legendOption.data,
- d = U.length,
- p = this.legendOption.textStyle,
- c = this.zr.getWidth(),
- u = this.zr.getHeight(),
- y = this._itemGroupLocation.x,
- g = this._itemGroupLocation.y,
- b = this.legendOption.itemWidth,
- f = this.legendOption.itemHeight,
- k = this.legendOption.itemGap;
- "vertical" === this.legendOption.orient && "right" === this.legendOption.x && (y = this._itemGroupLocation.x + this._itemGroupLocation.width - b);
- for(var x = 0; d > x; x++) o = h.merge(U[x].textStyle || {}, p), s = this.getFont(o), e = this._getName(U[x]), l = this._getFormatterName(e), "" !== e ? (t = U[x].icon || this._getSomethingByName(e).type, V = this.getColor(e), "horizontal" === this.legendOption.orient ? 200 > c - y && b + 5 + m.getTextWidth(l, s) + (x === d - 1 || "" === U[x + 1] ? 0 : k) >= c - y && (y = this._itemGroupLocation.x, g += f + k) : 200 > u - g && f + (x === d - 1 || "" === U[x + 1] ? 0 : k) >= u - g && ("right" === this.legendOption.x ? y -= this._itemGroupLocation.maxWidth + k : y += this._itemGroupLocation.maxWidth + k, g = this._itemGroupLocation.y), i = this._getItemShapeByType(y, g, b, f, this._selectedMap[e] && this._hasDataMap[e] ? V : "#ccc", t, V), i._name = e, i = new r(i), a = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: y + b + 5,
- y: g + f / 2,
- color: this._selectedMap[e] ? "auto" === o.color ? V : o.color : "#ccc",
- text: l,
- textFont: s,
- textBaseline: "middle"
- },
- highlightStyle: {
- color: V,
- brushType: "fill"
- },
- hoverable: !!this.legendOption.selectedMode,
- clickable: !!this.legendOption.selectedMode
- }, "vertical" === this.legendOption.orient && "right" === this.legendOption.x && (a.style.x -= b + 10, a.style.textAlign = "right"), a._name = e, a = new n(a), this.legendOption.selectedMode && (i.onclick = a.onclick = this._legendSelected, i.onmouseover = a.onmouseover = this._dispatchHoverLink, i.hoverConnect = a.id, a.hoverConnect = i.id), this.shapeList.push(i), this.shapeList.push(a), "horizontal" === this.legendOption.orient ? y += b + 5 + m.getTextWidth(l, s) + k : g += f + k) : "horizontal" === this.legendOption.orient ? (y = this._itemGroupLocation.x, g += f + k) : ("right" === this.legendOption.x ? y -= this._itemGroupLocation.maxWidth + k : y += this._itemGroupLocation.maxWidth + k, g = this._itemGroupLocation.y);
- "horizontal" === this.legendOption.orient && "center" === this.legendOption.x && g != this._itemGroupLocation.y && this._mLineOptimize()
- },
- _getName: function(e) {
- return "undefined" != typeof e.name ? e.name : e
- },
- _getFormatterName: function(e) {
- var t, i = this.legendOption.formatter;
- return t = "function" == typeof i ? i.call(this.myChart, e) : "string" == typeof i ? i.replace("{name}", e) : e
- },
- _getFormatterNameFromData: function(e) {
- var t = this._getName(e);
- return this._getFormatterName(t)
- },
- _mLineOptimize: function() {
- for(var e = [], t = this._itemGroupLocation.x, i = 2, n = this.shapeList.length; n > i; i++) this.shapeList[i].style.x === t ? e.push((this._itemGroupLocation.width - (this.shapeList[i - 1].style.x + m.getTextWidth(this.shapeList[i - 1].style.text, this.shapeList[i - 1].style.textFont) - t)) / 2) : i === n - 1 && e.push((this._itemGroupLocation.width - (this.shapeList[i].style.x + m.getTextWidth(this.shapeList[i].style.text, this.shapeList[i].style.textFont) - t)) / 2);
- for(var a = -1, i = 1, n = this.shapeList.length; n > i; i++) this.shapeList[i].style.x === t && a++, 0 !== e[a] && (this.shapeList[i].style.x += e[a])
- },
- _buildBackground: function() {
- var e = this.reformCssArray(this.legendOption.padding);
- this.shapeList.push(new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._itemGroupLocation.x - e[3],
- y: this._itemGroupLocation.y - e[0],
- width: this._itemGroupLocation.width + e[3] + e[1],
- height: this._itemGroupLocation.height + e[0] + e[2],
- brushType: 0 === this.legendOption.borderWidth ? "fill" : "both",
- color: this.legendOption.backgroundColor,
- strokeColor: this.legendOption.borderColor,
- lineWidth: this.legendOption.borderWidth
- }
- }))
- },
- _getItemGroupLocation: function() {
- var e = this.legendOption.data,
- t = e.length,
- i = this.legendOption.itemGap,
- n = this.legendOption.itemWidth + 5,
- a = this.legendOption.itemHeight,
- o = this.legendOption.textStyle,
- r = this.getFont(o),
- s = 0,
- l = 0,
- V = this.reformCssArray(this.legendOption.padding),
- U = this.zr.getWidth() - V[1] - V[3],
- d = this.zr.getHeight() - V[0] - V[2],
- p = 0,
- c = 0;
- if("horizontal" === this.legendOption.orient) {
- l = a;
- for(var u = 0; t > u; u++)
- if("" !== this._getName(e[u])) {
- var y = m.getTextWidth(this._getFormatterNameFromData(e[u]), e[u].textStyle ? this.getFont(h.merge(e[u].textStyle || {}, o)) : r);
- p + n + y + i > U ? (p -= i, s = Math.max(s, p), l += a + i, p = 0) : (p += n + y + i, s = Math.max(s, p - i))
- } else p -= i, s = Math.max(s, p), l += a + i, p = 0
- } else {
- for(var u = 0; t > u; u++) c = Math.max(c, m.getTextWidth(this._getFormatterNameFromData(e[u]), e[u].textStyle ? this.getFont(h.merge(e[u].textStyle || {}, o)) : r));
- c += n, s = c;
- for(var u = 0; t > u; u++) "" !== this._getName(e[u]) ? p + a + i > d ? (s += c + i, p -= i, l = Math.max(l, p), p = 0) : (p += a + i, l = Math.max(l, p - i)) : (s += c + i, p -= i, l = Math.max(l, p), p = 0)
- }
- U = this.zr.getWidth(), d = this.zr.getHeight();
- var g;
- switch(this.legendOption.x) {
- case "center":
- g = Math.floor((U - s) / 2);
- break;
- case "left":
- g = V[3] + this.legendOption.borderWidth;
- break;
- case "right":
- g = U - s - V[1] - V[3] - 2 * this.legendOption.borderWidth;
- break;
- default:
- g = this.parsePercent(this.legendOption.x, U)
- }
- var b;
- switch(this.legendOption.y) {
- case "top":
- b = V[0] + this.legendOption.borderWidth;
- break;
- case "bottom":
- b = d - l - V[0] - V[2] - 2 * this.legendOption.borderWidth;
- break;
- case "center":
- b = Math.floor((d - l) / 2);
- break;
- default:
- b = this.parsePercent(this.legendOption.y, d)
- }
- return {
- x: g,
- y: b,
- width: s,
- height: l,
- maxWidth: c
- }
- },
- _getSomethingByName: function(e) {
- for(var t, i = this.option.series, n = 0, a = i.length; a > n; n++) {
- if(i[n].name === e) return {
- type: i[n].type,
- series: i[n],
- seriesIndex: n,
- data: null,
- dataIndex: -1
- };
- if(i[n].type === l.CHART_TYPE_PIE || i[n].type === l.CHART_TYPE_RADAR || i[n].type === l.CHART_TYPE_CHORD || i[n].type === l.CHART_TYPE_FORCE || i[n].type === l.CHART_TYPE_FUNNEL || i[n].type === l.CHART_TYPE_TREEMAP) {
- t = i[n].categories || i[n].data || i[n].nodes;
- for(var o = 0, r = t.length; r > o; o++)
- if(t[o].name === e) return {
- type: i[n].type,
- series: i[n],
- seriesIndex: n,
- data: t[o],
- dataIndex: o
- }
- }
- }
- return {
- type: "bar",
- series: null,
- seriesIndex: -1,
- data: null,
- dataIndex: -1
- }
- },
- _getItemShapeByType: function(e, t, i, n, a, o, r) {
- var s, h = "#ccc" === a ? r : a,
- m = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- iconType: "legendicon" + o,
- x: e,
- y: t,
- width: i,
- height: n,
- color: a,
- strokeColor: a,
- lineWidth: 2
- },
- highlightStyle: {
- color: h,
- strokeColor: h,
- lineWidth: 1
- },
- hoverable: this.legendOption.selectedMode,
- clickable: this.legendOption.selectedMode
- };
- if(o.match("image")) {
- var s = o.replace(new RegExp("^image:\\/\\/"), "");
- o = "image"
- }
- switch(o) {
- case "line":
- m.style.brushType = "stroke", m.highlightStyle.lineWidth = 3;
- break;
- case "radar":
- case "venn":
- case "tree":
- case "treemap":
- case "scatter":
- m.highlightStyle.lineWidth = 3;
- break;
- case "k":
- m.style.brushType = "both", m.highlightStyle.lineWidth = 3, m.highlightStyle.color = m.style.color = this.deepQuery([this.ecTheme, l], "k.itemStyle.normal.color") || "#fff", m.style.strokeColor = "#ccc" != a ? this.deepQuery([this.ecTheme, l], "k.itemStyle.normal.lineStyle.color") || "#ff3200" : a;
- break;
- case "image":
- m.style.iconType = "image", m.style.image = s, "#ccc" === a && (m.style.opacity = .5)
- }
- return m
- },
- __legendSelected: function(e) {
- var t = e.target._name;
- if("single" === this.legendOption.selectedMode)
- for(var i in this._selectedMap) this._selectedMap[i] = !1;
- this._selectedMap[t] = !this._selectedMap[t], this.messageCenter.dispatch(l.EVENT.LEGEND_SELECTED, e.event, {
- selected: this._selectedMap,
- target: t
- }, this.myChart)
- },
- __dispatchHoverLink: function(e) {
- this.messageCenter.dispatch(l.EVENT.LEGEND_HOVERLINK, e.event, {
- target: e.target._name
- }, this.myChart)
- },
- refresh: function(e) {
- if(e) {
- this.option = e || this.option, this.option.legend = this.reformOption(this.option.legend), this.legendOption = this.option.legend;
- var t, i, n, a, o = this.legendOption.data || [];
- if(this.legendOption.selected)
- for(var r in this.legendOption.selected) this._selectedMap[r] = "undefined" != typeof this._selectedMap[r] ? this._selectedMap[r] : this.legendOption.selected[r];
- for(var s = 0, h = o.length; h > s; s++) t = this._getName(o[s]), "" !== t && (i = this._getSomethingByName(t), i.series ? (this._hasDataMap[t] = !0, a = !i.data || i.type !== l.CHART_TYPE_PIE && i.type !== l.CHART_TYPE_FORCE && i.type !== l.CHART_TYPE_FUNNEL ? [i.series] : [i.data, i.series], n = this.getItemStyleColor(this.deepQuery(a, "itemStyle.normal.color"), i.seriesIndex, i.dataIndex, i.data), n && i.type != l.CHART_TYPE_K && this.setColor(t, n), this._selectedMap[t] = null != this._selectedMap[t] ? this._selectedMap[t] : !0) : this._hasDataMap[t] = !1)
- }
- this.clear(), this._buildShape()
- },
- getRelatedAmount: function(e) {
- for(var t, i = 0, n = this.option.series, a = 0, o = n.length; o > a; a++)
- if(n[a].name === e && i++, n[a].type === l.CHART_TYPE_PIE || n[a].type === l.CHART_TYPE_RADAR || n[a].type === l.CHART_TYPE_CHORD || n[a].type === l.CHART_TYPE_FORCE || n[a].type === l.CHART_TYPE_FUNNEL) {
- t = n[a].type != l.CHART_TYPE_FORCE ? n[a].data : n[a].categories;
- for(var r = 0, s = t.length; s > r; r++) t[r].name === e && "-" != t[r].value && i++
- }
- return i
- },
- setColor: function(e, t) {
- this._colorMap[e] = t
- },
- getColor: function(e) {
- return this._colorMap[e] || (this._colorMap[e] = this.zr.getColor(this._colorIndex++)), this._colorMap[e]
- },
- hasColor: function(e) {
- return this._colorMap[e] ? this._colorMap[e] : !1
- },
- add: function(e, t) {
- for(var i = this.legendOption.data, n = 0, a = i.length; a > n; n++)
- if(this._getName(i[n]) === e) return;
- this.legendOption.data.push(e), this.setColor(e, t), this._selectedMap[e] = !0, this._hasDataMap[e] = !0
- },
- del: function(e) {
- for(var t = this.legendOption.data, i = 0, n = t.length; n > i; i++)
- if(this._getName(t[i]) === e) return this.legendOption.data.splice(i, 1)
- },
- getItemShape: function(e) {
- if(null != e)
- for(var t, i = 0, n = this.shapeList.length; n > i; i++)
- if(t = this.shapeList[i], t._name === e && "text" != t.type) return t
- },
- setItemShape: function(e, t) {
- for(var i, n = 0, a = this.shapeList.length; a > n; n++) i = this.shapeList[n], i._name === e && "text" != i.type && (this._selectedMap[e] || (t.style.color = "#ccc", t.style.strokeColor = "#ccc"), this.zr.modShape(i.id, t))
- },
- isSelected: function(e) {
- return "undefined" != typeof this._selectedMap[e] ? this._selectedMap[e] : !0
- },
- getSelectedMap: function() {
- return this._selectedMap
- },
- setSelected: function(e, t) {
- if("single" === this.legendOption.selectedMode)
- for(var i in this._selectedMap) this._selectedMap[i] = !1;
- this._selectedMap[e] = t, this.messageCenter.dispatch(l.EVENT.LEGEND_SELECTED, null, {
- selected: this._selectedMap,
- target: e
- }, this.myChart)
- },
- onlegendSelected: function(e, t) {
- var i = e.selected;
- for(var n in i) this._selectedMap[n] != i[n] && (t.needRefresh = !0), this._selectedMap[n] = i[n]
- }
- };
- var V = {
- line: function(e, t) {
- var i = t.height / 2;
- e.moveTo(t.x, t.y + i), e.lineTo(t.x + t.width, t.y + i)
- },
- pie: function(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width,
- r = t.height;
- o.prototype.buildPath(e, {
- x: i + a / 2,
- y: n + r + 2,
- r: r,
- r0: 6,
- startAngle: 45,
- endAngle: 135
- })
- },
- eventRiver: function(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width,
- o = t.height;
- e.moveTo(i, n + o), e.bezierCurveTo(i + a, n + o, i, n + 4, i + a, n + 4), e.lineTo(i + a, n), e.bezierCurveTo(i, n, i + a, n + o - 4, i, n + o - 4), e.lineTo(i, n + o)
- },
- k: function(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width,
- o = t.height;
- s.prototype.buildPath(e, {
- x: i + a / 2,
- y: [n + 1, n + 1, n + o - 6, n + o],
- width: a - 6
- })
- },
- bar: function(e, t) {
- var i = t.x,
- n = t.y + 1,
- a = t.width,
- o = t.height - 2,
- r = 3;
- e.moveTo(i + r, n), e.lineTo(i + a - r, n), e.quadraticCurveTo(i + a, n, i + a, n + r), e.lineTo(i + a, n + o - r), e.quadraticCurveTo(i + a, n + o, i + a - r, n + o), e.lineTo(i + r, n + o), e.quadraticCurveTo(i, n + o, i, n + o - r), e.lineTo(i, n + r), e.quadraticCurveTo(i, n, i + r, n)
- },
- force: function(e, t) {
- r.prototype.iconLibrary.circle(e, t)
- },
- radar: function(e, t) {
- var i = 6,
- n = t.x + t.width / 2,
- a = t.y + t.height / 2,
- o = t.height / 2,
- r = 2 * Math.PI / i,
- s = -Math.PI / 2,
- l = n + o * Math.cos(s),
- h = a + o * Math.sin(s);
- e.moveTo(l, h), s += r;
- for(var m = 0, V = i - 1; V > m; m++) e.lineTo(n + o * Math.cos(s), a + o * Math.sin(s)), s += r;
- e.lineTo(l, h)
- }
- };
- V.chord = V.pie, V.map = V.bar;
- for(var U in V) r.prototype.iconLibrary["legendicon" + U] = V[U];
- return h.inherits(t, i), e("../component").define("legend", t), t
- }), i("echarts/util/ecData", [], function() {
- function e(e, t, i, n, a, o, r, s) {
- var l;
- return "undefined" != typeof n && (l = null == n.value ? n : n.value), e._echartsData = {
- _series: t,
- _seriesIndex: i,
- _data: n,
- _dataIndex: a,
- _name: o,
- _value: l,
- _special: r,
- _special2: s
- }, e._echartsData
- }
- function t(e, t) {
- var i = e._echartsData;
- if(!t) return i;
- switch(t) {
- case "series":
- case "seriesIndex":
- case "data":
- case "dataIndex":
- case "name":
- case "value":
- case "special":
- case "special2":
- return i && i["_" + t]
- }
- return null
- }
- function i(e, t, i) {
- switch(e._echartsData = e._echartsData || {}, t) {
- case "series":
- case "seriesIndex":
- case "data":
- case "dataIndex":
- case "name":
- case "value":
- case "special":
- case "special2":
- e._echartsData["_" + t] = i
- }
- }
- function n(e, t) {
- t._echartsData = {
- _series: e._echartsData._series,
- _seriesIndex: e._echartsData._seriesIndex,
- _data: e._echartsData._data,
- _dataIndex: e._echartsData._dataIndex,
- _name: e._echartsData._name,
- _value: e._echartsData._value,
- _special: e._echartsData._special,
- _special2: e._echartsData._special2
- }
- }
- return {
- pack: e,
- set: i,
- get: t,
- clone: n
- }
- }), i("echarts/chart", [], function() {
- var e = {},
- t = {};
- return e.define = function(i, n) {
- return t[i] = n, e
- }, e.get = function(e) {
- return t[e]
- }, e
- }), i("zrender/tool/color", ["require", "../tool/util"], function(e) {
- function t(e) {
- D = e
- }
- function i() {
- D = N
- }
- function n(e, t) {
- return e = 0 | e, t = t || D, t[e % t.length]
- }
- function a(e) {
- B = e
- }
- function o() {
- H = B
- }
- function r() {
- return B
- }
- function s(e, t, i, n, a, o, r) {
- O || (O = P.getContext());
- for(var s = O.createRadialGradient(e, t, i, n, a, o), l = 0, h = r.length; h > l; l++) s.addColorStop(r[l][0], r[l][1]);
- return s.__nonRecursion = !0, s
- }
- function l(e, t, i, n, a) {
- O || (O = P.getContext());
- for(var o = O.createLinearGradient(e, t, i, n), r = 0, s = a.length; s > r; r++) o.addColorStop(a[r][0], a[r][1]);
- return o.__nonRecursion = !0, o
- }
- function h(e, t, i) {
- e = p(e), t = p(t), e = I(e), t = I(t);
- for(var n = [], a = (t[0] - e[0]) / i, o = (t[1] - e[1]) / i, r = (t[2] - e[2]) / i, s = (t[3] - e[3]) / i, l = 0, h = e[0], m = e[1], U = e[2], d = e[3]; i > l; l++) n[l] = V([S(Math.floor(h), [0, 255]), S(Math.floor(m), [0, 255]), S(Math.floor(U), [0, 255]), d.toFixed(4) - 0], "rgba"), h += a, m += o, U += r, d += s;
- return h = t[0], m = t[1], U = t[2], d = t[3], n[l] = V([h, m, U, d], "rgba"), n
- }
- function m(e, t) {
- var i = [],
- n = e.length;
- if(void 0 === t && (t = 20), 1 === n) i = h(e[0], e[0], t);
- else if(n > 1)
- for(var a = 0, o = n - 1; o > a; a++) {
- var r = h(e[a], e[a + 1], t);
- o - 1 > a && r.pop(), i = i.concat(r)
- }
- return i
- }
- function V(e, t) {
- if(t = t || "rgb", e && (3 === e.length || 4 === e.length)) {
- if(e = C(e, function(e) {
- return e > 1 ? Math.ceil(e) : e
- }), t.indexOf("hex") > -1) return "#" + ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1);
- if(t.indexOf("hs") > -1) {
- var i = C(e.slice(1, 3), function(e) {
- return e + "%"
- });
- e[1] = i[0], e[2] = i[1]
- }
- return t.indexOf("a") > -1 ? (3 === e.length && e.push(1), e[3] = S(e[3], [0, 1]), t + "(" + e.slice(0, 4).join(",") + ")") : t + "(" + e.slice(0, 3).join(",") + ")"
- }
- }
- function U(e) {
- e = L(e), e.indexOf("rgba") < 0 && (e = p(e));
- var t = [],
- i = 0;
- return e.replace(/[\d.]+/g, function(e) {
- e = 3 > i ? 0 | e : +e, t[i++] = e
- }), t
- }
- function d(e, t) {
- if(!E(e)) return e;
- var i = I(e),
- n = i[3];
- return "undefined" == typeof n && (n = 1), e.indexOf("hsb") > -1 ? i = F(i) : e.indexOf("hsl") > -1 && (i = T(i)), t.indexOf("hsb") > -1 || t.indexOf("hsv") > -1 ? i = A(i) : t.indexOf("hsl") > -1 && (i = M(i)), i[3] = n, V(i, t)
- }
- function p(e) {
- return d(e, "rgba")
- }
- function c(e) {
- return d(e, "rgb")
- }
- function u(e) {
- return d(e, "hex")
- }
- function y(e) {
- return d(e, "hsva")
- }
- function g(e) {
- return d(e, "hsv")
- }
- function b(e) {
- return d(e, "hsba")
- }
- function f(e) {
- return d(e, "hsb")
- }
- function k(e) {
- return d(e, "hsla")
- }
- function x(e) {
- return d(e, "hsl")
- }
- function _(e) {
- for(var t in G)
- if(u(G[t]) === u(e)) return t;
- return null
- }
- function L(e) {
- return String(e).replace(/\s+/g, "")
- }
- function W(e) {
- if(G[e] && (e = G[e]), e = L(e), e = e.replace(/hsv/i, "hsb"), /^#[\da-f]{3}$/i.test(e)) {
- e = parseInt(e.slice(1), 16);
- var t = (3840 & e) << 8,
- i = (240 & e) << 4,
- n = 15 & e;
- e = "#" + ((1 << 24) + (t << 4) + t + (i << 4) + i + (n << 4) + n).toString(16).slice(1)
- }
- return e
- }
- function X(e, t) {
- if(!E(e)) return e;
- var i = t > 0 ? 1 : -1;
- "undefined" == typeof t && (t = 0), t = Math.abs(t) > 1 ? 1 : Math.abs(t), e = c(e);
- for(var n = I(e), a = 0; 3 > a; a++) n[a] = 1 === i ? n[a] * (1 - t) | 0 : (255 - n[a]) * t + n[a] | 0;
- return "rgb(" + n.join(",") + ")"
- }
- function v(e) {
- if(!E(e)) return e;
- var t = I(p(e));
- return t = C(t, function(e) {
- return 255 - e
- }), V(t, "rgb")
- }
- function w(e, t, i) {
- if(!E(e) || !E(t)) return e;
- "undefined" == typeof i && (i = .5), i = 1 - S(i, [0, 1]);
- for(var n = 2 * i - 1, a = I(p(e)), o = I(p(t)), r = a[3] - o[3], s = ((n * r === -1 ? n : (n + r) / (1 + n * r)) + 1) / 2, l = 1 - s, h = [], m = 0; 3 > m; m++) h[m] = a[m] * s + o[m] * l;
- var U = a[3] * i + o[3] * (1 - i);
- return U = Math.max(0, Math.min(1, U)), 1 === a[3] && 1 === o[3] ? V(h, "rgb") : (h[3] = U, V(h, "rgba"))
- }
- function K() {
- return "#" + (Math.random().toString(16) + "0000").slice(2, 8)
- }
- function I(e) {
- e = W(e);
- var t = e.match(R);
- if(null === t) throw new Error("The color format error");
- var i, n, a, o = [];
- if(t[2]) i = t[2].replace("#", "").split(""), a = [i[0] + i[1], i[2] + i[3], i[4] + i[5]], o = C(a, function(e) {
- return S(parseInt(e, 16), [0, 255])
- });
- else if(t[4]) {
- var r = t[4].split(",");
- n = r[3], a = r.slice(0, 3), o = C(a, function(e) {
- return e = Math.floor(e.indexOf("%") > 0 ? 2.55 * parseInt(e, 0) : e), S(e, [0, 255])
- }), "undefined" != typeof n && o.push(S(parseFloat(n), [0, 1]))
- } else if(t[5] || t[6]) {
- var s = (t[5] || t[6]).split(","),
- l = parseInt(s[0], 0) / 360,
- h = s[1],
- m = s[2];
- n = s[3], o = C([h, m], function(e) {
- return S(parseFloat(e) / 100, [0, 1])
- }), o.unshift(l), "undefined" != typeof n && o.push(S(parseFloat(n), [0, 1]))
- }
- return o
- }
- function J(e, t) {
- if(!E(e)) return e;
- null === t && (t = 1);
- var i = I(p(e));
- return i[3] = S(Number(t).toFixed(4), [0, 1]), V(i, "rgba")
- }
- function C(e, t) {
- if("function" != typeof t) throw new TypeError;
- for(var i = e ? e.length : 0, n = 0; i > n; n++) e[n] = t(e[n]);
- return e
- }
- function S(e, t) {
- return e <= t[0] ? e = t[0] : e >= t[1] && (e = t[1]), e
- }
- function E(e) {
- return e instanceof Array || "string" == typeof e
- }
- function F(e) {
- var t, i, n, a = e[0],
- o = e[1],
- r = e[2];
- if(0 === o) t = 255 * r, i = 255 * r, n = 255 * r;
- else {
- var s = 6 * a;
- 6 === s && (s = 0);
- var l = 0 | s,
- h = r * (1 - o),
- m = r * (1 - o * (s - l)),
- V = r * (1 - o * (1 - (s - l))),
- U = 0,
- d = 0,
- p = 0;
- 0 === l ? (U = r, d = V, p = h) : 1 === l ? (U = m, d = r, p = h) : 2 === l ? (U = h, d = r, p = V) : 3 === l ? (U = h, d = m, p = r) : 4 === l ? (U = V, d = h, p = r) : (U = r, d = h, p = m), t = 255 * U, i = 255 * d, n = 255 * p
- }
- return [t, i, n]
- }
- function T(e) {
- var t, i, n, a = e[0],
- o = e[1],
- r = e[2];
- if(0 === o) t = 255 * r, i = 255 * r, n = 255 * r;
- else {
- var s;
- s = .5 > r ? r * (1 + o) : r + o - o * r;
- var l = 2 * r - s;
- t = 255 * z(l, s, a + 1 / 3), i = 255 * z(l, s, a), n = 255 * z(l, s, a - 1 / 3)
- }
- return [t, i, n]
- }
- function z(e, t, i) {
- return 0 > i && (i += 1), i > 1 && (i -= 1), 1 > 6 * i ? e + 6 * (t - e) * i : 1 > 2 * i ? t : 2 > 3 * i ? e + (t - e) * (2 / 3 - i) * 6 : e
- }
- function A(e) {
- var t, i, n = e[0] / 255,
- a = e[1] / 255,
- o = e[2] / 255,
- r = Math.min(n, a, o),
- s = Math.max(n, a, o),
- l = s - r,
- h = s;
- if(0 === l) t = 0, i = 0;
- else {
- i = l / s;
- var m = ((s - n) / 6 + l / 2) / l,
- V = ((s - a) / 6 + l / 2) / l,
- U = ((s - o) / 6 + l / 2) / l;
- n === s ? t = U - V : a === s ? t = 1 / 3 + m - U : o === s && (t = 2 / 3 + V - m), 0 > t && (t += 1), t > 1 && (t -= 1)
- }
- return t = 360 * t, i = 100 * i, h = 100 * h, [t, i, h]
- }
- function M(e) {
- var t, i, n = e[0] / 255,
- a = e[1] / 255,
- o = e[2] / 255,
- r = Math.min(n, a, o),
- s = Math.max(n, a, o),
- l = s - r,
- h = (s + r) / 2;
- if(0 === l) t = 0, i = 0;
- else {
- i = .5 > h ? l / (s + r) : l / (2 - s - r);
- var m = ((s - n) / 6 + l / 2) / l,
- V = ((s - a) / 6 + l / 2) / l,
- U = ((s - o) / 6 + l / 2) / l;
- n === s ? t = U - V : a === s ? t = 1 / 3 + m - U : o === s && (t = 2 / 3 + V - m), 0 > t && (t += 1), t > 1 && (t -= 1)
- }
- return t = 360 * t, i = 100 * i, h = 100 * h, [t, i, h]
- }
- var O, P = e("../tool/util"),
- D = ["#ff9277", " #dddd00", " #ffc877", " #bbe3ff", " #d5ffbb", "#bbbbff", " #ddb000", " #b0dd00", " #e2bbff", " #ffbbe3", "#ff7777", " #ff9900", " #83dd00", " #77e3ff", " #778fff", "#c877ff", " #ff77ab", " #ff6600", " #aa8800", " #77c7ff", "#ad77ff", " #ff77ff", " #dd0083", " #777700", " #00aa00", "#0088aa", " #8400dd", " #aa0088", " #dd0000", " #772e00"],
- N = D,
- B = "rgba(255,255,0,0.5)",
- H = B,
- R = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
- G = {
- aliceblue: "#f0f8ff",
- antiquewhite: "#faebd7",
- aqua: "#0ff",
- aquamarine: "#7fffd4",
- azure: "#f0ffff",
- beige: "#f5f5dc",
- bisque: "#ffe4c4",
- black: "#000",
- blanchedalmond: "#ffebcd",
- blue: "#00f",
- blueviolet: "#8a2be2",
- brown: "#a52a2a",
- burlywood: "#deb887",
- cadetblue: "#5f9ea0",
- chartreuse: "#7fff00",
- chocolate: "#d2691e",
- coral: "#ff7f50",
- cornflowerblue: "#6495ed",
- cornsilk: "#fff8dc",
- crimson: "#dc143c",
- cyan: "#0ff",
- darkblue: "#00008b",
- darkcyan: "#008b8b",
- darkgoldenrod: "#b8860b",
- darkgray: "#a9a9a9",
- darkgrey: "#a9a9a9",
- darkgreen: "#006400",
- darkkhaki: "#bdb76b",
- darkmagenta: "#8b008b",
- darkolivegreen: "#556b2f",
- darkorange: "#ff8c00",
- darkorchid: "#9932cc",
- darkred: "#8b0000",
- darksalmon: "#e9967a",
- darkseagreen: "#8fbc8f",
- darkslateblue: "#483d8b",
- darkslategray: "#2f4f4f",
- darkslategrey: "#2f4f4f",
- darkturquoise: "#00ced1",
- darkviolet: "#9400d3",
- deeppink: "#ff1493",
- deepskyblue: "#00bfff",
- dimgray: "#696969",
- dimgrey: "#696969",
- dodgerblue: "#1e90ff",
- firebrick: "#b22222",
- floralwhite: "#fffaf0",
- forestgreen: "#228b22",
- fuchsia: "#f0f",
- gainsboro: "#dcdcdc",
- ghostwhite: "#f8f8ff",
- gold: "#ffd700",
- goldenrod: "#daa520",
- gray: "#808080",
- grey: "#808080",
- green: "#008000",
- greenyellow: "#adff2f",
- honeydew: "#f0fff0",
- hotpink: "#ff69b4",
- indianred: "#cd5c5c",
- indigo: "#4b0082",
- ivory: "#fffff0",
- khaki: "#f0e68c",
- lavender: "#e6e6fa",
- lavenderblush: "#fff0f5",
- lawngreen: "#7cfc00",
- lemonchiffon: "#fffacd",
- lightblue: "#add8e6",
- lightcoral: "#f08080",
- lightcyan: "#e0ffff",
- lightgoldenrodyellow: "#fafad2",
- lightgray: "#d3d3d3",
- lightgrey: "#d3d3d3",
- lightgreen: "#90ee90",
- lightpink: "#ffb6c1",
- lightsalmon: "#ffa07a",
- lightseagreen: "#20b2aa",
- lightskyblue: "#87cefa",
- lightslategray: "#789",
- lightslategrey: "#789",
- lightsteelblue: "#b0c4de",
- lightyellow: "#ffffe0",
- lime: "#0f0",
- limegreen: "#32cd32",
- linen: "#faf0e6",
- magenta: "#f0f",
- maroon: "#800000",
- mediumaquamarine: "#66cdaa",
- mediumblue: "#0000cd",
- mediumorchid: "#ba55d3",
- mediumpurple: "#9370d8",
- mediumseagreen: "#3cb371",
- mediumslateblue: "#7b68ee",
- mediumspringgreen: "#00fa9a",
- mediumturquoise: "#48d1cc",
- mediumvioletred: "#c71585",
- midnightblue: "#191970",
- mintcream: "#f5fffa",
- mistyrose: "#ffe4e1",
- moccasin: "#ffe4b5",
- navajowhite: "#ffdead",
- navy: "#000080",
- oldlace: "#fdf5e6",
- olive: "#808000",
- olivedrab: "#6b8e23",
- orange: "#ffa500",
- orangered: "#ff4500",
- orchid: "#da70d6",
- palegoldenrod: "#eee8aa",
- palegreen: "#98fb98",
- paleturquoise: "#afeeee",
- palevioletred: "#d87093",
- papayawhip: "#ffefd5",
- peachpuff: "#ffdab9",
- peru: "#cd853f",
- pink: "#ffc0cb",
- plum: "#dda0dd",
- powderblue: "#b0e0e6",
- purple: "#800080",
- red: "#f00",
- rosybrown: "#bc8f8f",
- royalblue: "#4169e1",
- saddlebrown: "#8b4513",
- salmon: "#fa8072",
- sandybrown: "#f4a460",
- seagreen: "#2e8b57",
- seashell: "#fff5ee",
- sienna: "#a0522d",
- silver: "#c0c0c0",
- skyblue: "#87ceeb",
- slateblue: "#6a5acd",
- slategray: "#708090",
- slategrey: "#708090",
- snow: "#fffafa",
- springgreen: "#00ff7f",
- steelblue: "#4682b4",
- tan: "#d2b48c",
- teal: "#008080",
- thistle: "#d8bfd8",
- tomato: "#ff6347",
- turquoise: "#40e0d0",
- violet: "#ee82ee",
- wheat: "#f5deb3",
- white: "#fff",
- whitesmoke: "#f5f5f5",
- yellow: "#ff0",
- yellowgreen: "#9acd32"
- };
- return {
- customPalette: t,
- resetPalette: i,
- getColor: n,
- getHighlightColor: r,
- customHighlight: a,
- resetHighlight: o,
- getRadialGradient: s,
- getLinearGradient: l,
- getGradientColors: m,
- getStepColors: h,
- reverse: v,
- mix: w,
- lift: X,
- trim: L,
- random: K,
- toRGB: c,
- toRGBA: p,
- toHex: u,
- toHSL: x,
- toHSLA: k,
- toHSB: f,
- toHSBA: b,
- toHSV: g,
- toHSVA: y,
- toName: _,
- toColor: V,
- toArray: U,
- alpha: J,
- getData: I
- }
- }), i("echarts/component/timeline", ["require", "./base", "zrender/shape/Rectangle", "../util/shape/Icon", "../util/shape/Chain", "../config", "zrender/tool/util", "zrender/tool/area", "zrender/tool/event", "../component"], function(e) {
- function t(e, t, i, a, o) {
- n.call(this, e, t, i, a, o);
- var r = this;
- if(r._onclick = function(e) {
- return r.__onclick(e)
- }, r._ondrift = function(e, t) {
- return r.__ondrift(this, e, t)
- }, r._ondragend = function() {
- return r.__ondragend()
- }, r._setCurrentOption = function() {
- var e = r.timelineOption;
- r.currentIndex %= e.data.length;
- var t = r.options[r.currentIndex] || {};
- r.myChart._setOption(t, e.notMerge, !0), r.messageCenter.dispatch(s.EVENT.TIMELINE_CHANGED, null, {
- currentIndex: r.currentIndex,
- data: null != e.data[r.currentIndex].name ? e.data[r.currentIndex].name : e.data[r.currentIndex]
- }, r.myChart)
- }, r._onFrame = function() {
- r._setCurrentOption(), r._syncHandleShape(), r.timelineOption.autoPlay && (r.playTicket = setTimeout(function() {
- return r.currentIndex += 1, !r.timelineOption.loop && r.currentIndex >= r.timelineOption.data.length ? (r.currentIndex = r.timelineOption.data.length - 1, void r.stop()) : void r._onFrame()
- }, r.timelineOption.playInterval))
- }, this.setTheme(!1), this.options = this.option.options, this.currentIndex = this.timelineOption.currentIndex % this.timelineOption.data.length, this.timelineOption.notMerge || 0 === this.currentIndex || (this.options[this.currentIndex] = l.merge(this.options[this.currentIndex], this.options[0])), this.timelineOption.show && (this._buildShape(), this._syncHandleShape()), this._setCurrentOption(), this.timelineOption.autoPlay) {
- var r = this;
- this.playTicket = setTimeout(function() {
- r.play()
- }, null != this.ecTheme.animationDuration ? this.ecTheme.animationDuration : s.animationDuration)
- }
- }
- function i(e, t) {
- var i = 2,
- n = t.x + i,
- a = t.y + i + 2,
- r = t.width - i,
- s = t.height - i,
- l = t.symbol;
- if("last" === l) e.moveTo(n + r - 2, a + s / 3), e.lineTo(n + r - 2, a), e.lineTo(n + 2, a + s / 2), e.lineTo(n + r - 2, a + s), e.lineTo(n + r - 2, a + s / 3 * 2), e.moveTo(n, a), e.lineTo(n, a);
- else if("next" === l) e.moveTo(n + 2, a + s / 3), e.lineTo(n + 2, a), e.lineTo(n + r - 2, a + s / 2), e.lineTo(n + 2, a + s), e.lineTo(n + 2, a + s / 3 * 2), e.moveTo(n, a), e.lineTo(n, a);
- else if("play" === l)
- if("stop" === t.status) e.moveTo(n + 2, a), e.lineTo(n + r - 2, a + s / 2), e.lineTo(n + 2, a + s), e.lineTo(n + 2, a);
- else {
- var h = "both" === t.brushType ? 2 : 3;
- e.rect(n + 2, a, h, s), e.rect(n + r - h - 2, a, h, s)
- }
- else if(l.match("image")) {
- var m = "";
- m = l.replace(new RegExp("^image:\\/\\/"), ""), l = o.prototype.iconLibrary.image, l(e, {
- x: n,
- y: a,
- width: r,
- height: s,
- image: m
- })
- }
- }
- var n = e("./base"),
- a = e("zrender/shape/Rectangle"),
- o = e("../util/shape/Icon"),
- r = e("../util/shape/Chain"),
- s = e("../config");
- s.timeline = {
- zlevel: 0,
- z: 4,
- show: !0,
- type: "time",
- notMerge: !1,
- realtime: !0,
- x: 80,
- x2: 80,
- y2: 0,
- height: 50,
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- controlPosition: "left",
- autoPlay: !1,
- loop: !0,
- playInterval: 2e3,
- lineStyle: {
- width: 1,
- color: "#666",
- type: "dashed"
- },
- label: {
- show: !0,
- interval: "auto",
- rotate: 0,
- textStyle: {
- color: "#333"
- }
- },
- checkpointStyle: {
- symbol: "auto",
- symbolSize: "auto",
- color: "auto",
- borderColor: "auto",
- borderWidth: "auto",
- label: {
- show: !1,
- textStyle: {
- color: "auto"
- }
- }
- },
- controlStyle: {
- itemSize: 15,
- itemGap: 5,
- normal: {
- color: "#333"
- },
- emphasis: {
- color: "#1e90ff"
- }
- },
- symbol: "emptyDiamond",
- symbolSize: 4,
- currentIndex: 0
- };
- var l = e("zrender/tool/util"),
- h = e("zrender/tool/area"),
- m = e("zrender/tool/event");
- return t.prototype = {
- type: s.COMPONENT_TYPE_TIMELINE,
- _buildShape: function() {
- if(this._location = this._getLocation(), this._buildBackground(), this._buildControl(), this._chainPoint = this._getChainPoint(), this.timelineOption.label.show)
- for(var e = this._getInterval(), t = 0, i = this._chainPoint.length; i > t; t += e) this._chainPoint[t].showLabel = !0;
- this._buildChain(), this._buildHandle();
- for(var t = 0, n = this.shapeList.length; n > t; t++) this.zr.addShape(this.shapeList[t])
- },
- _getLocation: function() {
- var e, t = this.timelineOption,
- i = this.reformCssArray(this.timelineOption.padding),
- n = this.zr.getWidth(),
- a = this.parsePercent(t.x, n),
- o = this.parsePercent(t.x2, n);
- null == t.width ? (e = n - a - o, o = n - o) : (e = this.parsePercent(t.width, n), o = a + e);
- var r, s, l = this.zr.getHeight(),
- h = this.parsePercent(t.height, l);
- return null != t.y ? (r = this.parsePercent(t.y, l), s = r + h) : (s = l - this.parsePercent(t.y2, l), r = s - h), {
- x: a + i[3],
- y: r + i[0],
- x2: o - i[1],
- y2: s - i[2],
- width: e - i[1] - i[3],
- height: h - i[0] - i[2]
- }
- },
- _getReformedLabel: function(e) {
- var t = this.timelineOption,
- i = null != t.data[e].name ? t.data[e].name : t.data[e],
- n = t.data[e].formatter || t.label.formatter;
- return n && ("function" == typeof n ? i = n.call(this.myChart, i) : "string" == typeof n && (i = n.replace("{value}", i))), i
- },
- _getInterval: function() {
- var e = this._chainPoint,
- t = this.timelineOption,
- i = t.label.interval;
- if("auto" === i) {
- var n = t.label.textStyle.fontSize,
- a = t.data,
- o = t.data.length;
- if(o > 3) {
- var r, s, l = !1;
- for(i = 0; !l && o > i;) {
- i++, l = !0;
- for(var m = i; o > m; m += i) {
- if(r = e[m].x - e[m - i].x, 0 !== t.label.rotate) s = n;
- else if(a[m].textStyle) s = h.getTextWidth(e[m].name, e[m].textFont);
- else {
- var V = e[m].name + "",
- U = (V.match(/\w/g) || "").length,
- d = V.length - U;
- s = U * n * 2 / 3 + d * n
- }
- if(s > r) {
- l = !1;
- break
- }
- }
- }
- } else i = 1
- } else i = i - 0 + 1;
- return i
- },
- _getChainPoint: function() {
- function e(e) {
- return null != h[e].name ? h[e].name : h[e] + ""
- }
- var t, i = this.timelineOption,
- n = i.symbol.toLowerCase(),
- a = i.symbolSize,
- o = i.label.rotate,
- r = i.label.textStyle,
- s = this.getFont(r),
- h = i.data,
- m = this._location.x,
- V = this._location.y + this._location.height / 4 * 3,
- U = this._location.x2 - this._location.x,
- d = h.length,
- p = [];
- if(d > 1) {
- var c = U / d;
- if(c = c > 50 ? 50 : 20 > c ? 5 : c, U -= 2 * c, "number" === i.type)
- for(var u = 0; d > u; u++) p.push(m + c + U / (d - 1) * u);
- else {
- p[0] = new Date(e(0).replace(/-/g, "/")), p[d - 1] = new Date(e(d - 1).replace(/-/g, "/")) - p[0];
- for(var u = 1; d > u; u++) p[u] = m + c + U * (new Date(e(u).replace(/-/g, "/")) - p[0]) / p[d - 1];
- p[0] = m + c
- }
- } else p.push(m + U / 2);
- for(var y, g, b, f, k, x = [], u = 0; d > u; u++) m = p[u], y = h[u].symbol && h[u].symbol.toLowerCase() || n, y.match("empty") ? (y = y.replace("empty", ""), b = !0) : b = !1, y.match("star") && (g = y.replace("star", "") - 0 || 5, y = "star"), t = h[u].textStyle ? l.merge(h[u].textStyle || {}, r) : r, f = t.align || "center", o ? (f = o > 0 ? "right" : "left", k = [o * Math.PI / 180, m, V - 5]) : k = !1, x.push({
- x: m,
- n: g,
- isEmpty: b,
- symbol: y,
- symbolSize: h[u].symbolSize || a,
- color: h[u].color,
- borderColor: h[u].borderColor,
- borderWidth: h[u].borderWidth,
- name: this._getReformedLabel(u),
- textColor: t.color,
- textAlign: f,
- textBaseline: t.baseline || "middle",
- textX: m,
- textY: V - (o ? 5 : 0),
- textFont: h[u].textStyle ? this.getFont(t) : s,
- rotation: k,
- showLabel: !1
- });
- return x
- },
- _buildBackground: function() {
- var e = this.timelineOption,
- t = this.reformCssArray(this.timelineOption.padding),
- i = this._location.width,
- n = this._location.height;
- (0 !== e.borderWidth || "rgba(0,0,0,0)" != e.backgroundColor.replace(/\s/g, "")) && this.shapeList.push(new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._location.x - t[3],
- y: this._location.y - t[0],
- width: i + t[1] + t[3],
- height: n + t[0] + t[2],
- brushType: 0 === e.borderWidth ? "fill" : "both",
- color: e.backgroundColor,
- strokeColor: e.borderColor,
- lineWidth: e.borderWidth
- }
- }))
- },
- _buildControl: function() {
- var e = this,
- t = this.timelineOption,
- i = t.lineStyle,
- n = t.controlStyle;
- if("none" !== t.controlPosition) {
- var a, r = n.itemSize,
- s = n.itemGap;
- "left" === t.controlPosition ? (a = this._location.x, this._location.x += 3 * (r + s)) : (a = this._location.x2 - (3 * (r + s) - s), this._location.x2 -= 3 * (r + s));
- var h = this._location.y,
- m = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- style: {
- iconType: "timelineControl",
- symbol: "last",
- x: a,
- y: h,
- width: r,
- height: r,
- brushType: "stroke",
- color: n.normal.color,
- strokeColor: n.normal.color,
- lineWidth: i.width
- },
- highlightStyle: {
- color: n.emphasis.color,
- strokeColor: n.emphasis.color,
- lineWidth: i.width + 1
- },
- clickable: !0
- };
- this._ctrLastShape = new o(m), this._ctrLastShape.onclick = function() {
- e.last()
- }, this.shapeList.push(this._ctrLastShape), a += r + s, this._ctrPlayShape = new o(l.clone(m)), this._ctrPlayShape.style.brushType = "fill", this._ctrPlayShape.style.symbol = "play", this._ctrPlayShape.style.status = this.timelineOption.autoPlay ? "playing" : "stop", this._ctrPlayShape.style.x = a, this._ctrPlayShape.onclick = function() {
- "stop" === e._ctrPlayShape.style.status ? e.play() : e.stop()
- }, this.shapeList.push(this._ctrPlayShape), a += r + s, this._ctrNextShape = new o(l.clone(m)), this._ctrNextShape.style.symbol = "next", this._ctrNextShape.style.x = a, this._ctrNextShape.onclick = function() {
- e.next()
- }, this.shapeList.push(this._ctrNextShape)
- }
- },
- _buildChain: function() {
- var e = this.timelineOption,
- t = e.lineStyle;
- this._timelineShae = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: this._location.x,
- y: this.subPixelOptimize(this._location.y, t.width),
- width: this._location.x2 - this._location.x,
- height: this._location.height,
- chainPoint: this._chainPoint,
- brushType: "both",
- strokeColor: t.color,
- lineWidth: t.width,
- lineType: t.type
- },
- hoverable: !1,
- clickable: !0,
- onclick: this._onclick
- }, this._timelineShae = new r(this._timelineShae), this.shapeList.push(this._timelineShae)
- },
- _buildHandle: function() {
- var e = this._chainPoint[this.currentIndex],
- t = e.symbolSize + 1;
- t = 5 > t ? 5 : t, this._handleShape = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- hoverable: !1,
- draggable: !0,
- style: {
- iconType: "diamond",
- n: e.n,
- x: e.x - t,
- y: this._location.y + this._location.height / 4 - t,
- width: 2 * t,
- height: 2 * t,
- brushType: "both",
- textPosition: "specific",
- textX: e.x,
- textY: this._location.y - this._location.height / 4,
- textAlign: "center",
- textBaseline: "middle"
- },
- highlightStyle: {},
- ondrift: this._ondrift,
- ondragend: this._ondragend
- }, this._handleShape = new o(this._handleShape), this.shapeList.push(this._handleShape)
- },
- _syncHandleShape: function() {
- if(this.timelineOption.show) {
- var e = this.timelineOption,
- t = e.checkpointStyle,
- i = this._chainPoint[this.currentIndex];
- this._handleShape.style.text = t.label.show ? i.name : "", this._handleShape.style.textFont = i.textFont, this._handleShape.style.n = i.n, "auto" === t.symbol ? this._handleShape.style.iconType = "none" != i.symbol ? i.symbol : "diamond" : (this._handleShape.style.iconType = t.symbol, t.symbol.match("star") && (this._handleShape.style.n = t.symbol.replace("star", "") - 0 || 5, this._handleShape.style.iconType = "star"));
- var n;
- "auto" === t.symbolSize ? (n = i.symbolSize + 2, n = 5 > n ? 5 : n) : n = t.symbolSize - 0, this._handleShape.style.color = "auto" === t.color ? i.color ? i.color : e.controlStyle.emphasis.color : t.color, this._handleShape.style.textColor = "auto" === t.label.textStyle.color ? this._handleShape.style.color : t.label.textStyle.color, this._handleShape.highlightStyle.strokeColor = this._handleShape.style.strokeColor = "auto" === t.borderColor ? i.borderColor ? i.borderColor : "#fff" : t.borderColor, this._handleShape.style.lineWidth = "auto" === t.borderWidth ? i.borderWidth ? i.borderWidth : 0 : t.borderWidth - 0, this._handleShape.highlightStyle.lineWidth = this._handleShape.style.lineWidth + 1, this.zr.animate(this._handleShape.id, "style").when(500, {
- x: i.x - n,
- textX: i.x,
- y: this._location.y + this._location.height / 4 - n,
- width: 2 * n,
- height: 2 * n
- }).start("ExponentialOut")
- }
- },
- _findChainIndex: function(e) {
- var t = this._chainPoint,
- i = t.length;
- if(e <= t[0].x) return 0;
- if(e >= t[i - 1].x) return i - 1;
- for(var n = 0; i - 1 > n; n++)
- if(e >= t[n].x && e <= t[n + 1].x) return Math.abs(e - t[n].x) < Math.abs(e - t[n + 1].x) ? n : n + 1
- },
- __onclick: function(e) {
- var t = m.getX(e.event),
- i = this._findChainIndex(t);
- return i === this.currentIndex ? !0 : (this.currentIndex = i, this.timelineOption.autoPlay && this.stop(), clearTimeout(this.playTicket), void this._onFrame())
- },
- __ondrift: function(e, t) {
- this.timelineOption.autoPlay && this.stop();
- var i, n = this._chainPoint,
- a = n.length;
- e.style.x + t <= n[0].x - n[0].symbolSize ? (e.style.x = n[0].x - n[0].symbolSize, i = 0) : e.style.x + t >= n[a - 1].x - n[a - 1].symbolSize ? (e.style.x = n[a - 1].x - n[a - 1].symbolSize, i = a - 1) : (e.style.x += t, i = this._findChainIndex(e.style.x));
- var o = n[i],
- r = o.symbolSize + 2;
- if(e.style.iconType = o.symbol, e.style.n = o.n, e.style.textX = e.style.x + r / 2, e.style.y = this._location.y + this._location.height / 4 - r, e.style.width = 2 * r, e.style.height = 2 * r, e.style.text = o.name, i === this.currentIndex) return !0;
- if(this.currentIndex = i, this.timelineOption.realtime) {
- clearTimeout(this.playTicket);
- var s = this;
- this.playTicket = setTimeout(function() {
- s._setCurrentOption()
- }, 200)
- }
- return !0
- },
- __ondragend: function() {
- this.isDragend = !0
- },
- ondragend: function(e, t) {
- this.isDragend && e.target && (!this.timelineOption.realtime && this._setCurrentOption(), t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this._syncHandleShape())
- },
- last: function() {
- return this.timelineOption.autoPlay && this.stop(), this.currentIndex -= 1, this.currentIndex < 0 && (this.currentIndex = this.timelineOption.data.length - 1), this._onFrame(), this.currentIndex
- },
- next: function() {
- return this.timelineOption.autoPlay && this.stop(), this.currentIndex += 1, this.currentIndex >= this.timelineOption.data.length && (this.currentIndex = 0), this._onFrame(), this.currentIndex
- },
- play: function(e, t) {
- return this._ctrPlayShape && "playing" != this._ctrPlayShape.style.status && (this._ctrPlayShape.style.status = "playing", this.zr.modShape(this._ctrPlayShape.id), this.zr.refreshNextFrame()), this.timelineOption.autoPlay = null != t ? t : !0, this.timelineOption.autoPlay || clearTimeout(this.playTicket), this.currentIndex = null != e ? e : this.currentIndex + 1, this.currentIndex >= this.timelineOption.data.length && (this.currentIndex = 0), this._onFrame(), this.currentIndex
- },
- stop: function() {
- return this._ctrPlayShape && "stop" != this._ctrPlayShape.style.status && (this._ctrPlayShape.style.status = "stop", this.zr.modShape(this._ctrPlayShape.id), this.zr.refreshNextFrame()), this.timelineOption.autoPlay = !1, clearTimeout(this.playTicket), this.currentIndex
- },
- resize: function() {
- this.timelineOption.show && (this.clear(), this._buildShape(), this._syncHandleShape())
- },
- setTheme: function(e) {
- this.timelineOption = this.reformOption(l.clone(this.option.timeline)), this.timelineOption.label.textStyle = this.getTextStyle(this.timelineOption.label.textStyle), this.timelineOption.checkpointStyle.label.textStyle = this.getTextStyle(this.timelineOption.checkpointStyle.label.textStyle), this.myChart.canvasSupported || (this.timelineOption.realtime = !1), this.timelineOption.show && e && (this.clear(), this._buildShape(), this._syncHandleShape())
- },
- onbeforDispose: function() {
- clearTimeout(this.playTicket)
- }
- }, o.prototype.iconLibrary.timelineControl = i, l.inherits(t, n), e("../component").define("timeline", t), t
- }), i("zrender/shape/Image", ["require", "./Base", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = function(e) {
- t.call(this, e)
- };
- return i.prototype = {
- type: "image",
- brush: function(e, t, i) {
- var n = this.style || {};
- t && (n = this.getHighlightStyle(n, this.highlightStyle || {}));
- var a = n.image,
- o = this;
- if(this._imageCache || (this._imageCache = {}), "string" == typeof a) {
- var r = a;
- this._imageCache[r] ? a = this._imageCache[r] : (a = new Image, a.onload = function() {
- a.onload = null, o.modSelf(), i()
- }, a.src = r, this._imageCache[r] = a)
- }
- if(a) {
- if("IMG" == a.nodeName.toUpperCase())
- if(window.ActiveXObject) {
- if("complete" != a.readyState) return
- } else if(!a.complete) return;
- var s = n.width || a.width,
- l = n.height || a.height,
- h = n.x,
- m = n.y;
- if(!a.width || !a.height) return;
- if(e.save(), this.doClip(e), this.setContext(e, n), this.setTransform(e), n.sWidth && n.sHeight) {
- var V = n.sx || 0,
- U = n.sy || 0;
- e.drawImage(a, V, U, n.sWidth, n.sHeight, h, m, s, l)
- } else if(n.sx && n.sy) {
- var V = n.sx,
- U = n.sy,
- d = s - V,
- p = l - U;
- e.drawImage(a, V, U, d, p, h, m, s, l)
- } else e.drawImage(a, h, m, s, l);
- n.width || (n.width = s), n.height || (n.height = l), this.style.width || (this.style.width = s), this.style.height || (this.style.height = l), this.drawText(e, n, this.style), e.restore()
- }
- },
- getRect: function(e) {
- return {
- x: e.x,
- y: e.y,
- width: e.width,
- height: e.height
- }
- },
- clearCache: function() {
- this._imageCache = {}
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("zrender/loadingEffect/Bar", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Rectangle"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("./Base"),
- n = e("../tool/util"),
- a = e("../tool/color"),
- o = e("../shape/Rectangle");
- return n.inherits(t, i), t.prototype._start = function(e, t) {
- var i = n.merge(this.options, {
- textStyle: {
- color: "#888"
- },
- backgroundColor: "rgba(250, 250, 250, 0.8)",
- effectOption: {
- x: 0,
- y: this.canvasHeight / 2 - 30,
- width: this.canvasWidth,
- height: 5,
- brushType: "fill",
- timeInterval: 100
- }
- }),
- r = this.createTextShape(i.textStyle),
- s = this.createBackgroundShape(i.backgroundColor),
- l = i.effectOption,
- h = new o({
- highlightStyle: n.clone(l)
- });
- return h.highlightStyle.color = l.color || a.getLinearGradient(l.x, l.y, l.x + l.width, l.y + l.height, [
- [0, "#ff6400"],
- [.5, "#ffe100"],
- [1, "#b1ff00"]
- ]), null != i.progress ? (e(s), h.highlightStyle.width = this.adjust(i.progress, [0, 1]) * i.effectOption.width, e(h), e(r), void t()) : (h.highlightStyle.width = 0, setInterval(function() {
- e(s), h.highlightStyle.width < l.width ? h.highlightStyle.width += 8 : h.highlightStyle.width = 0, e(h), e(r), t()
- }, l.timeInterval))
- }, t
- }), i("zrender/loadingEffect/Bubble", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Circle"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("./Base"),
- n = e("../tool/util"),
- a = e("../tool/color"),
- o = e("../shape/Circle");
- return n.inherits(t, i), t.prototype._start = function(e, t) {
- for(var i = n.merge(this.options, {
- textStyle: {
- color: "#888"
- },
- backgroundColor: "rgba(250, 250, 250, 0.8)",
- effect: {
- n: 50,
- lineWidth: 2,
- brushType: "stroke",
- color: "random",
- timeInterval: 100
- }
- }), r = this.createTextShape(i.textStyle), s = this.createBackgroundShape(i.backgroundColor), l = i.effect, h = l.n, m = l.brushType, V = l.lineWidth, U = [], d = this.canvasWidth, p = this.canvasHeight, c = 0; h > c; c++) {
- var u = "random" == l.color ? a.alpha(a.random(), .3) : l.color;
- U[c] = new o({
- highlightStyle: {
- x: Math.ceil(Math.random() * d),
- y: Math.ceil(Math.random() * p),
- r: Math.ceil(40 * Math.random()),
- brushType: m,
- color: u,
- strokeColor: u,
- lineWidth: V
- },
- animationY: Math.ceil(20 * Math.random())
- })
- }
- return setInterval(function() {
- e(s);
- for(var i = 0; h > i; i++) {
- var n = U[i].highlightStyle;
- n.y - U[i].animationY + n.r <= 0 && (U[i].highlightStyle.y = p + n.r, U[i].highlightStyle.x = Math.ceil(Math.random() * d)), U[i].highlightStyle.y -= U[i].animationY, e(U[i])
- }
- e(r), t()
- }, l.timeInterval)
- }, t
- }), i("zrender/loadingEffect/DynamicLine", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Line"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("./Base"),
- n = e("../tool/util"),
- a = e("../tool/color"),
- o = e("../shape/Line");
- return n.inherits(t, i), t.prototype._start = function(e, t) {
- for(var i = n.merge(this.options, {
- textStyle: {
- color: "#fff"
- },
- backgroundColor: "rgba(0, 0, 0, 0.8)",
- effectOption: {
- n: 30,
- lineWidth: 1,
- color: "random",
- timeInterval: 100
- }
- }), r = this.createTextShape(i.textStyle), s = this.createBackgroundShape(i.backgroundColor), l = i.effectOption, h = l.n, m = l.lineWidth, V = [], U = this.canvasWidth, d = this.canvasHeight, p = 0; h > p; p++) {
- var c = -Math.ceil(1e3 * Math.random()),
- u = Math.ceil(400 * Math.random()),
- y = Math.ceil(Math.random() * d),
- g = "random" == l.color ? a.random() : l.color;
- V[p] = new o({
- highlightStyle: {
- xStart: c,
- yStart: y,
- xEnd: c + u,
- yEnd: y,
- strokeColor: g,
- lineWidth: m
- },
- animationX: Math.ceil(100 * Math.random()),
- len: u
- })
- }
- return setInterval(function() {
- e(s);
- for(var i = 0; h > i; i++) {
- var n = V[i].highlightStyle;
- n.xStart >= U && (V[i].len = Math.ceil(400 * Math.random()), n.xStart = -400, n.xEnd = -400 + V[i].len, n.yStart = Math.ceil(Math.random() * d), n.yEnd = n.yStart), n.xStart += V[i].animationX, n.xEnd += V[i].animationX, e(V[i])
- }
- e(r), t()
- }, l.timeInterval)
- }, t
- }), i("zrender/loadingEffect/Ring", ["require", "./Base", "../tool/util", "../tool/color", "../shape/Ring", "../shape/Sector"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("./Base"),
- n = e("../tool/util"),
- a = e("../tool/color"),
- o = e("../shape/Ring"),
- r = e("../shape/Sector");
- return n.inherits(t, i), t.prototype._start = function(e, t) {
- var i = n.merge(this.options, {
- textStyle: {
- color: "#07a"
- },
- backgroundColor: "rgba(250, 250, 250, 0.8)",
- effect: {
- x: this.canvasWidth / 2,
- y: this.canvasHeight / 2,
- r0: 60,
- r: 100,
- color: "#bbdcff",
- brushType: "fill",
- textPosition: "inside",
- textFont: "normal 30px verdana",
- textColor: "rgba(30, 144, 255, 0.6)",
- timeInterval: 100
- }
- }),
- s = i.effect,
- l = i.textStyle;
- null == l.x && (l.x = s.x), null == l.y && (l.y = s.y + (s.r0 + s.r) / 2 - 5);
- for(var h = this.createTextShape(i.textStyle), m = this.createBackgroundShape(i.backgroundColor), V = s.x, U = s.y, d = s.r0 + 6, p = s.r - 6, c = s.color, u = a.lift(c, .1), y = new o({
- highlightStyle: n.clone(s)
- }), g = [], b = a.getGradientColors(["#ff6400", "#ffe100", "#97ff00"], 25), f = 15, k = 240, x = 0; 16 > x; x++) g.push(new r({
- highlightStyle: {
- x: V,
- y: U,
- r0: d,
- r: p,
- startAngle: k - f,
- endAngle: k,
- brushType: "fill",
- color: u
- },
- _color: a.getLinearGradient(V + d * Math.cos(k, !0), U - d * Math.sin(k, !0), V + d * Math.cos(k - f, !0), U - d * Math.sin(k - f, !0), [
- [0, b[2 * x]],
- [1, b[2 * x + 1]]
- ])
- })), k -= f;
- k = 360;
- for(var x = 0; 4 > x; x++) g.push(new r({
- highlightStyle: {
- x: V,
- y: U,
- r0: d,
- r: p,
- startAngle: k - f,
- endAngle: k,
- brushType: "fill",
- color: u
- },
- _color: a.getLinearGradient(V + d * Math.cos(k, !0), U - d * Math.sin(k, !0), V + d * Math.cos(k - f, !0), U - d * Math.sin(k - f, !0), [
- [0, b[2 * x + 32]],
- [1, b[2 * x + 33]]
- ])
- })), k -= f;
- var _ = 0;
- if(null != i.progress) {
- e(m), _ = 100 * this.adjust(i.progress, [0, 1]).toFixed(2) / 5, y.highlightStyle.text = 5 * _ + "%", e(y);
- for(var x = 0; 20 > x; x++) g[x].highlightStyle.color = _ > x ? g[x]._color : u, e(g[x]);
- return e(h), void t()
- }
- return setInterval(function() {
- e(m), _ += _ >= 20 ? -20 : 1, e(y);
- for(var i = 0; 20 > i; i++) g[i].highlightStyle.color = _ > i ? g[i]._color : u, e(g[i]);
- e(h), t()
- }, s.timeInterval)
- }, t
- }), i("zrender/loadingEffect/Spin", ["require", "./Base", "../tool/util", "../tool/color", "../tool/area", "../shape/Sector"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("./Base"),
- n = e("../tool/util"),
- a = e("../tool/color"),
- o = e("../tool/area"),
- r = e("../shape/Sector");
- return n.inherits(t, i), t.prototype._start = function(e, t) {
- var i = n.merge(this.options, {
- textStyle: {
- color: "#fff",
- textAlign: "start"
- },
- backgroundColor: "rgba(0, 0, 0, 0.8)"
- }),
- s = this.createTextShape(i.textStyle),
- l = 10,
- h = o.getTextWidth(s.highlightStyle.text, s.highlightStyle.textFont),
- m = o.getTextHeight(s.highlightStyle.text, s.highlightStyle.textFont),
- V = n.merge(this.options.effect || {}, {
- r0: 9,
- r: 15,
- n: 18,
- color: "#fff",
- timeInterval: 100
- }),
- U = this.getLocation(this.options.textStyle, h + l + 2 * V.r, Math.max(2 * V.r, m));
- V.x = U.x + V.r, V.y = s.highlightStyle.y = U.y + U.height / 2, s.highlightStyle.x = V.x + V.r + l;
- for(var d = this.createBackgroundShape(i.backgroundColor), p = V.n, c = V.x, u = V.y, y = V.r0, g = V.r, b = V.color, f = [], k = Math.round(180 / p), x = 0; p > x; x++) f[x] = new r({
- highlightStyle: {
- x: c,
- y: u,
- r0: y,
- r: g,
- startAngle: k * x * 2,
- endAngle: k * x * 2 + k,
- color: a.alpha(b, (x + 1) / p),
- brushType: "fill"
- }
- });
- var _ = [0, c, u];
- return setInterval(function() {
- e(d), _[0] -= .3;
- for(var i = 0; p > i; i++) f[i].rotation = _, e(f[i]);
- e(s), t()
- }, V.timeInterval)
- }, t
- }), i("zrender/loadingEffect/Whirling", ["require", "./Base", "../tool/util", "../tool/area", "../shape/Ring", "../shape/Droplet", "../shape/Circle"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("./Base"),
- n = e("../tool/util"),
- a = e("../tool/area"),
- o = e("../shape/Ring"),
- r = e("../shape/Droplet"),
- s = e("../shape/Circle");
- return n.inherits(t, i), t.prototype._start = function(e, t) {
- var i = n.merge(this.options, {
- textStyle: {
- color: "#888",
- textAlign: "start"
- },
- backgroundColor: "rgba(250, 250, 250, 0.8)"
- }),
- l = this.createTextShape(i.textStyle),
- h = 10,
- m = a.getTextWidth(l.highlightStyle.text, l.highlightStyle.textFont),
- V = a.getTextHeight(l.highlightStyle.text, l.highlightStyle.textFont),
- U = n.merge(this.options.effect || {}, {
- r: 18,
- colorIn: "#fff",
- colorOut: "#555",
- colorWhirl: "#6cf",
- timeInterval: 50
- }),
- d = this.getLocation(this.options.textStyle, m + h + 2 * U.r, Math.max(2 * U.r, V));
- U.x = d.x + U.r, U.y = l.highlightStyle.y = d.y + d.height / 2, l.highlightStyle.x = U.x + U.r + h;
- var p = this.createBackgroundShape(i.backgroundColor),
- c = new r({
- highlightStyle: {
- a: Math.round(U.r / 2),
- b: Math.round(U.r - U.r / 6),
- brushType: "fill",
- color: U.colorWhirl
- }
- }),
- u = new s({
- highlightStyle: {
- r: Math.round(U.r / 6),
- brushType: "fill",
- color: U.colorIn
- }
- }),
- y = new o({
- highlightStyle: {
- r0: Math.round(U.r - U.r / 3),
- r: U.r,
- brushType: "fill",
- color: U.colorOut
- }
- }),
- g = [0, U.x, U.y];
- return c.highlightStyle.x = u.highlightStyle.x = y.highlightStyle.x = g[1], c.highlightStyle.y = u.highlightStyle.y = y.highlightStyle.y = g[2], setInterval(function() {
- e(p), e(y), g[0] -= .3, c.rotation = g, e(c), e(u), e(l), t()
- }, U.timeInterval)
- }, t
- }), i("echarts/theme/macarons", [], function() {
- var e = {
- color: ["#2ec7c9", "#b6a2de", "#5ab1ef", "#ffb980", "#d87a80", "#8d98b3", "#e5cf0d", "#97b552", "#95706d", "#dc69aa", "#07a2a4", "#9a7fd1", "#588dd5", "#f5994e", "#c05050", "#59678c", "#c9ab00", "#7eb00a", "#6f5553", "#c14089"],
- title: {
- textStyle: {
- fontWeight: "normal",
- color: "#008acd"
- }
- },
- dataRange: {
- itemWidth: 15,
- color: ["#5ab1ef", "#e0ffff"]
- },
- toolbox: {
- color: ["#1e90ff", "#1e90ff", "#1e90ff", "#1e90ff"],
- effectiveColor: "#ff4500"
- },
- tooltip: {
- backgroundColor: "rgba(50,50,50,0.5)",
- axisPointer: {
- type: "line",
- lineStyle: {
- color: "#008acd"
- },
- crossStyle: {
- color: "#008acd"
- },
- shadowStyle: {
- color: "rgba(200,200,200,0.2)"
- }
- }
- },
- dataZoom: {
- dataBackgroundColor: "#efefff",
- fillerColor: "rgba(182,162,222,0.2)",
- handleColor: "#008acd"
- },
- grid: {
- borderColor: "#eee"
- },
- categoryAxis: {
- axisLine: {
- lineStyle: {
- color: "#008acd"
- }
- },
- splitLine: {
- lineStyle: {
- color: ["#eee"]
- }
- }
- },
- valueAxis: {
- axisLine: {
- lineStyle: {
- color: "#008acd"
- }
- },
- splitArea: {
- show: !0,
- areaStyle: {
- color: ["rgba(250,250,250,0.1)", "rgba(200,200,200,0.1)"]
- }
- },
- splitLine: {
- lineStyle: {
- color: ["#eee"]
- }
- }
- },
- polar: {
- axisLine: {
- lineStyle: {
- color: "#ddd"
- }
- },
- splitArea: {
- show: !0,
- areaStyle: {
- color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]
- }
- },
- splitLine: {
- lineStyle: {
- color: "#ddd"
- }
- }
- },
- timeline: {
- lineStyle: {
- color: "#008acd"
- },
- controlStyle: {
- normal: {
- color: "#008acd"
- },
- emphasis: {
- color: "#008acd"
- }
- },
- symbol: "emptyCircle",
- symbolSize: 3
- },
- bar: {
- itemStyle: {
- normal: {
- barBorderRadius: 5
- },
- emphasis: {
- barBorderRadius: 5
- }
- }
- },
- line: {
- smooth: !0,
- symbol: "emptyCircle",
- symbolSize: 3
- },
- k: {
- itemStyle: {
- normal: {
- color: "#d87a80",
- color0: "#2ec7c9",
- lineStyle: {
- color: "#d87a80",
- color0: "#2ec7c9"
- }
- }
- }
- },
- scatter: {
- symbol: "circle",
- symbolSize: 4
- },
- radar: {
- symbol: "emptyCircle",
- symbolSize: 3
- },
- map: {
- itemStyle: {
- normal: {
- areaStyle: {
- color: "#ddd"
- },
- label: {
- textStyle: {
- color: "#d87a80"
- }
- }
- },
- emphasis: {
- areaStyle: {
- color: "#fe994e"
- }
- }
- }
- },
- force: {
- itemStyle: {
- normal: {
- linkStyle: {
- color: "#1e90ff"
- }
- }
- }
- },
- chord: {
- itemStyle: {
- normal: {
- borderWidth: 1,
- borderColor: "rgba(128, 128, 128, 0.5)",
- chordStyle: {
- lineStyle: {
- color: "rgba(128, 128, 128, 0.5)"
- }
- }
- },
- emphasis: {
- borderWidth: 1,
- borderColor: "rgba(128, 128, 128, 0.5)",
- chordStyle: {
- lineStyle: {
- color: "rgba(128, 128, 128, 0.5)"
- }
- }
- }
- }
- },
- gauge: {
- axisLine: {
- lineStyle: {
- color: [
- [.2, "#2ec7c9"],
- [.8, "#5ab1ef"],
- [1, "#d87a80"]
- ],
- width: 10
- }
- },
- axisTick: {
- splitNumber: 10,
- length: 15,
- lineStyle: {
- color: "auto"
- }
- },
- splitLine: {
- length: 22,
- lineStyle: {
- color: "auto"
- }
- },
- pointer: {
- width: 5
- }
- },
- textStyle: {
- fontFamily: "微软雅黑, Arial, Verdana, sans-serif"
- }
- };
- return e
- }), i("echarts/theme/infographic", [], function() {
- var e = {
- color: ["#C1232B", "#B5C334", "#FCCE10", "#E87C25", "#27727B", "#FE8463", "#9BCA63", "#FAD860", "#F3A43B", "#60C0DD", "#D7504B", "#C6E579", "#F4E001", "#F0805A", "#26C0C0"],
- title: {
- textStyle: {
- fontWeight: "normal",
- color: "#27727B"
- }
- },
- dataRange: {
- x: "right",
- y: "center",
- itemWidth: 5,
- itemHeight: 25,
- color: ["#C1232B", "#FCCE10"]
- },
- toolbox: {
- color: ["#C1232B", "#B5C334", "#FCCE10", "#E87C25", "#27727B", "#FE8463", "#9BCA63", "#FAD860", "#F3A43B", "#60C0DD"],
- effectiveColor: "#ff4500"
- },
- tooltip: {
- backgroundColor: "rgba(50,50,50,0.5)",
- axisPointer: {
- type: "line",
- lineStyle: {
- color: "#27727B",
- type: "dashed"
- },
- crossStyle: {
- color: "#27727B"
- },
- shadowStyle: {
- color: "rgba(200,200,200,0.3)"
- }
- }
- },
- dataZoom: {
- dataBackgroundColor: "rgba(181,195,52,0.3)",
- fillerColor: "rgba(181,195,52,0.2)",
- handleColor: "#27727B"
- },
- grid: {
- borderWidth: 0
- },
- categoryAxis: {
- axisLine: {
- lineStyle: {
- color: "#27727B"
- }
- },
- splitLine: {
- show: !1
- }
- },
- valueAxis: {
- axisLine: {
- show: !1
- },
- splitArea: {
- show: !1
- },
- splitLine: {
- lineStyle: {
- color: ["#ccc"],
- type: "dashed"
- }
- }
- },
- polar: {
- axisLine: {
- lineStyle: {
- color: "#ddd"
- }
- },
- splitArea: {
- show: !0,
- areaStyle: {
- color: ["rgba(250,250,250,0.2)", "rgba(200,200,200,0.2)"]
- }
- },
- splitLine: {
- lineStyle: {
- color: "#ddd"
- }
- }
- },
- timeline: {
- lineStyle: {
- color: "#27727B"
- },
- controlStyle: {
- normal: {
- color: "#27727B"
- },
- emphasis: {
- color: "#27727B"
- }
- },
- symbol: "emptyCircle",
- symbolSize: 3
- },
- line: {
- itemStyle: {
- normal: {
- borderWidth: 2,
- borderColor: "#fff",
- lineStyle: {
- width: 3
- }
- },
- emphasis: {
- borderWidth: 0
- }
- },
- symbol: "circle",
- symbolSize: 3.5
- },
- k: {
- itemStyle: {
- normal: {
- color: "#C1232B",
- color0: "#B5C334",
- lineStyle: {
- width: 1,
- color: "#C1232B",
- color0: "#B5C334"
- }
- }
- }
- },
- scatter: {
- itemStyle: {
- normal: {
- borderWidth: 1,
- borderColor: "rgba(200,200,200,0.5)"
- },
- emphasis: {
- borderWidth: 0
- }
- },
- symbol: "star4",
- symbolSize: 4
- },
- radar: {
- symbol: "emptyCircle",
- symbolSize: 3
- },
- map: {
- itemStyle: {
- normal: {
- areaStyle: {
- color: "#ddd"
- },
- label: {
- textStyle: {
- color: "#C1232B"
- }
- }
- },
- emphasis: {
- areaStyle: {
- color: "#fe994e"
- },
- label: {
- textStyle: {
- color: "rgb(100,0,0)"
- }
- }
- }
- }
- },
- force: {
- itemStyle: {
- normal: {
- linkStyle: {
- color: "#27727B"
- }
- }
- }
- },
- chord: {
- itemStyle: {
- normal: {
- borderWidth: 1,
- borderColor: "rgba(128, 128, 128, 0.5)",
- chordStyle: {
- lineStyle: {
- color: "rgba(128, 128, 128, 0.5)"
- }
- }
- },
- emphasis: {
- borderWidth: 1,
- borderColor: "rgba(128, 128, 128, 0.5)",
- chordStyle: {
- lineStyle: {
- color: "rgba(128, 128, 128, 0.5)"
- }
- }
- }
- }
- },
- gauge: {
- center: ["50%", "80%"],
- radius: "100%",
- startAngle: 180,
- endAngle: 0,
- axisLine: {
- show: !0,
- lineStyle: {
- color: [
- [.2, "#B5C334"],
- [.8, "#27727B"],
- [1, "#C1232B"]
- ],
- width: "40%"
- }
- },
- axisTick: {
- splitNumber: 2,
- length: 5,
- lineStyle: {
- color: "#fff"
- }
- },
- axisLabel: {
- textStyle: {
- color: "#fff",
- fontWeight: "bolder"
- }
- },
- splitLine: {
- length: "5%",
- lineStyle: {
- color: "#fff"
- }
- },
- pointer: {
- width: "40%",
- length: "80%",
- color: "#fff"
- },
- title: {
- offsetCenter: [0, -20],
- textStyle: {
- color: "auto",
- fontSize: 20
- }
- },
- detail: {
- offsetCenter: [0, 0],
- textStyle: {
- color: "auto",
- fontSize: 40
- }
- }
- },
- textStyle: {
- fontFamily: "微软雅黑, Arial, Verdana, sans-serif"
- }
- };
- return e
- }), i("zrender/dep/excanvas", ["require"], function() {
- return document.createElement("canvas").getContext ? G_vmlCanvasManager = !1 : ! function() {
- function e() {
- return this.context_ || (this.context_ = new f(this))
- }
- function t(e, t) {
- var i = O.call(arguments, 2);
- return function() {
- return e.apply(t, i.concat(O.call(arguments)))
- }
- }
- function i(e) {
- return String(e).replace(/&/g, "&").replace(/"/g, """)
- }
- function n(e, t, i) {
- e.namespaces[t] || e.namespaces.add(t, i, "#default#VML")
- }
- function a(e) {
- if(n(e, "g_vml_", "urn:schemas-microsoft-com:vml"), n(e, "g_o_", "urn:schemas-microsoft-com:office:office"), !e.styleSheets.ex_canvas_) {
- var t = e.createStyleSheet();
- t.owningElement.id = "ex_canvas_", t.cssText = "canvas{display:inline-block;overflow:hidden;text-align:left;width:300px;height:150px}"
- }
- }
- function o(e) {
- var t = e.srcElement;
- switch(e.propertyName) {
- case "width":
- t.getContext().clearRect(), t.style.width = t.attributes.width.nodeValue + "px", t.firstChild.style.width = t.clientWidth + "px";
- break;
- case "height":
- t.getContext().clearRect(), t.style.height = t.attributes.height.nodeValue + "px", t.firstChild.style.height = t.clientHeight + "px"
- }
- }
- function r(e) {
- var t = e.srcElement;
- t.firstChild && (t.firstChild.style.width = t.clientWidth + "px", t.firstChild.style.height = t.clientHeight + "px")
- }
- function s() {
- return [
- [1, 0, 0],
- [0, 1, 0],
- [0, 0, 1]
- ]
- }
- function l(e, t) {
- for(var i = s(), n = 0; 3 > n; n++)
- for(var a = 0; 3 > a; a++) {
- for(var o = 0, r = 0; 3 > r; r++) o += e[n][r] * t[r][a];
- i[n][a] = o
- }
- return i
- }
- function h(e, t) {
- t.fillStyle = e.fillStyle, t.lineCap = e.lineCap, t.lineJoin = e.lineJoin, t.lineWidth = e.lineWidth, t.miterLimit = e.miterLimit, t.shadowBlur = e.shadowBlur, t.shadowColor = e.shadowColor, t.shadowOffsetX = e.shadowOffsetX, t.shadowOffsetY = e.shadowOffsetY, t.strokeStyle = e.strokeStyle, t.globalAlpha = e.globalAlpha, t.font = e.font, t.textAlign = e.textAlign, t.textBaseline = e.textBaseline, t.scaleX_ = e.scaleX_, t.scaleY_ = e.scaleY_, t.lineScale_ = e.lineScale_
- }
- function m(e) {
- var t = e.indexOf("(", 3),
- i = e.indexOf(")", t + 1),
- n = e.substring(t + 1, i).split(",");
- return(4 != n.length || "a" != e.charAt(3)) && (n[3] = 1), n
- }
- function V(e) {
- return parseFloat(e) / 100
- }
- function U(e, t, i) {
- return Math.min(i, Math.max(t, e))
- }
- function d(e) {
- var t, i, n, a, o, r;
- if(a = parseFloat(e[0]) / 360 % 360, 0 > a && a++, o = U(V(e[1]), 0, 1), r = U(V(e[2]), 0, 1), 0 == o) t = i = n = r;
- else {
- var s = .5 > r ? r * (1 + o) : r + o - r * o,
- l = 2 * r - s;
- t = p(l, s, a + 1 / 3), i = p(l, s, a), n = p(l, s, a - 1 / 3)
- }
- return "#" + D[Math.floor(255 * t)] + D[Math.floor(255 * i)] + D[Math.floor(255 * n)]
- }
- function p(e, t, i) {
- return 0 > i && i++, i > 1 && i--, 1 > 6 * i ? e + 6 * (t - e) * i : 1 > 2 * i ? t : 2 > 3 * i ? e + (t - e) * (2 / 3 - i) * 6 : e
- }
- function c(e) {
- if(e in R) return R[e];
- var t, i = 1;
- if(e = String(e), "#" == e.charAt(0)) t = e;
- else if(/^rgb/.test(e)) {
- for(var n, a = m(e), t = "#", o = 0; 3 > o; o++) n = -1 != a[o].indexOf("%") ? Math.floor(255 * V(a[o])) : +a[o], t += D[U(n, 0, 255)];
- i = +a[3]
- } else if(/^hsl/.test(e)) {
- var a = m(e);
- t = d(a), i = a[3]
- } else t = H[e] || e;
- return R[e] = {
- color: t,
- alpha: i
- }
- }
- function u(e) {
- if(Y[e]) return Y[e];
- var t, i = document.createElement("div"),
- n = i.style;
- try {
- n.font = e, t = n.fontFamily.split(",")[0]
- } catch(a) {}
- return Y[e] = {
- style: n.fontStyle || G.style,
- variant: n.fontVariant || G.variant,
- weight: n.fontWeight || G.weight,
- size: n.fontSize || G.size,
- family: t || G.family
- }
- }
- function y(e, t) {
- var i = {};
- for(var n in e) i[n] = e[n];
- var a = parseFloat(t.currentStyle.fontSize),
- o = parseFloat(e.size);
- return i.size = "number" == typeof e.size ? e.size : -1 != e.size.indexOf("px") ? o : -1 != e.size.indexOf("em") ? a * o : -1 != e.size.indexOf("%") ? a / 100 * o : -1 != e.size.indexOf("pt") ? o / .75 : a, i
- }
- function g(e) {
- return e.style + " " + e.variant + " " + e.weight + " " + e.size + "px '" + e.family + "'"
- }
- function b(e) {
- return Q[e] || "square"
- }
- function f(e) {
- this.m_ = s(), this.mStack_ = [], this.aStack_ = [], this.currentPath_ = [], this.strokeStyle = "#000", this.fillStyle = "#000", this.lineWidth = 1, this.lineJoin = "miter", this.lineCap = "butt", this.miterLimit = 1 * A, this.globalAlpha = 1, this.font = "12px 微软雅黑", this.textAlign = "left", this.textBaseline = "alphabetic", this.canvas = e;
- var t = "width:" + e.clientWidth + "px;height:" + e.clientHeight + "px;overflow:hidden;position:absolute",
- i = e.ownerDocument.createElement("div");
- i.style.cssText = t, e.appendChild(i);
- var n = i.cloneNode(!1);
- n.style.backgroundColor = "#fff", n.style.filter = "alpha(opacity=0)", e.appendChild(n), this.element_ = i, this.scaleX_ = 1, this.scaleY_ = 1, this.lineScale_ = 1
- }
- function k(e, t, i, n) {
- e.currentPath_.push({
- type: "bezierCurveTo",
- cp1x: t.x,
- cp1y: t.y,
- cp2x: i.x,
- cp2y: i.y,
- x: n.x,
- y: n.y
- }), e.currentX_ = n.x, e.currentY_ = n.y
- }
- function x(e, t) {
- var i = c(e.strokeStyle),
- n = i.color,
- a = i.alpha * e.globalAlpha,
- o = e.lineScale_ * e.lineWidth;
- 1 > o && (a *= o), t.push("<g_vml_:stroke", ' opacity="', a, '"', ' joinstyle="', e.lineJoin, '"', ' miterlimit="', e.miterLimit, '"', ' endcap="', b(e.lineCap), '"', ' weight="', o, 'px"', ' color="', n, '" />')
- }
- function _(e, t, i, n) {
- var a = e.fillStyle,
- o = e.scaleX_,
- r = e.scaleY_,
- s = n.x - i.x,
- l = n.y - i.y;
- if(a instanceof v) {
- var h = 0,
- m = {
- x: 0,
- y: 0
- },
- V = 0,
- U = 1;
- if("gradient" == a.type_) {
- var d = a.x0_ / o,
- p = a.y0_ / r,
- u = a.x1_ / o,
- y = a.y1_ / r,
- g = L(e, d, p),
- b = L(e, u, y),
- f = b.x - g.x,
- k = b.y - g.y;
- h = 180 * Math.atan2(f, k) / Math.PI, 0 > h && (h += 360), 1e-6 > h && (h = 0)
- } else {
- var g = L(e, a.x0_, a.y0_);
- m = {
- x: (g.x - i.x) / s,
- y: (g.y - i.y) / l
- }, s /= o * A, l /= r * A;
- var x = C.max(s, l);
- V = 2 * a.r0_ / x, U = 2 * a.r1_ / x - V
- }
- var _ = a.colors_;
- _.sort(function(e, t) {
- return e.offset - t.offset
- });
- for(var W = _.length, X = _[0].color, K = _[W - 1].color, I = _[0].alpha * e.globalAlpha, J = _[W - 1].alpha * e.globalAlpha, S = [], E = 0; W > E; E++) {
- var F = _[E];
- S.push(F.offset * U + V + " " + F.color)
- }
- t.push('<g_vml_:fill type="', a.type_, '"', ' method="none" focus="100%"', ' color="', X, '"', ' color2="', K, '"', ' colors="', S.join(","), '"', ' opacity="', J, '"', ' g_o_:opacity2="', I, '"', ' angle="', h, '"', ' focusposition="', m.x, ",", m.y, '" />')
- } else if(a instanceof w) {
- if(s && l) {
- var T = -i.x,
- z = -i.y;
- t.push("<g_vml_:fill", ' position="', T / s * o * o, ",", z / l * r * r, '"', ' type="tile"', ' src="', a.src_, '" />')
- }
- } else {
- var M = c(e.fillStyle),
- O = M.color,
- P = M.alpha * e.globalAlpha;
- t.push('<g_vml_:fill color="', O, '" opacity="', P, '" />')
- }
- }
- function L(e, t, i) {
- var n = e.m_;
- return {
- x: A * (t * n[0][0] + i * n[1][0] + n[2][0]) - M,
- y: A * (t * n[0][1] + i * n[1][1] + n[2][1]) - M
- }
- }
- function W(e) {
- return isFinite(e[0][0]) && isFinite(e[0][1]) && isFinite(e[1][0]) && isFinite(e[1][1]) && isFinite(e[2][0]) && isFinite(e[2][1])
- }
- function X(e, t, i) {
- if(W(t) && (e.m_ = t, e.scaleX_ = Math.sqrt(t[0][0] * t[0][0] + t[0][1] * t[0][1]), e.scaleY_ = Math.sqrt(t[1][0] * t[1][0] + t[1][1] * t[1][1]), i)) {
- var n = t[0][0] * t[1][1] - t[0][1] * t[1][0];
- e.lineScale_ = z(T(n))
- }
- }
- function v(e) {
- this.type_ = e, this.x0_ = 0, this.y0_ = 0, this.r0_ = 0, this.x1_ = 0, this.y1_ = 0, this.r1_ = 0, this.colors_ = []
- }
- function w(e, t) {
- switch(I(e), t) {
- case "repeat":
- case null:
- case "":
- this.repetition_ = "repeat";
- break;
- case "repeat-x":
- case "repeat-y":
- case "no-repeat":
- this.repetition_ = t;
- break;
- default:
- K("SYNTAX_ERR")
- }
- this.src_ = e.src, this.width_ = e.width, this.height_ = e.height
- }
- function K(e) {
- throw new J(e)
- }
- function I(e) {
- e && 1 == e.nodeType && "IMG" == e.tagName || K("TYPE_MISMATCH_ERR"), "complete" != e.readyState && K("INVALID_STATE_ERR")
- }
- function J(e) {
- this.code = this[e], this.message = e + ": DOM Exception " + this.code
- }
- var C = Math,
- S = C.round,
- E = C.sin,
- F = C.cos,
- T = C.abs,
- z = C.sqrt,
- A = 10,
- M = A / 2,
- O = (+navigator.userAgent.match(/MSIE ([\d.]+)?/)[1], Array.prototype.slice);
- a(document);
- var P = {
- init: function(e) {
- var i = e || document;
- i.createElement("canvas"), i.attachEvent("onreadystatechange", t(this.init_, this, i))
- },
- init_: function(e) {
- for(var t = e.getElementsByTagName("canvas"), i = 0; i < t.length; i++) this.initElement(t[i])
- },
- initElement: function(t) {
- if(!t.getContext) {
- t.getContext = e, a(t.ownerDocument), t.innerHTML = "", t.attachEvent("onpropertychange", o), t.attachEvent("onresize", r);
- var i = t.attributes;
- i.width && i.width.specified ? t.style.width = i.width.nodeValue + "px" : t.width = t.clientWidth, i.height && i.height.specified ? t.style.height = i.height.nodeValue + "px" : t.height = t.clientHeight
- }
- return t
- }
- };
- P.init();
- for(var D = [], N = 0; 16 > N; N++)
- for(var B = 0; 16 > B; B++) D[16 * N + B] = N.toString(16) + B.toString(16);
- var H = {
- aliceblue: "#F0F8FF",
- antiquewhite: "#FAEBD7",
- aquamarine: "#7FFFD4",
- azure: "#F0FFFF",
- beige: "#F5F5DC",
- bisque: "#FFE4C4",
- black: "#000000",
- blanchedalmond: "#FFEBCD",
- blueviolet: "#8A2BE2",
- brown: "#A52A2A",
- burlywood: "#DEB887",
- cadetblue: "#5F9EA0",
- chartreuse: "#7FFF00",
- chocolate: "#D2691E",
- coral: "#FF7F50",
- cornflowerblue: "#6495ED",
- cornsilk: "#FFF8DC",
- crimson: "#DC143C",
- cyan: "#00FFFF",
- darkblue: "#00008B",
- darkcyan: "#008B8B",
- darkgoldenrod: "#B8860B",
- darkgray: "#A9A9A9",
- darkgreen: "#006400",
- darkgrey: "#A9A9A9",
- darkkhaki: "#BDB76B",
- darkmagenta: "#8B008B",
- darkolivegreen: "#556B2F",
- darkorange: "#FF8C00",
- darkorchid: "#9932CC",
- darkred: "#8B0000",
- darksalmon: "#E9967A",
- darkseagreen: "#8FBC8F",
- darkslateblue: "#483D8B",
- darkslategray: "#2F4F4F",
- darkslategrey: "#2F4F4F",
- darkturquoise: "#00CED1",
- darkviolet: "#9400D3",
- deeppink: "#FF1493",
- deepskyblue: "#00BFFF",
- dimgray: "#696969",
- dimgrey: "#696969",
- dodgerblue: "#1E90FF",
- firebrick: "#B22222",
- floralwhite: "#FFFAF0",
- forestgreen: "#228B22",
- gainsboro: "#DCDCDC",
- ghostwhite: "#F8F8FF",
- gold: "#FFD700",
- goldenrod: "#DAA520",
- grey: "#808080",
- greenyellow: "#ADFF2F",
- honeydew: "#F0FFF0",
- hotpink: "#FF69B4",
- indianred: "#CD5C5C",
- indigo: "#4B0082",
- ivory: "#FFFFF0",
- khaki: "#F0E68C",
- lavender: "#E6E6FA",
- lavenderblush: "#FFF0F5",
- lawngreen: "#7CFC00",
- lemonchiffon: "#FFFACD",
- lightblue: "#ADD8E6",
- lightcoral: "#F08080",
- lightcyan: "#E0FFFF",
- lightgoldenrodyellow: "#FAFAD2",
- lightgreen: "#90EE90",
- lightgrey: "#D3D3D3",
- lightpink: "#FFB6C1",
- lightsalmon: "#FFA07A",
- lightseagreen: "#20B2AA",
- lightskyblue: "#87CEFA",
- lightslategray: "#778899",
- lightslategrey: "#778899",
- lightsteelblue: "#B0C4DE",
- lightyellow: "#FFFFE0",
- limegreen: "#32CD32",
- linen: "#FAF0E6",
- magenta: "#FF00FF",
- mediumaquamarine: "#66CDAA",
- mediumblue: "#0000CD",
- mediumorchid: "#BA55D3",
- mediumpurple: "#9370DB",
- mediumseagreen: "#3CB371",
- mediumslateblue: "#7B68EE",
- mediumspringgreen: "#00FA9A",
- mediumturquoise: "#48D1CC",
- mediumvioletred: "#C71585",
- midnightblue: "#191970",
- mintcream: "#F5FFFA",
- mistyrose: "#FFE4E1",
- moccasin: "#FFE4B5",
- navajowhite: "#FFDEAD",
- oldlace: "#FDF5E6",
- olivedrab: "#6B8E23",
- orange: "#FFA500",
- orangered: "#FF4500",
- orchid: "#DA70D6",
- palegoldenrod: "#EEE8AA",
- palegreen: "#98FB98",
- paleturquoise: "#AFEEEE",
- palevioletred: "#DB7093",
- papayawhip: "#FFEFD5",
- peachpuff: "#FFDAB9",
- peru: "#CD853F",
- pink: "#FFC0CB",
- plum: "#DDA0DD",
- powderblue: "#B0E0E6",
- rosybrown: "#BC8F8F",
- royalblue: "#4169E1",
- saddlebrown: "#8B4513",
- salmon: "#FA8072",
- sandybrown: "#F4A460",
- seagreen: "#2E8B57",
- seashell: "#FFF5EE",
- sienna: "#A0522D",
- skyblue: "#87CEEB",
- slateblue: "#6A5ACD",
- slategray: "#708090",
- slategrey: "#708090",
- snow: "#FFFAFA",
- springgreen: "#00FF7F",
- steelblue: "#4682B4",
- tan: "#D2B48C",
- thistle: "#D8BFD8",
- tomato: "#FF6347",
- turquoise: "#40E0D0",
- violet: "#EE82EE",
- wheat: "#F5DEB3",
- whitesmoke: "#F5F5F5",
- yellowgreen: "#9ACD32"
- },
- R = {},
- G = {
- style: "normal",
- variant: "normal",
- weight: "normal",
- size: 12,
- family: "微软雅黑"
- },
- Y = {},
- Q = {
- butt: "flat",
- round: "round"
- },
- Z = f.prototype;
- Z.clearRect = function() {
- this.textMeasureEl_ && (this.textMeasureEl_.removeNode(!0), this.textMeasureEl_ = null), this.element_.innerHTML = ""
- }, Z.beginPath = function() {
- this.currentPath_ = []
- }, Z.moveTo = function(e, t) {
- var i = L(this, e, t);
- this.currentPath_.push({
- type: "moveTo",
- x: i.x,
- y: i.y
- }), this.currentX_ = i.x, this.currentY_ = i.y
- }, Z.lineTo = function(e, t) {
- var i = L(this, e, t);
- this.currentPath_.push({
- type: "lineTo",
- x: i.x,
- y: i.y
- }), this.currentX_ = i.x, this.currentY_ = i.y
- }, Z.bezierCurveTo = function(e, t, i, n, a, o) {
- var r = L(this, a, o),
- s = L(this, e, t),
- l = L(this, i, n);
- k(this, s, l, r)
- }, Z.quadraticCurveTo = function(e, t, i, n) {
- var a = L(this, e, t),
- o = L(this, i, n),
- r = {
- x: this.currentX_ + 2 / 3 * (a.x - this.currentX_),
- y: this.currentY_ + 2 / 3 * (a.y - this.currentY_)
- },
- s = {
- x: r.x + (o.x - this.currentX_) / 3,
- y: r.y + (o.y - this.currentY_) / 3
- };
- k(this, r, s, o)
- }, Z.arc = function(e, t, i, n, a, o) {
- i *= A;
- var r = o ? "at" : "wa",
- s = e + F(n) * i - M,
- l = t + E(n) * i - M,
- h = e + F(a) * i - M,
- m = t + E(a) * i - M;
- s != h || o || (s += .125);
- var V = L(this, e, t),
- U = L(this, s, l),
- d = L(this, h, m);
- this.currentPath_.push({
- type: r,
- x: V.x,
- y: V.y,
- radius: i,
- xStart: U.x,
- yStart: U.y,
- xEnd: d.x,
- yEnd: d.y
- })
- }, Z.rect = function(e, t, i, n) {
- this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath()
- }, Z.strokeRect = function(e, t, i, n) {
- var a = this.currentPath_;
- this.beginPath(), this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath(), this.stroke(), this.currentPath_ = a
- }, Z.fillRect = function(e, t, i, n) {
- var a = this.currentPath_;
- this.beginPath(), this.moveTo(e, t), this.lineTo(e + i, t), this.lineTo(e + i, t + n), this.lineTo(e, t + n), this.closePath(), this.fill(), this.currentPath_ = a
- }, Z.createLinearGradient = function(e, t, i, n) {
- var a = new v("gradient");
- return a.x0_ = e, a.y0_ = t, a.x1_ = i, a.y1_ = n, a
- }, Z.createRadialGradient = function(e, t, i, n, a, o) {
- var r = new v("gradientradial");
- return r.x0_ = e, r.y0_ = t, r.r0_ = i, r.x1_ = n, r.y1_ = a, r.r1_ = o, r
- }, Z.drawImage = function(e) {
- var t, i, n, a, o, r, s, l, h = e.runtimeStyle.width,
- m = e.runtimeStyle.height;
- e.runtimeStyle.width = "auto", e.runtimeStyle.height = "auto";
- var V = e.width,
- U = e.height;
- if(e.runtimeStyle.width = h, e.runtimeStyle.height = m, 3 == arguments.length) t = arguments[1], i = arguments[2], o = r = 0, s = n = V, l = a = U;
- else if(5 == arguments.length) t = arguments[1], i = arguments[2], n = arguments[3], a = arguments[4], o = r = 0, s = V, l = U;
- else {
- if(9 != arguments.length) throw Error("Invalid number of arguments");
- o = arguments[1], r = arguments[2], s = arguments[3], l = arguments[4], t = arguments[5], i = arguments[6], n = arguments[7], a = arguments[8]
- }
- var d = L(this, t, i),
- p = [],
- c = 10,
- u = 10,
- y = b = 1;
- if(p.push(" <g_vml_:group", ' coordsize="', A * c, ",", A * u, '"', ' coordorigin="0,0"', ' style="width:', c, "px;height:", u, "px;position:absolute;"), 1 != this.m_[0][0] || this.m_[0][1] || 1 != this.m_[1][1] || this.m_[1][0]) {
- var g = [],
- y = this.scaleX_,
- b = this.scaleY_;
- g.push("M11=", this.m_[0][0] / y, ",", "M12=", this.m_[1][0] / b, ",", "M21=", this.m_[0][1] / y, ",", "M22=", this.m_[1][1] / b, ",", "Dx=", S(d.x / A), ",", "Dy=", S(d.y / A), "");
- var f = d,
- k = L(this, t + n, i),
- x = L(this, t, i + a),
- _ = L(this, t + n, i + a);
- f.x = C.max(f.x, k.x, x.x, _.x), f.y = C.max(f.y, k.y, x.y, _.y), p.push("padding:0 ", S(f.x / A), "px ", S(f.y / A), "px 0;filter:progid:DXImageTransform.Microsoft.Matrix(", g.join(""), ", SizingMethod='clip');")
- } else p.push("top:", S(d.y / A), "px;left:", S(d.x / A), "px;");
- p.push(' ">'), (o || r) && p.push('<div style="overflow: hidden; width:', Math.ceil((n + o * n / s) * y), "px;", " height:", Math.ceil((a + r * a / l) * b), "px;", " filter:progid:DxImageTransform.Microsoft.Matrix(Dx=", -o * n / s * y, ",Dy=", -r * a / l * b, ');">'), p.push('<div style="width:', Math.round(y * V * n / s), "px;", " height:", Math.round(b * U * a / l), "px;", " filter:"), this.globalAlpha < 1 && p.push(" progid:DXImageTransform.Microsoft.Alpha(opacity=" + 100 * this.globalAlpha + ")"), p.push(" progid:DXImageTransform.Microsoft.AlphaImageLoader(src=", e.src, ',sizingMethod=scale)">'), (o || r) && p.push("</div>"), p.push("</div></div>"), this.element_.insertAdjacentHTML("BeforeEnd", p.join(""))
- }, Z.stroke = function(e) {
- var t = [],
- i = 10,
- n = 10;
- t.push("<g_vml_:shape", ' filled="', !!e, '"', ' style="position:absolute;width:', i, "px;height:", n, 'px;"', ' coordorigin="0,0"', ' coordsize="', A * i, ",", A * n, '"', ' stroked="', !e, '"', ' path="');
- for(var a = {
- x: null,
- y: null
- }, o = {
- x: null,
- y: null
- }, r = 0; r < this.currentPath_.length; r++) {
- var s, l = this.currentPath_[r];
- switch(l.type) {
- case "moveTo":
- s = l, t.push(" m ", S(l.x), ",", S(l.y));
- break;
- case "lineTo":
- t.push(" l ", S(l.x), ",", S(l.y));
- break;
- case "close":
- t.push(" x "), l = null;
- break;
- case "bezierCurveTo":
- t.push(" c ", S(l.cp1x), ",", S(l.cp1y), ",", S(l.cp2x), ",", S(l.cp2y), ",", S(l.x), ",", S(l.y));
- break;
- case "at":
- case "wa":
- t.push(" ", l.type, " ", S(l.x - this.scaleX_ * l.radius), ",", S(l.y - this.scaleY_ * l.radius), " ", S(l.x + this.scaleX_ * l.radius), ",", S(l.y + this.scaleY_ * l.radius), " ", S(l.xStart), ",", S(l.yStart), " ", S(l.xEnd), ",", S(l.yEnd))
- }
- l && ((null == a.x || l.x < a.x) && (a.x = l.x), (null == o.x || l.x > o.x) && (o.x = l.x), (null == a.y || l.y < a.y) && (a.y = l.y), (null == o.y || l.y > o.y) && (o.y = l.y))
- }
- t.push(' ">'), e ? _(this, t, a, o) : x(this, t), t.push("</g_vml_:shape>"), this.element_.insertAdjacentHTML("beforeEnd", t.join(""))
- }, Z.fill = function() {
- this.stroke(!0)
- }, Z.closePath = function() {
- this.currentPath_.push({
- type: "close"
- })
- }, Z.save = function() {
- var e = {};
- h(this, e), this.aStack_.push(e), this.mStack_.push(this.m_), this.m_ = l(s(), this.m_)
- }, Z.restore = function() {
- this.aStack_.length && (h(this.aStack_.pop(), this), this.m_ = this.mStack_.pop())
- }, Z.translate = function(e, t) {
- var i = [
- [1, 0, 0],
- [0, 1, 0],
- [e, t, 1]
- ];
- X(this, l(i, this.m_), !1)
- }, Z.rotate = function(e) {
- var t = F(e),
- i = E(e),
- n = [
- [t, i, 0],
- [-i, t, 0],
- [0, 0, 1]
- ];
- X(this, l(n, this.m_), !1)
- }, Z.scale = function(e, t) {
- var i = [
- [e, 0, 0],
- [0, t, 0],
- [0, 0, 1]
- ];
- X(this, l(i, this.m_), !0)
- }, Z.transform = function(e, t, i, n, a, o) {
- var r = [
- [e, t, 0],
- [i, n, 0],
- [a, o, 1]
- ];
- X(this, l(r, this.m_), !0)
- }, Z.setTransform = function(e, t, i, n, a, o) {
- var r = [
- [e, t, 0],
- [i, n, 0],
- [a, o, 1]
- ];
- X(this, r, !0)
- }, Z.drawText_ = function(e, t, n, a, o) {
- var r = this.m_,
- s = 1e3,
- l = 0,
- h = s,
- m = {
- x: 0,
- y: 0
- },
- V = [],
- U = y(u(this.font), this.element_),
- d = g(U),
- p = this.element_.currentStyle,
- c = this.textAlign.toLowerCase();
- switch(c) {
- case "left":
- case "center":
- case "right":
- break;
- case "end":
- c = "ltr" == p.direction ? "right" : "left";
- break;
- case "start":
- c = "rtl" == p.direction ? "right" : "left";
- break;
- default:
- c = "left"
- }
- switch(this.textBaseline) {
- case "hanging":
- case "top":
- m.y = U.size / 1.75;
- break;
- case "middle":
- break;
- default:
- case null:
- case "alphabetic":
- case "ideographic":
- case "bottom":
- m.y = -U.size / 2.25
- }
- switch(c) {
- case "right":
- l = s, h = .05;
- break;
- case "center":
- l = h = s / 2
- }
- var b = L(this, t + m.x, n + m.y);
- V.push('<g_vml_:line from="', -l, ' 0" to="', h, ' 0.05" ', ' coordsize="100 100" coordorigin="0 0"', ' filled="', !o, '" stroked="', !!o, '" style="position:absolute;width:1px;height:1px;">'), o ? x(this, V) : _(this, V, {
- x: -l,
- y: 0
- }, {
- x: h,
- y: U.size
- });
- var f = r[0][0].toFixed(3) + "," + r[1][0].toFixed(3) + "," + r[0][1].toFixed(3) + "," + r[1][1].toFixed(3) + ",0,0",
- k = S(b.x / A) + "," + S(b.y / A);
- V.push('<g_vml_:skew on="t" matrix="', f, '" ', ' offset="', k, '" origin="', l, ' 0" />', '<g_vml_:path textpathok="true" />', '<g_vml_:textpath on="true" string="', i(e), '" style="v-text-align:', c, ";font:", i(d), '" /></g_vml_:line>'), this.element_.insertAdjacentHTML("beforeEnd", V.join(""))
- }, Z.fillText = function(e, t, i, n) {
- this.drawText_(e, t, i, n, !1)
- }, Z.strokeText = function(e, t, i, n) {
- this.drawText_(e, t, i, n, !0)
- }, Z.measureText = function(e) {
- if(!this.textMeasureEl_) {
- var t = '<span style="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;"></span>';
- this.element_.insertAdjacentHTML("beforeEnd", t), this.textMeasureEl_ = this.element_.lastChild
- }
- var i = this.element_.ownerDocument;
- this.textMeasureEl_.innerHTML = "";
- try {
- this.textMeasureEl_.style.font = this.font
- } catch(n) {}
- return this.textMeasureEl_.appendChild(i.createTextNode(e)), {
- width: this.textMeasureEl_.offsetWidth
- }
- }, Z.clip = function() {}, Z.arcTo = function() {}, Z.createPattern = function(e, t) {
- return new w(e, t)
- }, v.prototype.addColorStop = function(e, t) {
- t = c(t), this.colors_.push({
- offset: e,
- color: t.color,
- alpha: t.alpha
- })
- };
- var q = J.prototype = new Error;
- q.INDEX_SIZE_ERR = 1, q.DOMSTRING_SIZE_ERR = 2, q.HIERARCHY_REQUEST_ERR = 3, q.WRONG_DOCUMENT_ERR = 4, q.INVALID_CHARACTER_ERR = 5, q.NO_DATA_ALLOWED_ERR = 6, q.NO_MODIFICATION_ALLOWED_ERR = 7, q.NOT_FOUND_ERR = 8, q.NOT_SUPPORTED_ERR = 9, q.INUSE_ATTRIBUTE_ERR = 10, q.INVALID_STATE_ERR = 11, q.SYNTAX_ERR = 12, q.INVALID_MODIFICATION_ERR = 13, q.NAMESPACE_ERR = 14, q.INVALID_ACCESS_ERR = 15, q.VALIDATION_ERR = 16, q.TYPE_MISMATCH_ERR = 17, G_vmlCanvasManager = P, CanvasRenderingContext2D = f, CanvasGradient = v, CanvasPattern = w, DOMException = J
- }(), G_vmlCanvasManager
- }), i("zrender/mixin/Eventful", ["require"], function() {
- var e = function() {
- this._handlers = {}
- };
- return e.prototype.one = function(e, t, i) {
- var n = this._handlers;
- return t && e ? (n[e] || (n[e] = []), n[e].push({
- h: t,
- one: !0,
- ctx: i || this
- }), this) : this
- }, e.prototype.bind = function(e, t, i) {
- var n = this._handlers;
- return t && e ? (n[e] || (n[e] = []), n[e].push({
- h: t,
- one: !1,
- ctx: i || this
- }), this) : this
- }, e.prototype.unbind = function(e, t) {
- var i = this._handlers;
- if(!e) return this._handlers = {}, this;
- if(t) {
- if(i[e]) {
- for(var n = [], a = 0, o = i[e].length; o > a; a++) i[e][a].h != t && n.push(i[e][a]);
- i[e] = n
- }
- i[e] && 0 === i[e].length && delete i[e]
- } else delete i[e];
- return this
- }, e.prototype.dispatch = function(e) {
- if(this._handlers[e]) {
- var t = arguments,
- i = t.length;
- i > 3 && (t = Array.prototype.slice.call(t, 1));
- for(var n = this._handlers[e], a = n.length, o = 0; a > o;) {
- switch(i) {
- case 1:
- n[o].h.call(n[o].ctx);
- break;
- case 2:
- n[o].h.call(n[o].ctx, t[1]);
- break;
- case 3:
- n[o].h.call(n[o].ctx, t[1], t[2]);
- break;
- default:
- n[o].h.apply(n[o].ctx, t)
- }
- n[o].one ? (n.splice(o, 1), a--) : o++
- }
- }
- return this
- }, e.prototype.dispatchWithContext = function(e) {
- if(this._handlers[e]) {
- var t = arguments,
- i = t.length;
- i > 4 && (t = Array.prototype.slice.call(t, 1, t.length - 1));
- for(var n = t[t.length - 1], a = this._handlers[e], o = a.length, r = 0; o > r;) {
- switch(i) {
- case 1:
- a[r].h.call(n);
- break;
- case 2:
- a[r].h.call(n, t[1]);
- break;
- case 3:
- a[r].h.call(n, t[1], t[2]);
- break;
- default:
- a[r].h.apply(n, t)
- }
- a[r].one ? (a.splice(r, 1), o--) : r++
- }
- }
- return this
- }, e
- }), i("zrender/tool/log", ["require", "../config"], function(e) {
- var t = e("../config");
- return function() {
- if(0 !== t.debugMode)
- if(1 == t.debugMode)
- for(var e in arguments) throw new Error(arguments[e]);
- else if(t.debugMode > 1)
- for(var e in arguments) console.log(arguments[e])
- }
- }), i("zrender/tool/guid", [], function() {
- var e = 2311;
- return function() {
- return "zrender__" + e++
- }
- }), i("zrender/Handler", ["require", "./config", "./tool/env", "./tool/event", "./tool/util", "./tool/vector", "./tool/matrix", "./mixin/Eventful"], function(e) {
- "use strict";
- function t(e, t) {
- return function(i, n) {
- return e.call(t, i, n)
- }
- }
- function i(e, t) {
- return function(i, n, a) {
- return e.call(t, i, n, a)
- }
- }
- function n(e) {
- for(var i = d.length; i--;) {
- var n = d[i];
- e["_" + n + "Handler"] = t(c[n], e)
- }
- }
- function a(e, t, i) {
- if(this._draggingTarget && this._draggingTarget.id == e.id || e.isSilent()) return !1;
- var n = this._event;
- if(e.isCover(t, i)) {
- e.hoverable && this.storage.addHover(e);
- for(var a = e.parent; a;) {
- if(a.clipShape && !a.clipShape.isCover(this._mouseX, this._mouseY)) return !1;
- a = a.parent
- }
- return this._lastHover != e && (this._processOutShape(n), this._processDragLeave(n), this._lastHover = e, this._processDragEnter(n)), this._processOverShape(n), this._processDragOver(n), this._hasfound = 1, !0
- }
- return !1
- }
- var o = e("./config"),
- r = e("./tool/env"),
- s = e("./tool/event"),
- l = e("./tool/util"),
- h = e("./tool/vector"),
- m = e("./tool/matrix"),
- V = o.EVENT,
- U = e("./mixin/Eventful"),
- d = ["resize", "click", "dblclick", "mousewheel", "mousemove", "mouseout", "mouseup", "mousedown", "touchstart", "touchend", "touchmove"],
- p = function(e) {
- if(window.G_vmlCanvasManager) return !0;
- e = e || window.event;
- var t = e.toElement || e.relatedTarget || e.srcElement || e.target;
- return t && t.className.match(o.elementClassName)
- },
- c = {
- resize: function(e) {
- e = e || window.event, this._lastHover = null, this._isMouseDown = 0, this.dispatch(V.RESIZE, e)
- },
- click: function(e, t) {
- if(p(e) || t) {
- e = this._zrenderEventFixed(e);
- var i = this._lastHover;
- (i && i.clickable || !i) && this._clickThreshold < 5 && this._dispatchAgency(i, V.CLICK, e), this._mousemoveHandler(e)
- }
- },
- dblclick: function(e, t) {
- if(p(e) || t) {
- e = e || window.event, e = this._zrenderEventFixed(e);
- var i = this._lastHover;
- (i && i.clickable || !i) && this._clickThreshold < 5 && this._dispatchAgency(i, V.DBLCLICK, e), this._mousemoveHandler(e)
- }
- },
- mousewheel: function(e, t) {
- if(p(e) || t) {
- e = this._zrenderEventFixed(e);
- var i = e.wheelDelta || -e.detail,
- n = i > 0 ? 1.1 : 1 / 1.1,
- a = !1,
- o = this._mouseX,
- r = this._mouseY;
- this.painter.eachBuildinLayer(function(t) {
- var i = t.position;
- if(t.zoomable) {
- t.__zoom = t.__zoom || 1;
- var l = t.__zoom;
- l *= n, l = Math.max(Math.min(t.maxZoom, l), t.minZoom), n = l / t.__zoom, t.__zoom = l, i[0] -= (o - i[0]) * (n - 1), i[1] -= (r - i[1]) * (n - 1), t.scale[0] *= n, t.scale[1] *= n, t.dirty = !0, a = !0, s.stop(e)
- }
- }), a && this.painter.refresh(), this._dispatchAgency(this._lastHover, V.MOUSEWHEEL, e), this._mousemoveHandler(e)
- }
- },
- mousemove: function(e, t) {
- if((p(e) || t) && !this.painter.isLoading()) {
- e = this._zrenderEventFixed(e), this._lastX = this._mouseX, this._lastY = this._mouseY, this._mouseX = s.getX(e), this._mouseY = s.getY(e);
- var i = this._mouseX - this._lastX,
- n = this._mouseY - this._lastY;
- this._processDragStart(e), this._hasfound = 0, this._event = e, this._iterateAndFindHover(), this._hasfound || ((!this._draggingTarget || this._lastHover && this._lastHover != this._draggingTarget) && (this._processOutShape(e),
- this._processDragLeave(e)), this._lastHover = null, this.storage.delHover(), this.painter.clearHover());
- var a = "default";
- if(this._draggingTarget) this.storage.drift(this._draggingTarget.id, i, n), this._draggingTarget.modSelf(), this.storage.addHover(this._draggingTarget), this._clickThreshold++;
- else if(this._isMouseDown) {
- var o = !1;
- this.painter.eachBuildinLayer(function(e) {
- e.panable && (a = "move", e.position[0] += i, e.position[1] += n, o = !0, e.dirty = !0)
- }), o && this.painter.refresh()
- }
- this._draggingTarget || this._hasfound && this._lastHover.draggable ? a = "move" : this._hasfound && this._lastHover.clickable && (a = "pointer"), this.root.style.cursor = a, this._dispatchAgency(this._lastHover, V.MOUSEMOVE, e), (this._draggingTarget || this._hasfound || this.storage.hasHoverShape()) && this.painter.refreshHover()
- }
- },
- mouseout: function(e, t) {
- if(p(e) || t) {
- e = this._zrenderEventFixed(e);
- var i = e.toElement || e.relatedTarget;
- if(i != this.root)
- for(; i && 9 != i.nodeType;) {
- if(i == this.root) return void this._mousemoveHandler(e);
- i = i.parentNode
- }
- e.zrenderX = this._lastX, e.zrenderY = this._lastY, this.root.style.cursor = "default", this._isMouseDown = 0, this._processOutShape(e), this._processDrop(e), this._processDragEnd(e), this.painter.isLoading() || this.painter.refreshHover(), this.dispatch(V.GLOBALOUT, e)
- }
- },
- mousedown: function(e, t) {
- if(p(e) || t) {
- if(this._clickThreshold = 0, 2 == this._lastDownButton) return this._lastDownButton = e.button, void(this._mouseDownTarget = null);
- this._lastMouseDownMoment = new Date, e = this._zrenderEventFixed(e), this._isMouseDown = 1, this._mouseDownTarget = this._lastHover, this._dispatchAgency(this._lastHover, V.MOUSEDOWN, e), this._lastDownButton = e.button
- }
- },
- mouseup: function(e, t) {
- (p(e) || t) && (e = this._zrenderEventFixed(e), this.root.style.cursor = "default", this._isMouseDown = 0, this._mouseDownTarget = null, this._dispatchAgency(this._lastHover, V.MOUSEUP, e), this._processDrop(e), this._processDragEnd(e))
- },
- touchstart: function(e, t) {
- (p(e) || t) && (e = this._zrenderEventFixed(e, !0), this._lastTouchMoment = new Date, this._mobileFindFixed(e), this._mousedownHandler(e))
- },
- touchmove: function(e, t) {
- (p(e) || t) && (e = this._zrenderEventFixed(e, !0), this._mousemoveHandler(e), this._isDragging && s.stop(e))
- },
- touchend: function(e, t) {
- if(p(e) || t) {
- e = this._zrenderEventFixed(e, !0), this._mouseupHandler(e);
- var i = new Date;
- i - this._lastTouchMoment < V.touchClickDelay && (this._mobileFindFixed(e), this._clickHandler(e), i - this._lastClickMoment < V.touchClickDelay / 2 && (this._dblclickHandler(e), this._lastHover && this._lastHover.clickable && s.stop(e)), this._lastClickMoment = i), this.painter.clearHover()
- }
- }
- },
- u = function(e, t, o) {
- U.call(this), this.root = e, this.storage = t, this.painter = o, this._lastX = this._lastY = this._mouseX = this._mouseY = 0, this._findHover = i(a, this), this._domHover = o.getDomHover(), n(this), window.addEventListener ? (window.addEventListener("resize", this._resizeHandler), r.os.tablet || r.os.phone ? (e.addEventListener("touchstart", this._touchstartHandler), e.addEventListener("touchmove", this._touchmoveHandler), e.addEventListener("touchend", this._touchendHandler)) : (e.addEventListener("click", this._clickHandler), e.addEventListener("dblclick", this._dblclickHandler), e.addEventListener("mousewheel", this._mousewheelHandler), e.addEventListener("mousemove", this._mousemoveHandler), e.addEventListener("mousedown", this._mousedownHandler), e.addEventListener("mouseup", this._mouseupHandler)), e.addEventListener("DOMMouseScroll", this._mousewheelHandler), e.addEventListener("mouseout", this._mouseoutHandler)) : (window.attachEvent("onresize", this._resizeHandler), e.attachEvent("onclick", this._clickHandler), e.ondblclick = this._dblclickHandler, e.attachEvent("onmousewheel", this._mousewheelHandler), e.attachEvent("onmousemove", this._mousemoveHandler), e.attachEvent("onmouseout", this._mouseoutHandler), e.attachEvent("onmousedown", this._mousedownHandler), e.attachEvent("onmouseup", this._mouseupHandler))
- };
- u.prototype.on = function(e, t, i) {
- return this.bind(e, t, i), this
- }, u.prototype.un = function(e, t) {
- return this.unbind(e, t), this
- }, u.prototype.trigger = function(e, t) {
- switch(e) {
- case V.RESIZE:
- case V.CLICK:
- case V.DBLCLICK:
- case V.MOUSEWHEEL:
- case V.MOUSEMOVE:
- case V.MOUSEDOWN:
- case V.MOUSEUP:
- case V.MOUSEOUT:
- this["_" + e + "Handler"](t, !0)
- }
- }, u.prototype.dispose = function() {
- var e = this.root;
- window.removeEventListener ? (window.removeEventListener("resize", this._resizeHandler), r.os.tablet || r.os.phone ? (e.removeEventListener("touchstart", this._touchstartHandler), e.removeEventListener("touchmove", this._touchmoveHandler), e.removeEventListener("touchend", this._touchendHandler)) : (e.removeEventListener("click", this._clickHandler), e.removeEventListener("dblclick", this._dblclickHandler), e.removeEventListener("mousewheel", this._mousewheelHandler), e.removeEventListener("mousemove", this._mousemoveHandler), e.removeEventListener("mousedown", this._mousedownHandler), e.removeEventListener("mouseup", this._mouseupHandler)), e.removeEventListener("DOMMouseScroll", this._mousewheelHandler), e.removeEventListener("mouseout", this._mouseoutHandler)) : (window.detachEvent("onresize", this._resizeHandler), e.detachEvent("onclick", this._clickHandler), e.detachEvent("dblclick", this._dblclickHandler), e.detachEvent("onmousewheel", this._mousewheelHandler), e.detachEvent("onmousemove", this._mousemoveHandler), e.detachEvent("onmouseout", this._mouseoutHandler), e.detachEvent("onmousedown", this._mousedownHandler), e.detachEvent("onmouseup", this._mouseupHandler)), this.root = this._domHover = this.storage = this.painter = null, this.un()
- }, u.prototype._processDragStart = function(e) {
- var t = this._lastHover;
- if(this._isMouseDown && t && t.draggable && !this._draggingTarget && this._mouseDownTarget == t) {
- if(t.dragEnableTime && new Date - this._lastMouseDownMoment < t.dragEnableTime) return;
- var i = t;
- this._draggingTarget = i, this._isDragging = 1, i.invisible = !0, this.storage.mod(i.id), this._dispatchAgency(i, V.DRAGSTART, e), this.painter.refresh()
- }
- }, u.prototype._processDragEnter = function(e) {
- this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGENTER, e, this._draggingTarget)
- }, u.prototype._processDragOver = function(e) {
- this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGOVER, e, this._draggingTarget)
- }, u.prototype._processDragLeave = function(e) {
- this._draggingTarget && this._dispatchAgency(this._lastHover, V.DRAGLEAVE, e, this._draggingTarget)
- }, u.prototype._processDrop = function(e) {
- this._draggingTarget && (this._draggingTarget.invisible = !1, this.storage.mod(this._draggingTarget.id), this.painter.refresh(), this._dispatchAgency(this._lastHover, V.DROP, e, this._draggingTarget))
- }, u.prototype._processDragEnd = function(e) {
- this._draggingTarget && (this._dispatchAgency(this._draggingTarget, V.DRAGEND, e), this._lastHover = null), this._isDragging = 0, this._draggingTarget = null
- }, u.prototype._processOverShape = function(e) {
- this._dispatchAgency(this._lastHover, V.MOUSEOVER, e)
- }, u.prototype._processOutShape = function(e) {
- this._dispatchAgency(this._lastHover, V.MOUSEOUT, e)
- }, u.prototype._dispatchAgency = function(e, t, i, n) {
- var a = "on" + t,
- o = {
- type: t,
- event: i,
- target: e,
- cancelBubble: !1
- },
- r = e;
- for(n && (o.dragged = n); r && (r[a] && (o.cancelBubble = r[a](o)), r.dispatch(t, o), r = r.parent, !o.cancelBubble););
- if(e) o.cancelBubble || this.dispatch(t, o);
- else if(!n) {
- var s = {
- type: t,
- event: i
- };
- this.dispatch(t, s), this.painter.eachOtherLayer(function(e) {
- "function" == typeof e[a] && e[a](s), e.dispatch && e.dispatch(t, s)
- })
- }
- }, u.prototype._iterateAndFindHover = function() {
- var e = m.create();
- return function() {
- for(var t, i, n = this.storage.getShapeList(), a = [0, 0], o = n.length - 1; o >= 0; o--) {
- var r = n[o];
- if(t !== r.zlevel && (i = this.painter.getLayer(r.zlevel, i), a[0] = this._mouseX, a[1] = this._mouseY, i.needTransform && (m.invert(e, i.transform), h.applyTransform(a, a, e))), this._findHover(r, a[0], a[1])) break
- }
- }
- }();
- var y = [{
- x: 10
- }, {
- x: -20
- }, {
- x: 10,
- y: 10
- }, {
- y: -20
- }];
- return u.prototype._mobileFindFixed = function(e) {
- this._lastHover = null, this._mouseX = e.zrenderX, this._mouseY = e.zrenderY, this._event = e, this._iterateAndFindHover();
- for(var t = 0; !this._lastHover && t < y.length; t++) {
- var i = y[t];
- i.x && (this._mouseX += i.x), i.y && (this._mouseY += i.y), this._iterateAndFindHover()
- }
- this._lastHover && (e.zrenderX = this._mouseX, e.zrenderY = this._mouseY)
- }, u.prototype._zrenderEventFixed = function(e, t) {
- if(e.zrenderFixed) return e;
- if(t) {
- var i = "touchend" != e.type ? e.targetTouches[0] : e.changedTouches[0];
- if(i) {
- var n = this.painter._domRoot.getBoundingClientRect();
- e.zrenderX = i.clientX - n.left, e.zrenderY = i.clientY - n.top
- }
- } else {
- e = e || window.event;
- var a = e.toElement || e.relatedTarget || e.srcElement || e.target;
- a && a != this._domHover && (e.zrenderX = ("undefined" != typeof e.offsetX ? e.offsetX : e.layerX) + a.offsetLeft, e.zrenderY = ("undefined" != typeof e.offsetY ? e.offsetY : e.layerY) + a.offsetTop)
- }
- return e.zrenderFixed = 1, e
- }, l.merge(u.prototype, U.prototype, !0), u
- }), i("zrender/Painter", ["require", "./config", "./tool/util", "./tool/log", "./loadingEffect/Base", "./Layer", "./shape/Image"], function(e) {
- "use strict";
- function t() {
- return !1
- }
- function i() {}
- function n(e) {
- return e ? e.isBuildin ? !0 : "function" != typeof e.resize || "function" != typeof e.refresh ? !1 : !0 : !1
- }
- var a = e("./config"),
- o = e("./tool/util"),
- r = e("./tool/log"),
- s = e("./loadingEffect/Base"),
- l = e("./Layer"),
- h = function(e, i) {
- this.root = e, e.style["-webkit-tap-highlight-color"] = "transparent", e.style["-webkit-user-select"] = "none", e.style["user-select"] = "none", e.style["-webkit-touch-callout"] = "none", this.storage = i, e.innerHTML = "", this._width = this._getWidth(), this._height = this._getHeight();
- var n = document.createElement("div");
- this._domRoot = n, n.style.position = "relative", n.style.overflow = "hidden", n.style.width = this._width + "px", n.style.height = this._height + "px", e.appendChild(n), this._layers = {}, this._zlevelList = [], this._layerConfig = {}, this._loadingEffect = new s({}), this.shapeToImage = this._createShapeToImageProcessor(), this._bgDom = document.createElement("div"), this._bgDom.style.cssText = ["position:absolute;left:0px;top:0px;width:", this._width, "px;height:", this._height + "px;", "-webkit-user-select:none;user-select;none;", "-webkit-touch-callout:none;"].join(""), this._bgDom.setAttribute("data-zr-dom-id", "bg"), this._bgDom.className = a.elementClassName, n.appendChild(this._bgDom), this._bgDom.onselectstart = t;
- var o = new l("_zrender_hover_", this);
- this._layers.hover = o, n.appendChild(o.dom), o.initContext(), o.dom.onselectstart = t, o.dom.style["-webkit-user-select"] = "none", o.dom.style["user-select"] = "none", o.dom.style["-webkit-touch-callout"] = "none", this.refreshNextFrame = null
- };
- return h.prototype.render = function(e) {
- return this.isLoading() && this.hideLoading(), this.refresh(e, !0), this
- }, h.prototype.refresh = function(e, t) {
- var i = this.storage.getShapeList(!0);
- this._paintList(i, t);
- for(var n = 0; n < this._zlevelList.length; n++) {
- var a = this._zlevelList[n],
- o = this._layers[a];
- !o.isBuildin && o.refresh && o.refresh()
- }
- return "function" == typeof e && e(), this
- }, h.prototype._preProcessLayer = function(e) {
- e.unusedCount++, e.updateTransform()
- }, h.prototype._postProcessLayer = function(e) {
- e.dirty = !1, 1 == e.unusedCount && e.clear()
- }, h.prototype._paintList = function(e, t) {
- "undefined" == typeof t && (t = !1), this._updateLayerStatus(e);
- var i, n, o;
- this.eachBuildinLayer(this._preProcessLayer);
- for(var s = 0, l = e.length; l > s; s++) {
- var h = e[s];
- if(n !== h.zlevel && (i && (i.needTransform && o.restore(), o.flush && o.flush()), n = h.zlevel, i = this.getLayer(n), i.isBuildin || r("ZLevel " + n + " has been used by unkown layer " + i.id), o = i.ctx, i.unusedCount = 0, (i.dirty || t) && i.clear(), i.needTransform && (o.save(), i.setTransform(o))), (i.dirty || t) && !h.invisible && (!h.onbrush || h.onbrush && !h.onbrush(o, !1)))
- if(a.catchBrushException) try {
- h.brush(o, !1, this.refreshNextFrame)
- } catch(m) {
- r(m, "brush error of " + h.type, h)
- } else h.brush(o, !1, this.refreshNextFrame);
- h.__dirty = !1
- }
- i && (i.needTransform && o.restore(), o.flush && o.flush()), this.eachBuildinLayer(this._postProcessLayer)
- }, h.prototype.getLayer = function(e) {
- var t = this._layers[e];
- return t || (t = new l(e, this), t.isBuildin = !0, this._layerConfig[e] && o.merge(t, this._layerConfig[e], !0), t.updateTransform(), this.insertLayer(e, t), t.initContext()), t
- }, h.prototype.insertLayer = function(e, t) {
- if(this._layers[e]) return void r("ZLevel " + e + " has been used already");
- if(!n(t)) return void r("Layer of zlevel " + e + " is not valid");
- var i = this._zlevelList.length,
- a = null,
- o = -1;
- if(i > 0 && e > this._zlevelList[0]) {
- for(o = 0; i - 1 > o && !(this._zlevelList[o] < e && this._zlevelList[o + 1] > e); o++);
- a = this._layers[this._zlevelList[o]]
- }
- this._zlevelList.splice(o + 1, 0, e);
- var s = a ? a.dom : this._bgDom;
- s.nextSibling ? s.parentNode.insertBefore(t.dom, s.nextSibling) : s.parentNode.appendChild(t.dom), this._layers[e] = t
- }, h.prototype.eachLayer = function(e, t) {
- for(var i = 0; i < this._zlevelList.length; i++) {
- var n = this._zlevelList[i];
- e.call(t, this._layers[n], n)
- }
- }, h.prototype.eachBuildinLayer = function(e, t) {
- for(var i = 0; i < this._zlevelList.length; i++) {
- var n = this._zlevelList[i],
- a = this._layers[n];
- a.isBuildin && e.call(t, a, n)
- }
- }, h.prototype.eachOtherLayer = function(e, t) {
- for(var i = 0; i < this._zlevelList.length; i++) {
- var n = this._zlevelList[i],
- a = this._layers[n];
- a.isBuildin || e.call(t, a, n)
- }
- }, h.prototype.getLayers = function() {
- return this._layers
- }, h.prototype._updateLayerStatus = function(e) {
- var t = this._layers,
- i = {};
- this.eachBuildinLayer(function(e, t) {
- i[t] = e.elCount, e.elCount = 0
- });
- for(var n = 0, a = e.length; a > n; n++) {
- var o = e[n],
- r = o.zlevel,
- s = t[r];
- if(s) {
- if(s.elCount++, s.dirty) continue;
- s.dirty = o.__dirty
- }
- }
- this.eachBuildinLayer(function(e, t) {
- i[t] !== e.elCount && (e.dirty = !0)
- })
- }, h.prototype.refreshShapes = function(e, t) {
- for(var i = 0, n = e.length; n > i; i++) {
- var a = e[i];
- a.modSelf()
- }
- return this.refresh(t), this
- }, h.prototype.setLoadingEffect = function(e) {
- return this._loadingEffect = e, this
- }, h.prototype.clear = function() {
- return this.eachBuildinLayer(this._clearLayer), this
- }, h.prototype._clearLayer = function(e) {
- e.clear()
- }, h.prototype.modLayer = function(e, t) {
- if(t) {
- this._layerConfig[e] ? o.merge(this._layerConfig[e], t, !0) : this._layerConfig[e] = t;
- var i = this._layers[e];
- i && o.merge(i, this._layerConfig[e], !0)
- }
- }, h.prototype.delLayer = function(e) {
- var t = this._layers[e];
- t && (this.modLayer(e, {
- position: t.position,
- rotation: t.rotation,
- scale: t.scale
- }), t.dom.parentNode.removeChild(t.dom), delete this._layers[e], this._zlevelList.splice(o.indexOf(this._zlevelList, e), 1))
- }, h.prototype.refreshHover = function() {
- this.clearHover();
- for(var e = this.storage.getHoverShapes(!0), t = 0, i = e.length; i > t; t++) this._brushHover(e[t]);
- var n = this._layers.hover.ctx;
- return n.flush && n.flush(), this.storage.delHover(), this
- }, h.prototype.clearHover = function() {
- var e = this._layers.hover;
- return e && e.clear(), this
- }, h.prototype.showLoading = function(e) {
- return this._loadingEffect && this._loadingEffect.stop(), e && this.setLoadingEffect(e), this._loadingEffect.start(this), this.loading = !0, this
- }, h.prototype.hideLoading = function() {
- return this._loadingEffect.stop(), this.clearHover(), this.loading = !1, this
- }, h.prototype.isLoading = function() {
- return this.loading
- }, h.prototype.resize = function() {
- var e = this._domRoot;
- e.style.display = "none";
- var t = this._getWidth(),
- i = this._getHeight();
- if(e.style.display = "", this._width != t || i != this._height) {
- this._width = t, this._height = i, e.style.width = t + "px", e.style.height = i + "px";
- for(var n in this._layers) this._layers[n].resize(t, i);
- this.refresh(null, !0)
- }
- return this
- }, h.prototype.clearLayer = function(e) {
- var t = this._layers[e];
- t && t.clear()
- }, h.prototype.dispose = function() {
- this.isLoading() && this.hideLoading(), this.root.innerHTML = "", this.root = this.storage = this._domRoot = this._layers = null
- }, h.prototype.getDomHover = function() {
- return this._layers.hover.dom
- }, h.prototype.toDataURL = function(e, t, i) {
- if(window.G_vmlCanvasManager) return null;
- var n = new l("image", this);
- this._bgDom.appendChild(n.dom), n.initContext();
- var o = n.ctx;
- n.clearColor = t || "#fff", n.clear();
- var s = this;
- this.storage.iterShape(function(e) {
- if(!e.invisible && (!e.onbrush || e.onbrush && !e.onbrush(o, !1)))
- if(a.catchBrushException) try {
- e.brush(o, !1, s.refreshNextFrame)
- } catch(t) {
- r(t, "brush error of " + e.type, e)
- } else e.brush(o, !1, s.refreshNextFrame)
- }, {
- normal: "up",
- update: !0
- });
- var h = n.dom.toDataURL(e, i);
- return o = null, this._bgDom.removeChild(n.dom), h
- }, h.prototype.getWidth = function() {
- return this._width
- }, h.prototype.getHeight = function() {
- return this._height
- }, h.prototype._getWidth = function() {
- var e = this.root,
- t = e.currentStyle || document.defaultView.getComputedStyle(e);
- return((e.clientWidth || parseInt(t.width, 10)) - parseInt(t.paddingLeft, 10) - parseInt(t.paddingRight, 10)).toFixed(0) - 0
- }, h.prototype._getHeight = function() {
- var e = this.root,
- t = e.currentStyle || document.defaultView.getComputedStyle(e);
- return((e.clientHeight || parseInt(t.height, 10)) - parseInt(t.paddingTop, 10) - parseInt(t.paddingBottom, 10)).toFixed(0) - 0
- }, h.prototype._brushHover = function(e) {
- var t = this._layers.hover.ctx;
- if(!e.onbrush || e.onbrush && !e.onbrush(t, !0)) {
- var i = this.getLayer(e.zlevel);
- if(i.needTransform && (t.save(), i.setTransform(t)), a.catchBrushException) try {
- e.brush(t, !0, this.refreshNextFrame)
- } catch(n) {
- r(n, "hoverBrush error of " + e.type, e)
- } else e.brush(t, !0, this.refreshNextFrame);
- i.needTransform && t.restore()
- }
- }, h.prototype._shapeToImage = function(t, i, n, a, o) {
- var r = document.createElement("canvas"),
- s = r.getContext("2d");
- r.style.width = n + "px", r.style.height = a + "px", r.setAttribute("width", n * o), r.setAttribute("height", a * o), s.clearRect(0, 0, n * o, a * o);
- var l = {
- position: i.position,
- rotation: i.rotation,
- scale: i.scale
- };
- i.position = [0, 0, 0], i.rotation = 0, i.scale = [1, 1], i && i.brush(s, !1);
- var h = e("./shape/Image"),
- m = new h({
- id: t,
- style: {
- x: 0,
- y: 0,
- image: r
- }
- });
- return null != l.position && (m.position = i.position = l.position), null != l.rotation && (m.rotation = i.rotation = l.rotation), null != l.scale && (m.scale = i.scale = l.scale), m
- }, h.prototype._createShapeToImageProcessor = function() {
- if(window.G_vmlCanvasManager) return i;
- var e = this;
- return function(t, i, n, o) {
- return e._shapeToImage(t, i, n, o, a.devicePixelRatio)
- }
- }, h
- }), i("zrender/Storage", ["require", "./tool/util", "./Group"], function(e) {
- "use strict";
- function t(e, t) {
- return e.zlevel == t.zlevel ? e.z == t.z ? e.__renderidx - t.__renderidx : e.z - t.z : e.zlevel - t.zlevel
- }
- var i = e("./tool/util"),
- n = e("./Group"),
- a = {
- hover: !1,
- normal: "down",
- update: !1
- },
- o = function() {
- this._elements = {}, this._hoverElements = [], this._roots = [], this._shapeList = [], this._shapeListOffset = 0
- };
- return o.prototype.iterShape = function(e, t) {
- if(t || (t = a), t.hover)
- for(var i = 0, n = this._hoverElements.length; n > i; i++) {
- var o = this._hoverElements[i];
- if(o.updateTransform(), e(o)) return this
- }
- switch(t.update && this.updateShapeList(), t.normal) {
- case "down":
- for(var n = this._shapeList.length; n--;)
- if(e(this._shapeList[n])) return this;
- break;
- default:
- for(var i = 0, n = this._shapeList.length; n > i; i++)
- if(e(this._shapeList[i])) return this
- }
- return this
- }, o.prototype.getHoverShapes = function(e) {
- for(var i = [], n = 0, a = this._hoverElements.length; a > n; n++) {
- i.push(this._hoverElements[n]);
- var o = this._hoverElements[n].hoverConnect;
- if(o) {
- var r;
- o = o instanceof Array ? o : [o];
- for(var s = 0, l = o.length; l > s; s++) r = o[s].id ? o[s] : this.get(o[s]), r && i.push(r)
- }
- }
- if(i.sort(t), e)
- for(var n = 0, a = i.length; a > n; n++) i[n].updateTransform();
- return i
- }, o.prototype.getShapeList = function(e) {
- return e && this.updateShapeList(), this._shapeList
- }, o.prototype.updateShapeList = function() {
- this._shapeListOffset = 0;
- for(var e = 0, i = this._roots.length; i > e; e++) {
- var n = this._roots[e];
- this._updateAndAddShape(n)
- }
- this._shapeList.length = this._shapeListOffset;
- for(var e = 0, i = this._shapeList.length; i > e; e++) this._shapeList[e].__renderidx = e;
- this._shapeList.sort(t)
- }, o.prototype._updateAndAddShape = function(e, t) {
- if(!e.ignore)
- if(e.updateTransform(), e.clipShape && (e.clipShape.parent = e, e.clipShape.updateTransform(), t ? (t = t.slice(), t.push(e.clipShape)) : t = [e.clipShape]), "group" == e.type) {
- for(var i = 0; i < e._children.length; i++) {
- var n = e._children[i];
- n.__dirty = e.__dirty || n.__dirty, this._updateAndAddShape(n, t)
- }
- e.__dirty = !1
- } else e.__clipShapes = t, this._shapeList[this._shapeListOffset++] = e
- }, o.prototype.mod = function(e, t) {
- if("string" == typeof e && (e = this._elements[e]), e && (e.modSelf(), t))
- if(t.parent || t._storage || t.__clipShapes) {
- var n = {};
- for(var a in t) "parent" !== a && "_storage" !== a && "__clipShapes" !== a && t.hasOwnProperty(a) && (n[a] = t[a]);
- i.merge(e, n, !0)
- } else i.merge(e, t, !0);
- return this
- }, o.prototype.drift = function(e, t, i) {
- var n = this._elements[e];
- return n && (n.needTransform = !0, "horizontal" === n.draggable ? i = 0 : "vertical" === n.draggable && (t = 0), (!n.ondrift || n.ondrift && !n.ondrift(t, i)) && n.drift(t, i)), this
- }, o.prototype.addHover = function(e) {
- return e.updateNeedTransform(), this._hoverElements.push(e), this
- }, o.prototype.delHover = function() {
- return this._hoverElements = [], this
- }, o.prototype.hasHoverShape = function() {
- return this._hoverElements.length > 0
- }, o.prototype.addRoot = function(e) {
- this._elements[e.id] || (e instanceof n && e.addChildrenToStorage(this), this.addToMap(e), this._roots.push(e))
- }, o.prototype.delRoot = function(e) {
- if("undefined" == typeof e) {
- for(var t = 0; t < this._roots.length; t++) {
- var a = this._roots[t];
- a instanceof n && a.delChildrenFromStorage(this)
- }
- return this._elements = {}, this._hoverElements = [], this._roots = [], this._shapeList = [], void(this._shapeListOffset = 0)
- }
- if(e instanceof Array)
- for(var t = 0, o = e.length; o > t; t++) this.delRoot(e[t]);
- else {
- var r;
- r = "string" == typeof e ? this._elements[e] : e;
- var s = i.indexOf(this._roots, r);
- s >= 0 && (this.delFromMap(r.id), this._roots.splice(s, 1), r instanceof n && r.delChildrenFromStorage(this))
- }
- }, o.prototype.addToMap = function(e) {
- return e instanceof n && (e._storage = this), e.modSelf(), this._elements[e.id] = e, this
- }, o.prototype.get = function(e) {
- return this._elements[e]
- }, o.prototype.delFromMap = function(e) {
- var t = this._elements[e];
- return t && (delete this._elements[e], t instanceof n && (t._storage = null)), this
- }, o.prototype.dispose = function() {
- this._elements = this._renderList = this._roots = this._hoverElements = null
- }, o
- }), i("zrender/animation/Animation", ["require", "./Clip", "../tool/color", "../tool/util", "../tool/event"], function(e) {
- "use strict";
- function t(e, t) {
- return e[t]
- }
- function i(e, t, i) {
- e[t] = i
- }
- function n(e, t, i) {
- return(t - e) * i + e
- }
- function a(e, t, i, a, o) {
- var r = e.length;
- if(1 == o)
- for(var s = 0; r > s; s++) a[s] = n(e[s], t[s], i);
- else
- for(var l = e[0].length, s = 0; r > s; s++)
- for(var h = 0; l > h; h++) a[s][h] = n(e[s][h], t[s][h], i)
- }
- function o(e) {
- switch(typeof e) {
- case "undefined":
- case "string":
- return !1
- }
- return "undefined" != typeof e.length
- }
- function r(e, t, i, n, a, o, r, l, h) {
- var m = e.length;
- if(1 == h)
- for(var V = 0; m > V; V++) l[V] = s(e[V], t[V], i[V], n[V], a, o, r);
- else
- for(var U = e[0].length, V = 0; m > V; V++)
- for(var d = 0; U > d; d++) l[V][d] = s(e[V][d], t[V][d], i[V][d], n[V][d], a, o, r)
- }
- function s(e, t, i, n, a, o, r) {
- var s = .5 * (i - e),
- l = .5 * (n - t);
- return(2 * (t - i) + s + l) * r + (-3 * (t - i) - 2 * s - l) * o + s * a + t
- }
- function l(e) {
- if(o(e)) {
- var t = e.length;
- if(o(e[0])) {
- for(var i = [], n = 0; t > n; n++) i.push(c.call(e[n]));
- return i
- }
- return c.call(e)
- }
- return e
- }
- function h(e) {
- return e[0] = Math.floor(e[0]), e[1] = Math.floor(e[1]), e[2] = Math.floor(e[2]), "rgba(" + e.join(",") + ")"
- }
- var m = e("./Clip"),
- V = e("../tool/color"),
- U = e("../tool/util"),
- d = e("../tool/event").Dispatcher,
- p = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(e) {
- setTimeout(e, 16)
- },
- c = Array.prototype.slice,
- u = function(e) {
- e = e || {}, this.stage = e.stage || {}, this.onframe = e.onframe || function() {}, this._clips = [], this._running = !1, this._time = 0, d.call(this)
- };
- u.prototype = {
- add: function(e) {
- this._clips.push(e)
- },
- remove: function(e) {
- if(e.__inStep) e.__needsRemove = !0;
- else {
- var t = U.indexOf(this._clips, e);
- t >= 0 && this._clips.splice(t, 1)
- }
- },
- _update: function() {
- for(var e = (new Date).getTime(), t = e - this._time, i = this._clips, n = i.length, a = [], o = [], r = 0; n > r; r++) {
- var s = i[r];
- s.__inStep = !0;
- var l = s.step(e);
- s.__inStep = !1, l && (a.push(l), o.push(s))
- }
- for(var r = 0; n > r;) i[r].__needsRemove ? (i[r] = i[n - 1], i.pop(), n--) : r++;
- n = a.length;
- for(var r = 0; n > r; r++) o[r].fire(a[r]);
- this._time = e, this.onframe(t), this.dispatch("frame", t), this.stage.update && this.stage.update()
- },
- start: function() {
- function e() {
- t._running && (p(e), t._update())
- }
- var t = this;
- this._running = !0, this._time = (new Date).getTime(), p(e)
- },
- stop: function() {
- this._running = !1
- },
- clear: function() {
- this._clips = []
- },
- animate: function(e, t) {
- t = t || {};
- var i = new y(e, t.loop, t.getter, t.setter);
- return i.animation = this, i
- },
- constructor: u
- }, U.merge(u.prototype, d.prototype, !0);
- var y = function(e, n, a, o) {
- this._tracks = {}, this._target = e, this._loop = n || !1, this._getter = a || t, this._setter = o || i, this._clipCount = 0, this._delay = 0, this._doneList = [], this._onframeList = [], this._clipList = []
- };
- return y.prototype = {
- when: function(e, t) {
- for(var i in t) this._tracks[i] || (this._tracks[i] = [], 0 !== e && this._tracks[i].push({
- time: 0,
- value: l(this._getter(this._target, i))
- })), this._tracks[i].push({
- time: parseInt(e, 10),
- value: t[i]
- });
- return this
- },
- during: function(e) {
- return this._onframeList.push(e), this
- },
- start: function(e) {
- var t = this,
- i = this._setter,
- l = this._getter,
- U = "spline" === e,
- d = function() {
- if(t._clipCount--, 0 === t._clipCount) {
- t._tracks = {};
- for(var e = t._doneList.length, i = 0; e > i; i++) t._doneList[i].call(t)
- }
- },
- p = function(p, c) {
- var u = p.length;
- if(u) {
- var y = p[0].value,
- g = o(y),
- b = !1,
- f = g && o(y[0]) ? 2 : 1;
- p.sort(function(e, t) {
- return e.time - t.time
- });
- var k;
- if(u) {
- k = p[u - 1].time;
- for(var x = [], _ = [], L = 0; u > L; L++) {
- x.push(p[L].time / k);
- var W = p[L].value;
- "string" == typeof W && (W = V.toArray(W), 0 === W.length && (W[0] = W[1] = W[2] = 0, W[3] = 1), b = !0), _.push(W)
- }
- var X, L, v, w, K, I, J, C = 0,
- S = 0;
- if(b) var E = [0, 0, 0, 0];
- var F = function(e, o) {
- if(S > o) {
- for(X = Math.min(C + 1, u - 1), L = X; L >= 0 && !(x[L] <= o); L--);
- L = Math.min(L, u - 2)
- } else {
- for(L = C; u > L && !(x[L] > o); L++);
- L = Math.min(L - 1, u - 2)
- }
- C = L, S = o;
- var m = x[L + 1] - x[L];
- if(0 !== m) {
- if(v = (o - x[L]) / m, U)
- if(K = _[L], w = _[0 === L ? L : L - 1], I = _[L > u - 2 ? u - 1 : L + 1], J = _[L > u - 3 ? u - 1 : L + 2], g) r(w, K, I, J, v, v * v, v * v * v, l(e, c), f);
- else {
- var V;
- b ? (V = r(w, K, I, J, v, v * v, v * v * v, E, 1), V = h(E)) : V = s(w, K, I, J, v, v * v, v * v * v), i(e, c, V)
- }
- else if(g) a(_[L], _[L + 1], v, l(e, c), f);
- else {
- var V;
- b ? (a(_[L], _[L + 1], v, E, 1), V = h(E)) : V = n(_[L], _[L + 1], v), i(e, c, V)
- }
- for(L = 0; L < t._onframeList.length; L++) t._onframeList[L](e, o)
- }
- },
- T = new m({
- target: t._target,
- life: k,
- loop: t._loop,
- delay: t._delay,
- onframe: F,
- ondestroy: d
- });
- e && "spline" !== e && (T.easing = e), t._clipList.push(T), t._clipCount++, t.animation.add(T)
- }
- }
- };
- for(var c in this._tracks) p(this._tracks[c], c);
- return this
- },
- stop: function() {
- for(var e = 0; e < this._clipList.length; e++) {
- var t = this._clipList[e];
- this.animation.remove(t)
- }
- this._clipList = []
- },
- delay: function(e) {
- return this._delay = e, this
- },
- done: function(e) {
- return e && this._doneList.push(e), this
- }
- }, u
- }), i("zrender/tool/vector", [], function() {
- var e = "undefined" == typeof Float32Array ? Array : Float32Array,
- t = {
- create: function(t, i) {
- var n = new e(2);
- return n[0] = t || 0, n[1] = i || 0, n
- },
- copy: function(e, t) {
- return e[0] = t[0], e[1] = t[1], e
- },
- clone: function(t) {
- var i = new e(2);
- return i[0] = t[0], i[1] = t[1], i
- },
- set: function(e, t, i) {
- return e[0] = t, e[1] = i, e
- },
- add: function(e, t, i) {
- return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e
- },
- scaleAndAdd: function(e, t, i, n) {
- return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e
- },
- sub: function(e, t, i) {
- return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e
- },
- len: function(e) {
- return Math.sqrt(this.lenSquare(e))
- },
- lenSquare: function(e) {
- return e[0] * e[0] + e[1] * e[1]
- },
- mul: function(e, t, i) {
- return e[0] = t[0] * i[0], e[1] = t[1] * i[1], e
- },
- div: function(e, t, i) {
- return e[0] = t[0] / i[0], e[1] = t[1] / i[1], e
- },
- dot: function(e, t) {
- return e[0] * t[0] + e[1] * t[1]
- },
- scale: function(e, t, i) {
- return e[0] = t[0] * i, e[1] = t[1] * i, e
- },
- normalize: function(e, i) {
- var n = t.len(i);
- return 0 === n ? (e[0] = 0, e[1] = 0) : (e[0] = i[0] / n, e[1] = i[1] / n), e
- },
- distance: function(e, t) {
- return Math.sqrt((e[0] - t[0]) * (e[0] - t[0]) + (e[1] - t[1]) * (e[1] - t[1]))
- },
- distanceSquare: function(e, t) {
- return(e[0] - t[0]) * (e[0] - t[0]) + (e[1] - t[1]) * (e[1] - t[1])
- },
- negate: function(e, t) {
- return e[0] = -t[0], e[1] = -t[1], e
- },
- lerp: function(e, t, i, n) {
- return e[0] = t[0] + n * (i[0] - t[0]), e[1] = t[1] + n * (i[1] - t[1]), e
- },
- applyTransform: function(e, t, i) {
- var n = t[0],
- a = t[1];
- return e[0] = i[0] * n + i[2] * a + i[4], e[1] = i[1] * n + i[3] * a + i[5], e
- },
- min: function(e, t, i) {
- return e[0] = Math.min(t[0], i[0]), e[1] = Math.min(t[1], i[1]), e
- },
- max: function(e, t, i) {
- return e[0] = Math.max(t[0], i[0]), e[1] = Math.max(t[1], i[1]), e
- }
- };
- return t.length = t.len, t.lengthSquare = t.lenSquare, t.dist = t.distance, t.distSquare = t.distanceSquare, t
- }), i("zrender/tool/matrix", [], function() {
- var e = "undefined" == typeof Float32Array ? Array : Float32Array,
- t = {
- create: function() {
- var i = new e(6);
- return t.identity(i), i
- },
- identity: function(e) {
- return e[0] = 1, e[1] = 0, e[2] = 0, e[3] = 1, e[4] = 0, e[5] = 0, e
- },
- copy: function(e, t) {
- return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4], e[5] = t[5], e
- },
- mul: function(e, t, i) {
- return e[0] = t[0] * i[0] + t[2] * i[1], e[1] = t[1] * i[0] + t[3] * i[1], e[2] = t[0] * i[2] + t[2] * i[3], e[3] = t[1] * i[2] + t[3] * i[3], e[4] = t[0] * i[4] + t[2] * i[5] + t[4], e[5] = t[1] * i[4] + t[3] * i[5] + t[5], e
- },
- translate: function(e, t, i) {
- return e[0] = t[0], e[1] = t[1], e[2] = t[2], e[3] = t[3], e[4] = t[4] + i[0], e[5] = t[5] + i[1], e
- },
- rotate: function(e, t, i) {
- var n = t[0],
- a = t[2],
- o = t[4],
- r = t[1],
- s = t[3],
- l = t[5],
- h = Math.sin(i),
- m = Math.cos(i);
- return e[0] = n * m + r * h, e[1] = -n * h + r * m, e[2] = a * m + s * h, e[3] = -a * h + m * s, e[4] = m * o + h * l, e[5] = m * l - h * o, e
- },
- scale: function(e, t, i) {
- var n = i[0],
- a = i[1];
- return e[0] = t[0] * n, e[1] = t[1] * a, e[2] = t[2] * n, e[3] = t[3] * a, e[4] = t[4] * n, e[5] = t[5] * a, e
- },
- invert: function(e, t) {
- var i = t[0],
- n = t[2],
- a = t[4],
- o = t[1],
- r = t[3],
- s = t[5],
- l = i * r - o * n;
- return l ? (l = 1 / l, e[0] = r * l, e[1] = -o * l, e[2] = -n * l, e[3] = i * l, e[4] = (n * s - r * a) * l, e[5] = (o * a - i * s) * l, e) : null
- }
- };
- return t
- }), i("zrender/loadingEffect/Base", ["require", "../tool/util", "../shape/Text", "../shape/Rectangle"], function(e) {
- function t(e) {
- this.setOptions(e)
- }
- var i = e("../tool/util"),
- n = e("../shape/Text"),
- a = e("../shape/Rectangle"),
- o = "Loading...",
- r = "normal 16px Arial";
- return t.prototype.createTextShape = function(e) {
- return new n({
- highlightStyle: i.merge({
- x: this.canvasWidth / 2,
- y: this.canvasHeight / 2,
- text: o,
- textAlign: "center",
- textBaseline: "middle",
- textFont: r,
- color: "#333",
- brushType: "fill"
- }, e, !0)
- })
- }, t.prototype.createBackgroundShape = function(e) {
- return new a({
- highlightStyle: {
- x: 0,
- y: 0,
- width: this.canvasWidth,
- height: this.canvasHeight,
- brushType: "fill",
- color: e
- }
- })
- }, t.prototype.start = function(e) {
- function t(t) {
- e.storage.addHover(t)
- }
- function i() {
- e.refreshHover()
- }
- this.canvasWidth = e._width, this.canvasHeight = e._height, this.loadingTimer = this._start(t, i)
- }, t.prototype._start = function() {
- return setInterval(function() {}, 1e4)
- }, t.prototype.stop = function() {
- clearInterval(this.loadingTimer)
- }, t.prototype.setOptions = function(e) {
- this.options = e || {}
- }, t.prototype.adjust = function(e, t) {
- return e <= t[0] ? e = t[0] : e >= t[1] && (e = t[1]), e
- }, t.prototype.getLocation = function(e, t, i) {
- var n = null != e.x ? e.x : "center";
- switch(n) {
- case "center":
- n = Math.floor((this.canvasWidth - t) / 2);
- break;
- case "left":
- n = 0;
- break;
- case "right":
- n = this.canvasWidth - t
- }
- var a = null != e.y ? e.y : "center";
- switch(a) {
- case "center":
- a = Math.floor((this.canvasHeight - i) / 2);
- break;
- case "top":
- a = 0;
- break;
- case "bottom":
- a = this.canvasHeight - i
- }
- return {
- x: n,
- y: a,
- width: t,
- height: i
- }
- }, t
- }), i("zrender/Layer", ["require", "./mixin/Transformable", "./tool/util", "./config"], function(e) {
- function t() {
- return !1
- }
- function i(e, t, i) {
- var n = document.createElement(t),
- a = i.getWidth(),
- o = i.getHeight();
- return n.style.position = "absolute", n.style.left = 0, n.style.top = 0, n.style.width = a + "px", n.style.height = o + "px", n.width = a * r.devicePixelRatio, n.height = o * r.devicePixelRatio, n.setAttribute("data-zr-dom-id", e), n
- }
- var n = e("./mixin/Transformable"),
- a = e("./tool/util"),
- o = window.G_vmlCanvasManager,
- r = e("./config"),
- s = function(e, a) {
- this.id = e, this.dom = i(e, "canvas", a), this.dom.onselectstart = t, this.dom.style["-webkit-user-select"] = "none", this.dom.style["user-select"] = "none", this.dom.style["-webkit-touch-callout"] = "none", this.dom.style["-webkit-tap-highlight-color"] = "rgba(0,0,0,0)", this.dom.className = r.elementClassName, o && o.initElement(this.dom), this.domBack = null, this.ctxBack = null, this.painter = a, this.unusedCount = 0, this.config = null, this.dirty = !0, this.elCount = 0, this.clearColor = 0, this.motionBlur = !1, this.lastFrameAlpha = .7, this.zoomable = !1, this.panable = !1, this.maxZoom = 1 / 0, this.minZoom = 0, n.call(this)
- };
- return s.prototype.initContext = function() {
- this.ctx = this.dom.getContext("2d");
- var e = r.devicePixelRatio;
- 1 != e && this.ctx.scale(e, e)
- }, s.prototype.createBackBuffer = function() {
- if(!o) {
- this.domBack = i("back-" + this.id, "canvas", this.painter), this.ctxBack = this.domBack.getContext("2d");
- var e = r.devicePixelRatio;
- 1 != e && this.ctxBack.scale(e, e)
- }
- }, s.prototype.resize = function(e, t) {
- var i = r.devicePixelRatio;
- this.dom.style.width = e + "px", this.dom.style.height = t + "px", this.dom.setAttribute("width", e * i), this.dom.setAttribute("height", t * i), 1 != i && this.ctx.scale(i, i), this.domBack && (this.domBack.setAttribute("width", e * i), this.domBack.setAttribute("height", t * i), 1 != i && this.ctxBack.scale(i, i))
- }, s.prototype.clear = function() {
- var e = this.dom,
- t = this.ctx,
- i = e.width,
- n = e.height,
- a = this.clearColor && !o,
- s = this.motionBlur && !o,
- l = this.lastFrameAlpha,
- h = r.devicePixelRatio;
- if(s && (this.domBack || this.createBackBuffer(), this.ctxBack.globalCompositeOperation = "copy", this.ctxBack.drawImage(e, 0, 0, i / h, n / h)), t.clearRect(0, 0, i / h, n / h), a && (t.save(), t.fillStyle = this.clearColor, t.fillRect(0, 0, i / h, n / h), t.restore()), s) {
- var m = this.domBack;
- t.save(), t.globalAlpha = l, t.drawImage(m, 0, 0, i / h, n / h), t.restore()
- }
- }, a.merge(s.prototype, n.prototype), s
- }), i("zrender/shape/Text", ["require", "../tool/area", "./Base", "../tool/util"], function(e) {
- var t = e("../tool/area"),
- i = e("./Base"),
- n = function(e) {
- i.call(this, e)
- };
- return n.prototype = {
- type: "text",
- brush: function(e, i) {
- var n = this.style;
- if(i && (n = this.getHighlightStyle(n, this.highlightStyle || {})), "undefined" != typeof n.text && n.text !== !1) {
- e.save(), this.doClip(e), this.setContext(e, n), this.setTransform(e), n.textFont && (e.font = n.textFont), e.textAlign = n.textAlign || "start", e.textBaseline = n.textBaseline || "middle";
- var a, o = (n.text + "").split("\n"),
- r = t.getTextHeight("国", n.textFont),
- s = this.getRect(n),
- l = n.x;
- a = "top" == n.textBaseline ? s.y : "bottom" == n.textBaseline ? s.y + r : s.y + r / 2;
- for(var h = 0, m = o.length; m > h; h++) {
- if(n.maxWidth) switch(n.brushType) {
- case "fill":
- e.fillText(o[h], l, a, n.maxWidth);
- break;
- case "stroke":
- e.strokeText(o[h], l, a, n.maxWidth);
- break;
- case "both":
- e.fillText(o[h], l, a, n.maxWidth), e.strokeText(o[h], l, a, n.maxWidth);
- break;
- default:
- e.fillText(o[h], l, a, n.maxWidth)
- } else switch(n.brushType) {
- case "fill":
- e.fillText(o[h], l, a);
- break;
- case "stroke":
- e.strokeText(o[h], l, a);
- break;
- case "both":
- e.fillText(o[h], l, a), e.strokeText(o[h], l, a);
- break;
- default:
- e.fillText(o[h], l, a)
- }
- a += r
- }
- e.restore()
- }
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var i = t.getTextWidth(e.text, e.textFont),
- n = t.getTextHeight(e.text, e.textFont),
- a = e.x;
- "end" == e.textAlign || "right" == e.textAlign ? a -= i : "center" == e.textAlign && (a -= i / 2);
- var o;
- return o = "top" == e.textBaseline ? e.y : "bottom" == e.textBaseline ? e.y - n : e.y - n / 2, e.__rect = {
- x: a,
- y: o,
- width: i,
- height: n
- }, e.__rect
- }
- }, e("../tool/util").inherits(n, i), n
- }), i("zrender/shape/Rectangle", ["require", "./Base", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = function(e) {
- t.call(this, e)
- };
- return i.prototype = {
- type: "rectangle",
- _buildRadiusPath: function(e, t) {
- var i, n, a, o, r = t.x,
- s = t.y,
- l = t.width,
- h = t.height,
- m = t.radius;
- "number" == typeof m ? i = n = a = o = m : m instanceof Array ? 1 === m.length ? i = n = a = o = m[0] : 2 === m.length ? (i = a = m[0], n = o = m[1]) : 3 === m.length ? (i = m[0], n = o = m[1], a = m[2]) : (i = m[0], n = m[1], a = m[2], o = m[3]) : i = n = a = o = 0;
- var V;
- i + n > l && (V = i + n, i *= l / V, n *= l / V), a + o > l && (V = a + o, a *= l / V, o *= l / V), n + a > h && (V = n + a, n *= h / V, a *= h / V), i + o > h && (V = i + o, i *= h / V, o *= h / V), e.moveTo(r + i, s), e.lineTo(r + l - n, s), 0 !== n && e.quadraticCurveTo(r + l, s, r + l, s + n), e.lineTo(r + l, s + h - a), 0 !== a && e.quadraticCurveTo(r + l, s + h, r + l - a, s + h), e.lineTo(r + o, s + h), 0 !== o && e.quadraticCurveTo(r, s + h, r, s + h - o), e.lineTo(r, s + i), 0 !== i && e.quadraticCurveTo(r, s, r + i, s)
- },
- buildPath: function(e, t) {
- t.radius ? this._buildRadiusPath(e, t) : (e.moveTo(t.x, t.y), e.lineTo(t.x + t.width, t.y), e.lineTo(t.x + t.width, t.y + t.height), e.lineTo(t.x, t.y + t.height), e.lineTo(t.x, t.y)), e.closePath()
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t;
- return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
- x: Math.round(e.x - t / 2),
- y: Math.round(e.y - t / 2),
- width: e.width + t,
- height: e.height + t
- }, e.__rect
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("zrender/tool/area", ["require", "./util", "./curve"], function(e) {
- "use strict";
- function t(e) {
- return e %= C, 0 > e && (e += C), e
- }
- function i(e, t, i, o) {
- if(!t || !e) return !1;
- var r = e.type;
- L = L || W.getContext();
- var s = n(e, t, i, o);
- if("undefined" != typeof s) return s;
- if(e.buildPath && L.isPointInPath) return a(e, L, t, i, o);
- switch(r) {
- case "ellipse":
- return !0;
- case "trochoid":
- var l = "out" == t.location ? t.r1 + t.r2 + t.d : t.r1 - t.r2 + t.d;
- return d(t, i, o, l);
- case "rose":
- return d(t, i, o, t.maxr);
- default:
- return !1
- }
- }
- function n(e, t, i, n) {
- var a = e.type;
- switch(a) {
- case "bezier-curve":
- return "undefined" == typeof t.cpX2 ? l(t.xStart, t.yStart, t.cpX1, t.cpY1, t.xEnd, t.yEnd, t.lineWidth, i, n) : s(t.xStart, t.yStart, t.cpX1, t.cpY1, t.cpX2, t.cpY2, t.xEnd, t.yEnd, t.lineWidth, i, n);
- case "line":
- return r(t.xStart, t.yStart, t.xEnd, t.yEnd, t.lineWidth, i, n);
- case "polyline":
- return m(t.pointList, t.lineWidth, i, n);
- case "ring":
- return V(t.x, t.y, t.r0, t.r, i, n);
- case "circle":
- return d(t.x, t.y, t.r, i, n);
- case "sector":
- var o = t.startAngle * Math.PI / 180,
- h = t.endAngle * Math.PI / 180;
- return t.clockWise || (o = -o, h = -h), p(t.x, t.y, t.r0, t.r, o, h, !t.clockWise, i, n);
- case "path":
- return t.pathArray && k(t.pathArray, Math.max(t.lineWidth, 5), t.brushType, i, n);
- case "polygon":
- case "star":
- case "isogon":
- return c(t.pointList, i, n);
- case "text":
- var u = t.__rect || e.getRect(t);
- return U(u.x, u.y, u.width, u.height, i, n);
- case "rectangle":
- case "image":
- return U(t.x, t.y, t.width, t.height, i, n)
- }
- }
- function a(e, t, i, n, a) {
- return t.beginPath(), e.buildPath(t, i), t.closePath(), t.isPointInPath(n, a)
- }
- function o(e, t, n, a) {
- return !i(e, t, n, a)
- }
- function r(e, t, i, n, a, o, r) {
- if(0 === a) return !1;
- var s = Math.max(a, 5),
- l = 0,
- h = e;
- if(r > t + s && r > n + s || t - s > r && n - s > r || o > e + s && o > i + s || e - s > o && i - s > o) return !1;
- if(e === i) return Math.abs(o - e) <= s / 2;
- l = (t - n) / (e - i), h = (e * n - i * t) / (e - i);
- var m = l * o - r + h,
- V = m * m / (l * l + 1);
- return s / 2 * s / 2 >= V
- }
- function s(e, t, i, n, a, o, r, s, l, h, m) {
- if(0 === l) return !1;
- var V = Math.max(l, 5);
- if(m > t + V && m > n + V && m > o + V && m > s + V || t - V > m && n - V > m && o - V > m && s - V > m || h > e + V && h > i + V && h > a + V && h > r + V || e - V > h && i - V > h && a - V > h && r - V > h) return !1;
- var U = X.cubicProjectPoint(e, t, i, n, a, o, r, s, h, m, null);
- return V / 2 >= U
- }
- function l(e, t, i, n, a, o, r, s, l) {
- if(0 === r) return !1;
- var h = Math.max(r, 5);
- if(l > t + h && l > n + h && l > o + h || t - h > l && n - h > l && o - h > l || s > e + h && s > i + h && s > a + h || e - h > s && i - h > s && a - h > s) return !1;
- var m = X.quadraticProjectPoint(e, t, i, n, a, o, s, l, null);
- return h / 2 >= m
- }
- function h(e, i, n, a, o, r, s, l, h) {
- if(0 === s) return !1;
- var m = Math.max(s, 5);
- l -= e, h -= i;
- var V = Math.sqrt(l * l + h * h);
- if(V - m > n || n > V + m) return !1;
- if(Math.abs(a - o) >= C) return !0;
- if(r) {
- var U = a;
- a = t(o), o = t(U)
- } else a = t(a), o = t(o);
- a > o && (o += C);
- var d = Math.atan2(h, l);
- return 0 > d && (d += C), d >= a && o >= d || d + C >= a && o >= d + C
- }
- function m(e, t, i, n) {
- for(var t = Math.max(t, 10), a = 0, o = e.length - 1; o > a; a++) {
- var s = e[a][0],
- l = e[a][1],
- h = e[a + 1][0],
- m = e[a + 1][1];
- if(r(s, l, h, m, t, i, n)) return !0
- }
- return !1
- }
- function V(e, t, i, n, a, o) {
- var r = (a - e) * (a - e) + (o - t) * (o - t);
- return n * n > r && r > i * i
- }
- function U(e, t, i, n, a, o) {
- return a >= e && e + i >= a && o >= t && t + n >= o
- }
- function d(e, t, i, n, a) {
- return i * i > (n - e) * (n - e) + (a - t) * (a - t)
- }
- function p(e, t, i, n, a, o, r, s, l) {
- return h(e, t, (i + n) / 2, a, o, r, n - i, s, l)
- }
- function c(e, t, i) {
- for(var n = e.length, a = 0, o = 0, r = n - 1; n > o; o++) {
- var s = e[r][0],
- l = e[r][1],
- h = e[o][0],
- m = e[o][1];
- a += u(s, l, h, m, t, i), r = o
- }
- return 0 !== a
- }
- function u(e, t, i, n, a, o) {
- if(o > t && o > n || t > o && n > o) return 0;
- if(n == t) return 0;
- var r = t > n ? 1 : -1,
- s = (o - t) / (n - t),
- l = s * (i - e) + e;
- return l > a ? r : 0
- }
- function y() {
- var e = E[0];
- E[0] = E[1], E[1] = e
- }
- function g(e, t, i, n, a, o, r, s, l, h) {
- if(h > t && h > n && h > o && h > s || t > h && n > h && o > h && s > h) return 0;
- var m = X.cubicRootAt(t, n, o, s, h, S);
- if(0 === m) return 0;
- for(var V, U, d = 0, p = -1, c = 0; m > c; c++) {
- var u = S[c],
- g = X.cubicAt(e, i, a, r, u);
- l > g || (0 > p && (p = X.cubicExtrema(t, n, o, s, E), E[1] < E[0] && p > 1 && y(), V = X.cubicAt(t, n, o, s, E[0]), p > 1 && (U = X.cubicAt(t, n, o, s, E[1]))), d += 2 == p ? u < E[0] ? t > V ? 1 : -1 : u < E[1] ? V > U ? 1 : -1 : U > s ? 1 : -1 : u < E[0] ? t > V ? 1 : -1 : V > s ? 1 : -1)
- }
- return d
- }
- function b(e, t, i, n, a, o, r, s) {
- if(s > t && s > n && s > o || t > s && n > s && o > s) return 0;
- var l = X.quadraticRootAt(t, n, o, s, S);
- if(0 === l) return 0;
- var h = X.quadraticExtremum(t, n, o);
- if(h >= 0 && 1 >= h) {
- for(var m = 0, V = X.quadraticAt(t, n, o, h), U = 0; l > U; U++) {
- var d = X.quadraticAt(e, i, a, S[U]);
- r > d || (m += S[U] < h ? t > V ? 1 : -1 : V > o ? 1 : -1)
- }
- return m
- }
- var d = X.quadraticAt(e, i, a, S[0]);
- return r > d ? 0 : t > o ? 1 : -1
- }
- function f(e, i, n, a, o, r, s, l) {
- if(l -= i, l > n || -n > l) return 0;
- var h = Math.sqrt(n * n - l * l);
- if(S[0] = -h, S[1] = h, Math.abs(a - o) >= C) {
- a = 0, o = C;
- var m = r ? 1 : -1;
- return s >= S[0] + e && s <= S[1] + e ? m : 0
- }
- if(r) {
- var h = a;
- a = t(o), o = t(h)
- } else a = t(a), o = t(o);
- a > o && (o += C);
- for(var V = 0, U = 0; 2 > U; U++) {
- var d = S[U];
- if(d + e > s) {
- var p = Math.atan2(l, d),
- m = r ? 1 : -1;
- 0 > p && (p = C + p), (p >= a && o >= p || p + C >= a && o >= p + C) && (p > Math.PI / 2 && p < 1.5 * Math.PI && (m = -m), V += m)
- }
- }
- return V
- }
- function k(e, t, i, n, a) {
- var o = 0,
- m = 0,
- V = 0,
- U = 0,
- d = 0,
- p = !0,
- c = !0;
- i = i || "fill";
- for(var y = "stroke" === i || "both" === i, k = "fill" === i || "both" === i, x = 0; x < e.length; x++) {
- var _ = e[x],
- L = _.points;
- if(p || "M" === _.command) {
- if(x > 0 && (k && (o += u(m, V, U, d, n, a)), 0 !== o)) return !0;
- U = L[L.length - 2], d = L[L.length - 1], p = !1, c && "A" !== _.command && (c = !1, m = U, V = d)
- }
- switch(_.command) {
- case "M":
- m = L[0], V = L[1];
- break;
- case "L":
- if(y && r(m, V, L[0], L[1], t, n, a)) return !0;
- k && (o += u(m, V, L[0], L[1], n, a)), m = L[0], V = L[1];
- break;
- case "C":
- if(y && s(m, V, L[0], L[1], L[2], L[3], L[4], L[5], t, n, a)) return !0;
- k && (o += g(m, V, L[0], L[1], L[2], L[3], L[4], L[5], n, a)), m = L[4], V = L[5];
- break;
- case "Q":
- if(y && l(m, V, L[0], L[1], L[2], L[3], t, n, a)) return !0;
- k && (o += b(m, V, L[0], L[1], L[2], L[3], n, a)), m = L[2], V = L[3];
- break;
- case "A":
- var W = L[0],
- X = L[1],
- v = L[2],
- w = L[3],
- K = L[4],
- I = L[5],
- J = Math.cos(K) * v + W,
- C = Math.sin(K) * w + X;
- c ? (c = !1, U = J, d = C) : o += u(m, V, J, C);
- var S = (n - W) * w / v + W;
- if(y && h(W, X, w, K, K + I, 1 - L[7], t, S, a)) return !0;
- k && (o += f(W, X, w, K, K + I, 1 - L[7], S, a)), m = Math.cos(K + I) * v + W, V = Math.sin(K + I) * w + X;
- break;
- case "z":
- if(y && r(m, V, U, d, t, n, a)) return !0;
- p = !0
- }
- }
- return k && (o += u(m, V, U, d, n, a)), 0 !== o
- }
- function x(e, t) {
- var i = e + ":" + t;
- if(v[i]) return v[i];
- L = L || W.getContext(), L.save(), t && (L.font = t), e = (e + "").split("\n");
- for(var n = 0, a = 0, o = e.length; o > a; a++) n = Math.max(L.measureText(e[a]).width, n);
- return L.restore(), v[i] = n, ++K > J && (K = 0, v = {}), n
- }
- function _(e, t) {
- var i = e + ":" + t;
- if(w[i]) return w[i];
- L = L || W.getContext(), L.save(), t && (L.font = t), e = (e + "").split("\n");
- var n = (L.measureText("国").width + 2) * e.length;
- return L.restore(), w[i] = n, ++I > J && (I = 0, w = {}), n
- }
- var L, W = e("./util"),
- X = e("./curve"),
- v = {},
- w = {},
- K = 0,
- I = 0,
- J = 5e3,
- C = 2 * Math.PI,
- S = [-1, -1, -1],
- E = [-1, -1];
- return {
- isInside: i,
- isOutside: o,
- getTextWidth: x,
- getTextHeight: _,
- isInsidePath: k,
- isInsidePolygon: c,
- isInsideSector: p,
- isInsideCircle: d,
- isInsideLine: r,
- isInsideRect: U,
- isInsidePolyline: m,
- isInsideCubicStroke: s,
- isInsideQuadraticStroke: l
- }
- }), i("zrender/shape/Base", ["require", "../tool/matrix", "../tool/guid", "../tool/util", "../tool/log", "../mixin/Transformable", "../mixin/Eventful", "../tool/area", "../tool/color"], function(e) {
- function t(t, n, a, o, r, s, l) {
- r && (t.font = r), t.textAlign = s, t.textBaseline = l;
- var h = i(n, a, o, r, s, l);
- n = (n + "").split("\n");
- var m = e("../tool/area").getTextHeight("国", r);
- switch(l) {
- case "top":
- o = h.y;
- break;
- case "bottom":
- o = h.y + m;
- break;
- default:
- o = h.y + m / 2
- }
- for(var V = 0, U = n.length; U > V; V++) t.fillText(n[V], a, o), o += m
- }
- function i(t, i, n, a, o, r) {
- var s = e("../tool/area"),
- l = s.getTextWidth(t, a),
- h = s.getTextHeight("国", a);
- switch(t = (t + "").split("\n"), o) {
- case "end":
- case "right":
- i -= l;
- break;
- case "center":
- i -= l / 2
- }
- switch(r) {
- case "top":
- break;
- case "bottom":
- n -= h * t.length;
- break;
- default:
- n -= h * t.length / 2
- }
- return {
- x: i,
- y: n,
- width: l,
- height: h * t.length
- }
- }
- var n = window.G_vmlCanvasManager,
- a = e("../tool/matrix"),
- o = e("../tool/guid"),
- r = e("../tool/util"),
- s = e("../tool/log"),
- l = e("../mixin/Transformable"),
- h = e("../mixin/Eventful"),
- m = function(e) {
- e = e || {}, this.id = e.id || o();
- for(var t in e) this[t] = e[t];
- this.style = this.style || {}, this.highlightStyle = this.highlightStyle || null, this.parent = null, this.__dirty = !0, this.__clipShapes = [], l.call(this), h.call(this)
- };
- m.prototype.invisible = !1, m.prototype.ignore = !1, m.prototype.zlevel = 0, m.prototype.draggable = !1, m.prototype.clickable = !1, m.prototype.hoverable = !0, m.prototype.z = 0, m.prototype.brush = function(e, t) {
- var i = this.beforeBrush(e, t);
- switch(e.beginPath(), this.buildPath(e, i), i.brushType) {
- case "both":
- e.fill();
- case "stroke":
- i.lineWidth > 0 && e.stroke();
- break;
- default:
- e.fill()
- }
- this.drawText(e, i, this.style), this.afterBrush(e)
- }, m.prototype.beforeBrush = function(e, t) {
- var i = this.style;
- return this.brushTypeOnly && (i.brushType = this.brushTypeOnly), t && (i = this.getHighlightStyle(i, this.highlightStyle || {}, this.brushTypeOnly)), "stroke" == this.brushTypeOnly && (i.strokeColor = i.strokeColor || i.color), e.save(), this.doClip(e), this.setContext(e, i), this.setTransform(e), i
- }, m.prototype.afterBrush = function(e) {
- e.restore()
- };
- var V = [
- ["color", "fillStyle"],
- ["strokeColor", "strokeStyle"],
- ["opacity", "globalAlpha"],
- ["lineCap", "lineCap"],
- ["lineJoin", "lineJoin"],
- ["miterLimit", "miterLimit"],
- ["lineWidth", "lineWidth"],
- ["shadowBlur", "shadowBlur"],
- ["shadowColor", "shadowColor"],
- ["shadowOffsetX", "shadowOffsetX"],
- ["shadowOffsetY", "shadowOffsetY"]
- ];
- m.prototype.setContext = function(e, t) {
- for(var i = 0, n = V.length; n > i; i++) {
- var a = V[i][0],
- o = t[a],
- r = V[i][1];
- "undefined" != typeof o && (e[r] = o)
- }
- };
- var U = a.create();
- return m.prototype.doClip = function(e) {
- if(this.__clipShapes && !n)
- for(var t = 0; t < this.__clipShapes.length; t++) {
- var i = this.__clipShapes[t];
- if(i.needTransform) {
- var o = i.transform;
- a.invert(U, o), e.transform(o[0], o[1], o[2], o[3], o[4], o[5])
- }
- if(e.beginPath(), i.buildPath(e, i.style), e.clip(), i.needTransform) {
- var o = U;
- e.transform(o[0], o[1], o[2], o[3], o[4], o[5])
- }
- }
- }, m.prototype.getHighlightStyle = function(t, i, n) {
- var a = {};
- for(var o in t) a[o] = t[o];
- var r = e("../tool/color"),
- s = r.getHighlightColor();
- "stroke" != t.brushType ? (a.strokeColor = s, a.lineWidth = (t.lineWidth || 1) + this.getHighlightZoom(), a.brushType = "both") : "stroke" != n ? (a.strokeColor = s, a.lineWidth = (t.lineWidth || 1) + this.getHighlightZoom()) : a.strokeColor = i.strokeColor || r.mix(t.strokeColor, r.toRGB(s));
- for(var o in i) "undefined" != typeof i[o] && (a[o] = i[o]);
- return a
- }, m.prototype.getHighlightZoom = function() {
- return "text" != this.type ? 6 : 2
- }, m.prototype.drift = function(e, t) {
- this.position[0] += e, this.position[1] += t
- }, m.prototype.buildPath = function() {
- s("buildPath not implemented in " + this.type)
- }, m.prototype.getRect = function() {
- s("getRect not implemented in " + this.type)
- }, m.prototype.isCover = function(t, i) {
- var n = this.transformCoordToLocal(t, i);
- return t = n[0], i = n[1], this.isCoverRect(t, i) ? e("../tool/area").isInside(this, this.style, t, i) : !1
- }, m.prototype.isCoverRect = function(e, t) {
- var i = this.style.__rect;
- return i || (i = this.style.__rect = this.getRect(this.style)), e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height
- }, m.prototype.drawText = function(e, i, n) {
- if("undefined" != typeof i.text && i.text !== !1) {
- var a = i.textColor || i.color || i.strokeColor;
- e.fillStyle = a;
- var o, r, s, l, h = 10,
- m = i.textPosition || this.textPosition || "top";
- switch(m) {
- case "inside":
- case "top":
- case "bottom":
- case "left":
- case "right":
- if(this.getRect) {
- var V = (n || i).__rect || this.getRect(n || i);
- switch(m) {
- case "inside":
- s = V.x + V.width / 2, l = V.y + V.height / 2, o = "center", r = "middle", "stroke" != i.brushType && a == i.color && (e.fillStyle = "#fff");
- break;
- case "left":
- s = V.x - h, l = V.y + V.height / 2, o = "end", r = "middle";
- break;
- case "right":
- s = V.x + V.width + h, l = V.y + V.height / 2, o = "start", r = "middle";
- break;
- case "top":
- s = V.x + V.width / 2, l = V.y - h, o = "center", r = "bottom";
- break;
- case "bottom":
- s = V.x + V.width / 2, l = V.y + V.height + h, o = "center", r = "top"
- }
- }
- break;
- case "start":
- case "end":
- var U = i.pointList || [
- [i.xStart || 0, i.yStart || 0],
- [i.xEnd || 0, i.yEnd || 0]
- ],
- d = U.length;
- if(2 > d) return;
- var p, c, u, y;
- switch(m) {
- case "start":
- p = U[1][0], c = U[0][0], u = U[1][1], y = U[0][1];
- break;
- case "end":
- p = U[d - 2][0], c = U[d - 1][0], u = U[d - 2][1], y = U[d - 1][1]
- }
- s = c, l = y;
- var g = Math.atan((u - y) / (c - p)) / Math.PI * 180;
- 0 > c - p ? g += 180 : 0 > u - y && (g += 360), h = 5, g >= 30 && 150 >= g ? (o = "center", r = "bottom", l -= h) : g > 150 && 210 > g ? (o = "right", r = "middle", s -= h) : g >= 210 && 330 >= g ? (o = "center", r = "top", l += h) : (o = "left", r = "middle", s += h);
- break;
- case "specific":
- s = i.textX || 0, l = i.textY || 0, o = "start", r = "middle"
- }
- null != s && null != l && t(e, i.text, s, l, i.textFont, i.textAlign || o, i.textBaseline || r)
- }
- }, m.prototype.modSelf = function() {
- this.__dirty = !0, this.style && (this.style.__rect = null), this.highlightStyle && (this.highlightStyle.__rect = null)
- }, m.prototype.isSilent = function() {
- return !(this.hoverable || this.draggable || this.clickable || this.onmousemove || this.onmouseover || this.onmouseout || this.onmousedown || this.onmouseup || this.onclick || this.ondragenter || this.ondragover || this.ondragleave || this.ondrop)
- }, r.merge(m.prototype, l.prototype, !0), r.merge(m.prototype, h.prototype, !0), m
- }), i("zrender/tool/curve", ["require", "./vector"], function(e) {
- function t(e) {
- return e > -u && u > e
- }
- function i(e) {
- return e > u || -u > e
- }
- function n(e, t, i, n, a) {
- var o = 1 - a;
- return o * o * (o * e + 3 * a * t) + a * a * (a * n + 3 * o * i)
- }
- function a(e, t, i, n, a) {
- var o = 1 - a;
- return 3 * (((t - e) * o + 2 * (i - t) * a) * o + (n - i) * a * a)
- }
- function o(e, i, n, a, o, r) {
- var s = a + 3 * (i - n) - e,
- l = 3 * (n - 2 * i + e),
- h = 3 * (i - e),
- m = e - o,
- V = l * l - 3 * s * h,
- U = l * h - 9 * s * m,
- d = h * h - 3 * l * m,
- p = 0;
- if(t(V) && t(U))
- if(t(l)) r[0] = 0;
- else {
- var c = -h / l;
- c >= 0 && 1 >= c && (r[p++] = c)
- }
- else {
- var u = U * U - 4 * V * d;
- if(t(u)) {
- var b = U / V,
- c = -l / s + b,
- f = -b / 2;
- c >= 0 && 1 >= c && (r[p++] = c), f >= 0 && 1 >= f && (r[p++] = f)
- } else if(u > 0) {
- var k = Math.sqrt(u),
- x = V * l + 1.5 * s * (-U + k),
- _ = V * l + 1.5 * s * (-U - k);
- x = 0 > x ? -Math.pow(-x, g) : Math.pow(x, g), _ = 0 > _ ? -Math.pow(-_, g) : Math.pow(_, g);
- var c = (-l - (x + _)) / (3 * s);
- c >= 0 && 1 >= c && (r[p++] = c)
- } else {
- var L = (2 * V * l - 3 * s * U) / (2 * Math.sqrt(V * V * V)),
- W = Math.acos(L) / 3,
- X = Math.sqrt(V),
- v = Math.cos(W),
- c = (-l - 2 * X * v) / (3 * s),
- f = (-l + X * (v + y * Math.sin(W))) / (3 * s),
- w = (-l + X * (v - y * Math.sin(W))) / (3 * s);
- c >= 0 && 1 >= c && (r[p++] = c), f >= 0 && 1 >= f && (r[p++] = f), w >= 0 && 1 >= w && (r[p++] = w)
- }
- }
- return p
- }
- function r(e, n, a, o, r) {
- var s = 6 * a - 12 * n + 6 * e,
- l = 9 * n + 3 * o - 3 * e - 9 * a,
- h = 3 * n - 3 * e,
- m = 0;
- if(t(l)) {
- if(i(s)) {
- var V = -h / s;
- V >= 0 && 1 >= V && (r[m++] = V)
- }
- } else {
- var U = s * s - 4 * l * h;
- if(t(U)) r[0] = -s / (2 * l);
- else if(U > 0) {
- var d = Math.sqrt(U),
- V = (-s + d) / (2 * l),
- p = (-s - d) / (2 * l);
- V >= 0 && 1 >= V && (r[m++] = V), p >= 0 && 1 >= p && (r[m++] = p)
- }
- }
- return m
- }
- function s(e, t, i, n, a, o) {
- var r = (t - e) * a + e,
- s = (i - t) * a + t,
- l = (n - i) * a + i,
- h = (s - r) * a + r,
- m = (l - s) * a + s,
- V = (m - h) * a + h;
- o[0] = e, o[1] = r, o[2] = h, o[3] = V, o[4] = V, o[5] = m, o[6] = l, o[7] = n
- }
- function l(e, t, i, a, o, r, s, l, h, m, V) {
- var U, d = .005,
- p = 1 / 0;
- b[0] = h, b[1] = m;
- for(var y = 0; 1 > y; y += .05) {
- f[0] = n(e, i, o, s, y), f[1] = n(t, a, r, l, y);
- var g = c.distSquare(b, f);
- p > g && (U = y, p = g)
- }
- p = 1 / 0;
- for(var x = 0; 32 > x && !(u > d); x++) {
- var _ = U - d,
- L = U + d;
- f[0] = n(e, i, o, s, _), f[1] = n(t, a, r, l, _);
- var g = c.distSquare(f, b);
- if(_ >= 0 && p > g) U = _, p = g;
- else {
- k[0] = n(e, i, o, s, L), k[1] = n(t, a, r, l, L);
- var W = c.distSquare(k, b);
- 1 >= L && p > W ? (U = L, p = W) : d *= .5
- }
- }
- return V && (V[0] = n(e, i, o, s, U), V[1] = n(t, a, r, l, U)), Math.sqrt(p)
- }
- function h(e, t, i, n) {
- var a = 1 - n;
- return a * (a * e + 2 * n * t) + n * n * i
- }
- function m(e, t, i, n) {
- return 2 * ((1 - n) * (t - e) + n * (i - t))
- }
- function V(e, n, a, o, r) {
- var s = e - 2 * n + a,
- l = 2 * (n - e),
- h = e - o,
- m = 0;
- if(t(s)) {
- if(i(l)) {
- var V = -h / l;
- V >= 0 && 1 >= V && (r[m++] = V)
- }
- } else {
- var U = l * l - 4 * s * h;
- if(t(U)) {
- var V = -l / (2 * s);
- V >= 0 && 1 >= V && (r[m++] = V)
- } else if(U > 0) {
- var d = Math.sqrt(U),
- V = (-l + d) / (2 * s),
- p = (-l - d) / (2 * s);
- V >= 0 && 1 >= V && (r[m++] = V), p >= 0 && 1 >= p && (r[m++] = p)
- }
- }
- return m
- }
- function U(e, t, i) {
- var n = e + i - 2 * t;
- return 0 === n ? .5 : (e - t) / n
- }
- function d(e, t, i, n, a) {
- var o = (t - e) * n + e,
- r = (i - t) * n + t,
- s = (r - o) * n + o;
- a[0] = e, a[1] = o, a[2] = s, a[3] = s, a[4] = r, a[5] = i
- }
- function p(e, t, i, n, a, o, r, s, l) {
- var m, V = .005,
- U = 1 / 0;
- b[0] = r, b[1] = s;
- for(var d = 0; 1 > d; d += .05) {
- f[0] = h(e, i, a, d), f[1] = h(t, n, o, d);
- var p = c.distSquare(b, f);
- U > p && (m = d, U = p)
- }
- U = 1 / 0;
- for(var y = 0; 32 > y && !(u > V); y++) {
- var g = m - V,
- x = m + V;
- f[0] = h(e, i, a, g), f[1] = h(t, n, o, g);
- var p = c.distSquare(f, b);
- if(g >= 0 && U > p) m = g, U = p;
- else {
- k[0] = h(e, i, a, x), k[1] = h(t, n, o, x);
- var _ = c.distSquare(k, b);
- 1 >= x && U > _ ? (m = x, U = _) : V *= .5
- }
- }
- return l && (l[0] = h(e, i, a, m), l[1] = h(t, n, o, m)), Math.sqrt(U)
- }
- var c = e("./vector"),
- u = 1e-4,
- y = Math.sqrt(3),
- g = 1 / 3,
- b = c.create(),
- f = c.create(),
- k = c.create();
- return {
- cubicAt: n,
- cubicDerivativeAt: a,
- cubicRootAt: o,
- cubicExtrema: r,
- cubicSubdivide: s,
- cubicProjectPoint: l,
- quadraticAt: h,
- quadraticDerivativeAt: m,
- quadraticRootAt: V,
- quadraticExtremum: U,
- quadraticSubdivide: d,
- quadraticProjectPoint: p
- }
- }), i("zrender/mixin/Transformable", ["require", "../tool/matrix", "../tool/vector"], function(e) {
- "use strict";
- function t(e) {
- return e > -s && s > e
- }
- function i(e) {
- return e > s || -s > e
- }
- var n = e("../tool/matrix"),
- a = e("../tool/vector"),
- o = [0, 0],
- r = n.translate,
- s = 5e-5,
- l = function() {
- this.position || (this.position = [0, 0]), "undefined" == typeof this.rotation && (this.rotation = [0, 0, 0]), this.scale || (this.scale = [1, 1, 0, 0]), this.needLocalTransform = !1, this.needTransform = !1
- };
- return l.prototype = {
- constructor: l,
- updateNeedTransform: function() {
- this.needLocalTransform = i(this.rotation[0]) || i(this.position[0]) || i(this.position[1]) || i(this.scale[0] - 1) || i(this.scale[1] - 1)
- },
- updateTransform: function() {
- this.updateNeedTransform();
- var e = this.parent && this.parent.needTransform;
- if(this.needTransform = this.needLocalTransform || e, this.needTransform) {
- var t = this.transform || n.create();
- if(n.identity(t), this.needLocalTransform) {
- var a = this.scale;
- if(i(a[0]) || i(a[1])) {
- o[0] = -a[2] || 0, o[1] = -a[3] || 0;
- var s = i(o[0]) || i(o[1]);
- s && r(t, t, o), n.scale(t, t, a), s && (o[0] = -o[0], o[1] = -o[1], r(t, t, o))
- }
- if(this.rotation instanceof Array) {
- if(0 !== this.rotation[0]) {
- o[0] = -this.rotation[1] || 0, o[1] = -this.rotation[2] || 0;
- var s = i(o[0]) || i(o[1]);
- s && r(t, t, o), n.rotate(t, t, this.rotation[0]), s && (o[0] = -o[0], o[1] = -o[1], r(t, t, o))
- }
- } else 0 !== this.rotation && n.rotate(t, t, this.rotation);
- (i(this.position[0]) || i(this.position[1])) && r(t, t, this.position)
- }
- e && (this.needLocalTransform ? n.mul(t, this.parent.transform, t) : n.copy(t, this.parent.transform)), this.transform = t, this.invTransform = this.invTransform || n.create(), n.invert(this.invTransform, t)
- }
- },
- setTransform: function(e) {
- if(this.needTransform) {
- var t = this.transform;
- e.transform(t[0], t[1], t[2], t[3], t[4], t[5])
- }
- },
- lookAt: function() {
- var e = a.create();
- return function(i) {
- this.transform || (this.transform = n.create());
- var o = this.transform;
- if(a.sub(e, i, this.position), !t(e[0]) || !t(e[1])) {
- a.normalize(e, e);
- var r = this.scale;
- o[2] = e[0] * r[1], o[3] = e[1] * r[1], o[0] = e[1] * r[0], o[1] = -e[0] * r[0], o[4] = this.position[0], o[5] = this.position[1], this.decomposeTransform()
- }
- }
- }(),
- decomposeTransform: function() {
- if(this.transform) {
- var e = this.transform,
- t = e[0] * e[0] + e[1] * e[1],
- n = this.position,
- a = this.scale,
- o = this.rotation;
- i(t - 1) && (t = Math.sqrt(t));
- var r = e[2] * e[2] + e[3] * e[3];
- i(r - 1) && (r = Math.sqrt(r)), n[0] = e[4], n[1] = e[5], a[0] = t, a[1] = r, a[2] = a[3] = 0, o[0] = Math.atan2(-e[1] / r, e[0] / t), o[1] = o[2] = 0
- }
- },
- transformCoordToLocal: function(e, t) {
- var i = [e, t];
- return this.needTransform && this.invTransform && a.applyTransform(i, i, this.invTransform), i
- }
- }, l
- }), i("zrender/Group", ["require", "./tool/guid", "./tool/util", "./mixin/Transformable", "./mixin/Eventful"], function(e) {
- var t = e("./tool/guid"),
- i = e("./tool/util"),
- n = e("./mixin/Transformable"),
- a = e("./mixin/Eventful"),
- o = function(e) {
- e = e || {}, this.id = e.id || t();
- for(var i in e) this[i] = e[i];
- this.type = "group", this.clipShape = null, this._children = [], this._storage = null, this.__dirty = !0, n.call(this), a.call(this)
- };
- return o.prototype.ignore = !1, o.prototype.children = function() {
- return this._children.slice()
- }, o.prototype.childAt = function(e) {
- return this._children[e]
- }, o.prototype.addChild = function(e) {
- e != this && e.parent != this && (e.parent && e.parent.removeChild(e), this._children.push(e), e.parent = this, this._storage && this._storage !== e._storage && (this._storage.addToMap(e), e instanceof o && e.addChildrenToStorage(this._storage)))
- }, o.prototype.removeChild = function(e) {
- var t = i.indexOf(this._children, e);
- t >= 0 && this._children.splice(t, 1), e.parent = null, this._storage && (this._storage.delFromMap(e.id), e instanceof o && e.delChildrenFromStorage(this._storage))
- }, o.prototype.clearChildren = function() {
- for(var e = 0; e < this._children.length; e++) {
- var t = this._children[e];
- this._storage && (this._storage.delFromMap(t.id), t instanceof o && t.delChildrenFromStorage(this._storage))
- }
- this._children.length = 0
- }, o.prototype.eachChild = function(e, t) {
- for(var i = !!t, n = 0; n < this._children.length; n++) {
- var a = this._children[n];
- i ? e.call(t, a) : e(a)
- }
- }, o.prototype.traverse = function(e, t) {
- for(var i = !!t, n = 0; n < this._children.length; n++) {
- var a = this._children[n];
- i ? e.call(t, a) : e(a), "group" === a.type && a.traverse(e, t)
- }
- }, o.prototype.addChildrenToStorage = function(e) {
- for(var t = 0; t < this._children.length; t++) {
- var i = this._children[t];
- e.addToMap(i), i instanceof o && i.addChildrenToStorage(e)
- }
- }, o.prototype.delChildrenFromStorage = function(e) {
- for(var t = 0; t < this._children.length; t++) {
- var i = this._children[t];
- e.delFromMap(i.id), i instanceof o && i.delChildrenFromStorage(e)
- }
- }, o.prototype.modSelf = function() {
- this.__dirty = !0
- }, i.merge(o.prototype, n.prototype, !0), i.merge(o.prototype, a.prototype, !0), o
- }), i("zrender/animation/Clip", ["require", "./easing"], function(e) {
- function t(e) {
- this._targetPool = e.target || {}, this._targetPool instanceof Array || (this._targetPool = [this._targetPool]), this._life = e.life || 1e3, this._delay = e.delay || 0, this._startTime = (new Date).getTime() + this._delay, this._endTime = this._startTime + 1e3 * this._life, this.loop = "undefined" == typeof e.loop ? !1 : e.loop, this.gap = e.gap || 0, this.easing = e.easing || "Linear", this.onframe = e.onframe, this.ondestroy = e.ondestroy, this.onrestart = e.onrestart
- }
- var i = e("./easing");
- return t.prototype = {
- step: function(e) {
- var t = (e - this._startTime) / this._life;
- if(!(0 > t)) {
- t = Math.min(t, 1);
- var n = "string" == typeof this.easing ? i[this.easing] : this.easing,
- a = "function" == typeof n ? n(t) : t;
- return this.fire("frame", a), 1 == t ? this.loop ? (this.restart(), "restart") : (this.__needsRemove = !0, "destroy") : null
- }
- },
- restart: function() {
- var e = (new Date).getTime(),
- t = (e - this._startTime) % this._life;
- this._startTime = (new Date).getTime() - t + this.gap, this.__needsRemove = !1
- },
- fire: function(e, t) {
- for(var i = 0, n = this._targetPool.length; n > i; i++) this["on" + e] && this["on" + e](this._targetPool[i], t)
- },
- constructor: t
- }, t
- }), i("zrender/animation/easing", [], function() {
- var e = {
- Linear: function(e) {
- return e
- },
- QuadraticIn: function(e) {
- return e * e
- },
- QuadraticOut: function(e) {
- return e * (2 - e)
- },
- QuadraticInOut: function(e) {
- return(e *= 2) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
- },
- CubicIn: function(e) {
- return e * e * e
- },
- CubicOut: function(e) {
- return --e * e * e + 1
- },
- CubicInOut: function(e) {
- return(e *= 2) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
- },
- QuarticIn: function(e) {
- return e * e * e * e
- },
- QuarticOut: function(e) {
- return 1 - --e * e * e * e
- },
- QuarticInOut: function(e) {
- return(e *= 2) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
- },
- QuinticIn: function(e) {
- return e * e * e * e * e
- },
- QuinticOut: function(e) {
- return --e * e * e * e * e + 1
- },
- QuinticInOut: function(e) {
- return(e *= 2) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
- },
- SinusoidalIn: function(e) {
- return 1 - Math.cos(e * Math.PI / 2)
- },
- SinusoidalOut: function(e) {
- return Math.sin(e * Math.PI / 2)
- },
- SinusoidalInOut: function(e) {
- return .5 * (1 - Math.cos(Math.PI * e))
- },
- ExponentialIn: function(e) {
- return 0 === e ? 0 : Math.pow(1024, e - 1)
- },
- ExponentialOut: function(e) {
- return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
- },
- ExponentialInOut: function(e) {
- return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? .5 * Math.pow(1024, e - 1) : .5 * (-Math.pow(2, -10 * (e - 1)) + 2)
- },
- CircularIn: function(e) {
- return 1 - Math.sqrt(1 - e * e)
- },
- CircularOut: function(e) {
- return Math.sqrt(1 - --e * e)
- },
- CircularInOut: function(e) {
- return(e *= 2) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
- },
- ElasticIn: function(e) {
- var t, i = .1,
- n = .4;
- return 0 === e ? 0 : 1 === e ? 1 : (!i || 1 > i ? (i = 1, t = n / 4) : t = n * Math.asin(1 / i) / (2 * Math.PI), -(i * Math.pow(2, 10 * (e -= 1)) * Math.sin(2 * (e - t) * Math.PI / n)))
- },
- ElasticOut: function(e) {
- var t, i = .1,
- n = .4;
- return 0 === e ? 0 : 1 === e ? 1 : (!i || 1 > i ? (i = 1, t = n / 4) : t = n * Math.asin(1 / i) / (2 * Math.PI), i * Math.pow(2, -10 * e) * Math.sin(2 * (e - t) * Math.PI / n) + 1)
- },
- ElasticInOut: function(e) {
- var t, i = .1,
- n = .4;
- return 0 === e ? 0 : 1 === e ? 1 : (!i || 1 > i ? (i = 1, t = n / 4) : t = n * Math.asin(1 / i) / (2 * Math.PI), (e *= 2) < 1 ? -.5 * i * Math.pow(2, 10 * (e -= 1)) * Math.sin(2 * (e - t) * Math.PI / n) : i * Math.pow(2, -10 * (e -= 1)) * Math.sin(2 * (e - t) * Math.PI / n) * .5 + 1)
- },
- BackIn: function(e) {
- var t = 1.70158;
- return e * e * ((t + 1) * e - t)
- },
- BackOut: function(e) {
- var t = 1.70158;
- return --e * e * ((t + 1) * e + t) + 1
- },
- BackInOut: function(e) {
- var t = 2.5949095;
- return(e *= 2) < 1 ? .5 * e * e * ((t + 1) * e - t) : .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
- },
- BounceIn: function(t) {
- return 1 - e.BounceOut(1 - t)
- },
- BounceOut: function(e) {
- return 1 / 2.75 > e ? 7.5625 * e * e : 2 / 2.75 > e ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : 2.5 / 2.75 > e ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
- },
- BounceInOut: function(t) {
- return .5 > t ? .5 * e.BounceIn(2 * t) : .5 * e.BounceOut(2 * t - 1) + .5
- }
- };
- return e
- }), i("echarts/chart/base", ["require", "zrender/shape/Image", "../util/shape/Icon", "../util/shape/MarkLine", "../util/shape/Symbol", "zrender/shape/Polyline", "zrender/shape/ShapeBundle", "../config", "../util/ecData", "../util/ecAnimation", "../util/ecEffect", "../util/accMath", "../component/base", "../layout/EdgeBundling", "zrender/tool/util", "zrender/tool/area"], function(e) {
- function t(e) {
- return null != e.x && null != e.y
- }
- function i(e, t, i, n, a) {
- p.call(this, e, t, i, n, a);
- var o = this;
- this.selectedMap = {}, this.lastShapeList = [], this.shapeHandler = {
- onclick: function() {
- o.isClick = !0
- },
- ondragover: function(e) {
- var t = e.target;
- t.highlightStyle = t.highlightStyle || {};
- var i = t.highlightStyle,
- n = i.brushTyep,
- a = i.strokeColor,
- r = i.lineWidth;
- i.brushType = "stroke", i.strokeColor = o.ecTheme.calculableColor || h.calculableColor, i.lineWidth = "icon" === t.type ? 30 : 10, o.zr.addHoverShape(t), setTimeout(function() {
- i && (i.brushType = n, i.strokeColor = a, i.lineWidth = r)
- }, 20)
- },
- ondrop: function(e) {
- null != m.get(e.dragged, "data") && (o.isDrop = !0)
- },
- ondragend: function() {
- o.isDragend = !0
- }
- }
- }
- var n = e("zrender/shape/Image"),
- a = e("../util/shape/Icon"),
- o = e("../util/shape/MarkLine"),
- r = e("../util/shape/Symbol"),
- s = e("zrender/shape/Polyline"),
- l = e("zrender/shape/ShapeBundle"),
- h = e("../config"),
- m = e("../util/ecData"),
- V = e("../util/ecAnimation"),
- U = e("../util/ecEffect"),
- d = e("../util/accMath"),
- p = e("../component/base"),
- c = e("../layout/EdgeBundling"),
- u = e("zrender/tool/util"),
- y = e("zrender/tool/area");
- return i.prototype = {
- setCalculable: function(e) {
- return e.dragEnableTime = this.ecTheme.DRAG_ENABLE_TIME || h.DRAG_ENABLE_TIME, e.ondragover = this.shapeHandler.ondragover, e.ondragend = this.shapeHandler.ondragend, e.ondrop = this.shapeHandler.ondrop, e
- },
- ondrop: function(e, t) {
- if(this.isDrop && e.target && !t.dragIn) {
- var i, n = e.target,
- a = e.dragged,
- o = m.get(n, "seriesIndex"),
- r = m.get(n, "dataIndex"),
- s = this.series,
- l = this.component.legend;
- if(-1 === r) {
- if(m.get(a, "seriesIndex") == o) return t.dragOut = t.dragIn = t.needRefresh = !0, void(this.isDrop = !1);
- i = {
- value: m.get(a, "value"),
- name: m.get(a, "name")
- }, this.type === h.CHART_TYPE_PIE && i.value < 0 && (i.value = 0);
- for(var V = !1, U = s[o].data, p = 0, c = U.length; c > p; p++) U[p].name === i.name && "-" === U[p].value && (s[o].data[p].value = i.value, V = !0);
- !V && s[o].data.push(i), l && l.add(i.name, a.style.color || a.style.strokeColor)
- } else i = s[o].data[r] || "-", null != i.value ? (s[o].data[r].value = "-" != i.value ? d.accAdd(s[o].data[r].value, m.get(a, "value")) : m.get(a, "value"), (this.type === h.CHART_TYPE_FUNNEL || this.type === h.CHART_TYPE_PIE) && (l && 1 === l.getRelatedAmount(i.name) && this.component.legend.del(i.name), i.name += this.option.nameConnector + m.get(a, "name"), l && l.add(i.name, a.style.color || a.style.strokeColor))) : s[o].data[r] = "-" != i ? d.accAdd(s[o].data[r], m.get(a, "value")) : m.get(a, "value");
- t.dragIn = t.dragIn || !0, this.isDrop = !1;
- var u = this;
- setTimeout(function() {
- u.zr.trigger("mousemove", e.event)
- }, 300)
- }
- },
- ondragend: function(e, t) {
- if(this.isDragend && e.target && !t.dragOut) {
- var i = e.target,
- n = m.get(i, "seriesIndex"),
- a = m.get(i, "dataIndex"),
- o = this.series;
- if(null != o[n].data[a].value) {
- o[n].data[a].value = "-";
- var r = o[n].data[a].name,
- s = this.component.legend;
- s && 0 === s.getRelatedAmount(r) && s.del(r)
- } else o[n].data[a] = "-";
- t.dragOut = !0, t.needRefresh = !0, this.isDragend = !1
- }
- },
- onlegendSelected: function(e, t) {
- var i = e.selected;
- for(var n in this.selectedMap) this.selectedMap[n] != i[n] && (t.needRefresh = !0), this.selectedMap[n] = i[n]
- },
- _buildPosition: function() {
- this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this._sIndex2ColorMap = {}, this.selectedMap = {}, this.xMarkMap = {};
- for(var e, t, i, n, a = this.series, o = {
- top: [],
- bottom: [],
- left: [],
- right: [],
- other: []
- }, r = 0, s = a.length; s > r; r++) a[r].type === this.type && (a[r] = this.reformOption(a[r]), this.legendHoverLink = a[r].legendHoverLink || this.legendHoverLink, e = a[r].xAxisIndex, t = a[r].yAxisIndex, i = this.component.xAxis.getAxis(e), n = this.component.yAxis.getAxis(t), i.type === h.COMPONENT_TYPE_AXIS_CATEGORY ? o[i.getPosition()].push(r) : n.type === h.COMPONENT_TYPE_AXIS_CATEGORY ? o[n.getPosition()].push(r) : o.other.push(r));
- for(var l in o) o[l].length > 0 && this._buildSinglePosition(l, o[l]);
- this.addShapeList()
- },
- _buildSinglePosition: function(e, t) {
- var i = this._mapData(t),
- n = i.locationMap,
- a = i.maxDataLength;
- if(0 !== a && 0 !== n.length) {
- switch(e) {
- case "bottom":
- case "top":
- this._buildHorizontal(t, a, n, this.xMarkMap);
- break;
- case "left":
- case "right":
- this._buildVertical(t, a, n, this.xMarkMap);
- break;
- case "other":
- this._buildOther(t, a, n, this.xMarkMap)
- }
- for(var o = 0, r = t.length; r > o; o++) this.buildMark(t[o])
- }
- },
- _mapData: function(e) {
- for(var t, i, n, a, o = this.series, r = 0, s = {}, l = "__kener__stack__", m = this.component.legend, V = [], U = 0, d = 0, p = e.length; p > d; d++) {
- if(t = o[e[d]], n = t.name, this._sIndex2ShapeMap[e[d]] = this._sIndex2ShapeMap[e[d]] || this.query(t, "symbol") || this._symbol[d % this._symbol.length], m) {
- if(this.selectedMap[n] = m.isSelected(n), this._sIndex2ColorMap[e[d]] = m.getColor(n), a = m.getItemShape(n)) {
- var c = a.style;
- if(this.type == h.CHART_TYPE_LINE) c.iconType = "legendLineIcon", c.symbol = this._sIndex2ShapeMap[e[d]];
- else if(t.itemStyle.normal.barBorderWidth > 0) {
- var u = a.highlightStyle;
- c.brushType = "both", c.x += 1, c.y += 1, c.width -= 2, c.height -= 2, c.strokeColor = u.strokeColor = t.itemStyle.normal.barBorderColor, u.lineWidth = 3
- }
- m.setItemShape(n, a)
- }
- } else this.selectedMap[n] = !0, this._sIndex2ColorMap[e[d]] = this.zr.getColor(e[d]);
- this.selectedMap[n] && (i = t.stack || l + e[d], null == s[i] ? (s[i] = r, V[r] = [e[d]], r++) : V[s[i]].push(e[d])), U = Math.max(U, t.data.length)
- }
- return {
- locationMap: V,
- maxDataLength: U
- }
- },
- _calculMarkMapXY: function(e, t, i) {
- for(var n = this.series, a = 0, o = t.length; o > a; a++)
- for(var r = 0, s = t[a].length; s > r; r++) {
- var l = t[a][r],
- h = "xy" == i ? 0 : "",
- m = this.component.grid,
- V = e[l];
- if("-1" != i.indexOf("x")) {
- V["counter" + h] > 0 && (V["average" + h] = V["sum" + h] / V["counter" + h]);
- var U = this.component.xAxis.getAxis(n[l].xAxisIndex || 0).getCoord(V["average" + h]);
- V["averageLine" + h] = [
- [U, m.getYend()],
- [U, m.getY()]
- ], V["minLine" + h] = [
- [V["minX" + h], m.getYend()],
- [V["minX" + h], m.getY()]
- ], V["maxLine" + h] = [
- [V["maxX" + h], m.getYend()],
- [V["maxX" + h], m.getY()]
- ], V.isHorizontal = !1
- }
- if(h = "xy" == i ? 1 : "", "-1" != i.indexOf("y")) {
- V["counter" + h] > 0 && (V["average" + h] = V["sum" + h] / V["counter" + h]);
- var d = this.component.yAxis.getAxis(n[l].yAxisIndex || 0).getCoord(V["average" + h]);
- V["averageLine" + h] = [
- [m.getX(), d],
- [m.getXend(), d]
- ], V["minLine" + h] = [
- [m.getX(), V["minY" + h]],
- [m.getXend(), V["minY" + h]]
- ], V["maxLine" + h] = [
- [m.getX(), V["maxY" + h]],
- [m.getXend(), V["maxY" + h]]
- ], V.isHorizontal = !0
- }
- }
- },
- addLabel: function(e, t, i, n, a) {
- var o = [i, t],
- r = this.deepMerge(o, "itemStyle.normal.label"),
- s = this.deepMerge(o, "itemStyle.emphasis.label"),
- l = r.textStyle || {},
- h = s.textStyle || {};
- if(r.show) {
- var m = e.style;
- m.text = this._getLabelText(t, i, n, "normal"), m.textPosition = null == r.position ? "horizontal" === a ? "right" : "top" : r.position, m.textColor = l.color, m.textFont = this.getFont(l), m.textAlign = l.align, m.textBaseline = l.baseline
- }
- if(s.show) {
- var V = e.highlightStyle;
- V.text = this._getLabelText(t, i, n, "emphasis"), V.textPosition = r.show ? e.style.textPosition : null == s.position ? "horizontal" === a ? "right" : "top" : s.position, V.textColor = h.color, V.textFont = this.getFont(h), V.textAlign = h.align, V.textBaseline = h.baseline
- }
- return e
- },
- _getLabelText: function(e, t, i, n) {
- var a = this.deepQuery([t, e], "itemStyle." + n + ".label.formatter");
- a || "emphasis" !== n || (a = this.deepQuery([t, e], "itemStyle.normal.label.formatter"));
- var o = this.getDataFromOption(t, "-");
- return a ? "function" == typeof a ? a.call(this.myChart, {
- seriesName: e.name,
- series: e,
- name: i,
- value: o,
- data: t,
- status: n
- }) : "string" == typeof a ? a = a.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{a0}", e.name).replace("{b0}", i).replace("{c0}", this.numAddCommas(o)) : void 0 : o instanceof Array ? null != o[2] ? this.numAddCommas(o[2]) : o[0] + " , " + o[1] : this.numAddCommas(o)
- },
- buildMark: function(e) {
- var t = this.series[e];
- this.selectedMap[t.name] && (t.markLine && this._buildMarkLine(e), t.markPoint && this._buildMarkPoint(e))
- },
- _buildMarkPoint: function(e) {
- for(var t, i, n = (this.markAttachStyle || {})[e], a = this.series[e], o = u.clone(a.markPoint), r = 0, s = o.data.length; s > r; r++) t = o.data[r], i = this.getMarkCoord(e, t), t.x = null != t.x ? t.x : i[0], t.y = null != t.y ? t.y : i[1], !t.type || "max" !== t.type && "min" !== t.type || (t.value = i[3], t.name = t.name || t.type, t.symbolSize = t.symbolSize || y.getTextWidth(i[3], this.getFont()) / 2 + 5);
- for(var l = this._markPoint(e, o), r = 0, s = l.length; s > r; r++) {
- var m = l[r];
- m.zlevel = a.zlevel, m.z = a.z + 1;
- for(var V in n) m[V] = u.clone(n[V]);
- this.shapeList.push(m)
- }
- if(this.type === h.CHART_TYPE_FORCE || this.type === h.CHART_TYPE_CHORD)
- for(var r = 0, s = l.length; s > r; r++) this.zr.addShape(l[r])
- },
- _buildMarkLine: function(e) {
- for(var t, i = (this.markAttachStyle || {})[e], n = this.series[e], a = u.clone(n.markLine), o = 0, r = a.data.length; r > o; o++) {
- var s = a.data[o];
- !s.type || "max" !== s.type && "min" !== s.type && "average" !== s.type ? t = [this.getMarkCoord(e, s[0]), this.getMarkCoord(e, s[1])] : (t = this.getMarkCoord(e, s), a.data[o] = [u.clone(s), {}], a.data[o][0].name = s.name || s.type, a.data[o][0].value = "average" !== s.type ? t[3] : +t[3].toFixed(null != a.precision ? a.precision : this.deepQuery([this.ecTheme, h], "markLine.precision")), t = t[2], s = [{}, {}]), null != t && null != t[0] && null != t[1] && (a.data[o][0].x = null != s[0].x ? s[0].x : t[0][0], a.data[o][0].y = null != s[0].y ? s[0].y : t[0][1], a.data[o][1].x = null != s[1].x ? s[1].x : t[1][0], a.data[o][1].y = null != s[1].y ? s[1].y : t[1][1])
- }
- var m = this._markLine(e, a),
- V = a.large;
- if(V) {
- var U = new l({
- style: {
- shapeList: m
- }
- }),
- d = m[0];
- if(d) {
- u.merge(U.style, d.style), u.merge(U.highlightStyle = {}, d.highlightStyle), U.style.brushType = "stroke", U.zlevel = n.zlevel, U.z = n.z + 1, U.hoverable = !1;
- for(var p in i) U[p] = u.clone(i[p])
- }
- this.shapeList.push(U), this.zr.addShape(U), U._mark = "largeLine";
- var c = a.effect;
- c.show && (U.effect = c)
- } else {
- for(var o = 0, r = m.length; r > o; o++) {
- var y = m[o];
- y.zlevel = n.zlevel, y.z = n.z + 1;
- for(var p in i) y[p] = u.clone(i[p]);
- this.shapeList.push(y)
- }
- if(this.type === h.CHART_TYPE_FORCE || this.type === h.CHART_TYPE_CHORD)
- for(var o = 0, r = m.length; r > o; o++) this.zr.addShape(m[o])
- }
- },
- _markPoint: function(e, t) {
- var i = this.series[e],
- n = this.component;
- u.merge(u.merge(t, u.clone(this.ecTheme.markPoint || {})), u.clone(h.markPoint)), t.name = i.name;
- var a, o, r, s, l, V, U, d = [],
- p = t.data,
- c = n.dataRange,
- y = n.legend,
- g = this.zr.getWidth(),
- b = this.zr.getHeight();
- if(t.large) a = this.getLargeMarkPointShape(e, t), a._mark = "largePoint", a && d.push(a);
- else
- for(var f = 0, k = p.length; k > f; f++) null != p[f].x && null != p[f].y && (r = null != p[f].value ? p[f].value : "", y && (o = y.getColor(i.name)), c && (o = isNaN(r) ? o : c.getColor(r), s = [p[f], t], l = this.deepQuery(s, "itemStyle.normal.color") || o, V = this.deepQuery(s, "itemStyle.emphasis.color") || l, null == l && null == V) || (o = null == o ? this.zr.getColor(e) : o, p[f].tooltip = p[f].tooltip || t.tooltip || {
- trigger: "item"
- }, p[f].name = null != p[f].name ? p[f].name : "", p[f].value = r, a = this.getSymbolShape(t, e, p[f], f, p[f].name, this.parsePercent(p[f].x, g), this.parsePercent(p[f].y, b), "pin", o, "rgba(0,0,0,0)", "horizontal"), a._mark = "point", U = this.deepMerge([p[f], t], "effect"), U.show && (a.effect = U), i.type === h.CHART_TYPE_MAP && (a._geo = this.getMarkGeo(p[f])), m.pack(a, i, e, p[f], f, p[f].name, r), d.push(a)));
- return d
- },
- _markLine: function() {
- function e(e, t) {
- e[t] = e[t] instanceof Array ? e[t].length > 1 ? e[t] : [e[t][0], e[t][0]] : [e[t], e[t]]
- }
- return function(i, n) {
- var a = this.series[i],
- o = this.component,
- r = o.dataRange,
- s = o.legend;
- u.merge(u.merge(n, u.clone(this.ecTheme.markLine || {})), u.clone(h.markLine));
- var l = s ? s.getColor(a.name) : this.zr.getColor(i);
- e(n, "symbol"), e(n, "symbolSize"), e(n, "symbolRotate");
- for(var V = n.data, U = [], d = this.zr.getWidth(), p = this.zr.getHeight(), y = 0; y < V.length; y++) {
- var g = V[y];
- if(t(g[0]) && t(g[1])) {
- var b = this.deepMerge(g),
- f = [b, n],
- k = l,
- x = null != b.value ? b.value : "";
- if(r) {
- k = isNaN(x) ? k : r.getColor(x);
- var _ = this.deepQuery(f, "itemStyle.normal.color") || k,
- L = this.deepQuery(f, "itemStyle.emphasis.color") || _;
- if(null == _ && null == L) continue
- }
- g[0].tooltip = b.tooltip || n.tooltip || {
- trigger: "item"
- }, g[0].name = g[0].name || "", g[1].name = g[1].name || "", g[0].value = x, U.push({
- points: [
- [this.parsePercent(g[0].x, d), this.parsePercent(g[0].y, p)],
- [this.parsePercent(g[1].x, d), this.parsePercent(g[1].y, p)]
- ],
- rawData: g,
- color: k
- })
- }
- }
- var W = this.query(n, "bundling.enable");
- if(W) {
- var X = new c;
- X.maxTurningAngle = this.query(n, "bundling.maxTurningAngle") / 180 * Math.PI, U = X.run(U)
- }
- n.name = a.name;
- for(var v = [], y = 0, w = U.length; w > y; y++) {
- var K = U[y],
- I = K.rawEdge || K,
- g = I.rawData,
- x = null != g.value ? g.value : "",
- J = this.getMarkLineShape(n, i, g, y, K.points, W, I.color);
- J._mark = "line";
- var C = this.deepMerge([g[0], g[1], n], "effect");
- C.show && (J.effect = C, J.effect.large = n.large), a.type === h.CHART_TYPE_MAP && (J._geo = [this.getMarkGeo(g[0]), this.getMarkGeo(g[1])]), m.pack(J, a, i, g[0], y, g[0].name + ("" !== g[1].name ? " > " + g[1].name : ""), x), v.push(J)
- }
- return v
- }
- }(),
- getMarkCoord: function() {
- return [0, 0]
- },
- getSymbolShape: function(e, t, i, o, r, s, l, h, V, U, d) {
- var p = [i, e],
- c = this.getDataFromOption(i, "-");
- h = this.deepQuery(p, "symbol") || h;
- var u = this.deepQuery(p, "symbolSize");
- u = "function" == typeof u ? u(c) : u, "number" == typeof u && (u = [u, u]);
- var y = this.deepQuery(p, "symbolRotate"),
- g = this.deepMerge(p, "itemStyle.normal"),
- b = this.deepMerge(p, "itemStyle.emphasis"),
- f = null != g.borderWidth ? g.borderWidth : g.lineStyle && g.lineStyle.width;
- null == f && (f = h.match("empty") ? 2 : 0);
- var k = null != b.borderWidth ? b.borderWidth : b.lineStyle && b.lineStyle.width;
- null == k && (k = f + 2);
- var x = this.getItemStyleColor(g.color, t, o, i),
- _ = this.getItemStyleColor(b.color, t, o, i),
- L = u[0],
- W = u[1],
- X = new a({
- style: {
- iconType: h.replace("empty", "").toLowerCase(),
- x: s - L,
- y: l - W,
- width: 2 * L,
- height: 2 * W,
- brushType: "both",
- color: h.match("empty") ? U : x || V,
- strokeColor: g.borderColor || x || V,
- lineWidth: f
- },
- highlightStyle: {
- color: h.match("empty") ? U : _ || x || V,
- strokeColor: b.borderColor || g.borderColor || _ || x || V,
- lineWidth: k
- },
- clickable: this.deepQuery(p, "clickable")
- });
- return h.match("image") && (X.style.image = h.replace(new RegExp("^image:\\/\\/"), ""), X = new n({
- style: X.style,
- highlightStyle: X.highlightStyle,
- clickable: this.deepQuery(p, "clickable")
- })), null != y && (X.rotation = [y * Math.PI / 180, s, l]), h.match("star") && (X.style.iconType = "star", X.style.n = h.replace("empty", "").replace("star", "") - 0 || 5), "none" === h && (X.invisible = !0, X.hoverable = !1), X = this.addLabel(X, e, i, r, d), h.match("empty") && (null == X.style.textColor && (X.style.textColor = X.style.strokeColor), null == X.highlightStyle.textColor && (X.highlightStyle.textColor = X.highlightStyle.strokeColor)), m.pack(X, e, t, i, o, r), X._x = s, X._y = l, X._dataIndex = o, X._seriesIndex = t, X
- },
- getMarkLineShape: function(e, t, i, n, a, r, l) {
- var h = null != i[0].value ? i[0].value : "-",
- m = null != i[1].value ? i[1].value : "-",
- V = [i[0].symbol || e.symbol[0], i[1].symbol || e.symbol[1]],
- U = [i[0].symbolSize || e.symbolSize[0], i[1].symbolSize || e.symbolSize[1]];
- U[0] = "function" == typeof U[0] ? U[0](h) : U[0], U[1] = "function" == typeof U[1] ? U[1](m) : U[1];
- var d = [this.query(i[0], "symbolRotate") || e.symbolRotate[0], this.query(i[1], "symbolRotate") || e.symbolRotate[1]],
- p = [i[0], i[1], e],
- c = this.deepMerge(p, "itemStyle.normal");
- c.color = this.getItemStyleColor(c.color, t, n, i);
- var u = this.deepMerge(p, "itemStyle.emphasis");
- u.color = this.getItemStyleColor(u.color, t, n, i);
- var y = c.lineStyle,
- g = u.lineStyle,
- b = y.width;
- null == b && (b = c.borderWidth);
- var f = g.width;
- null == f && (f = null != u.borderWidth ? u.borderWidth : b + 2);
- var k = this.deepQuery(p, "smoothness");
- this.deepQuery(p, "smooth") || (k = 0);
- var x = r ? s : o,
- _ = new x({
- style: {
- symbol: V,
- symbolSize: U,
- symbolRotate: d,
- brushType: "both",
- lineType: y.type,
- shadowColor: y.shadowColor || y.color || c.borderColor || c.color || l,
- shadowBlur: y.shadowBlur,
- shadowOffsetX: y.shadowOffsetX,
- shadowOffsetY: y.shadowOffsetY,
- color: c.color || l,
- strokeColor: y.color || c.borderColor || c.color || l,
- lineWidth: b,
- symbolBorderColor: c.borderColor || c.color || l,
- symbolBorder: c.borderWidth
- },
- highlightStyle: {
- shadowColor: g.shadowColor,
- shadowBlur: g.shadowBlur,
- shadowOffsetX: g.shadowOffsetX,
- shadowOffsetY: g.shadowOffsetY,
- color: u.color || c.color || l,
- strokeColor: g.color || y.color || u.borderColor || c.borderColor || u.color || c.color || l,
- lineWidth: f,
- symbolBorderColor: u.borderColor || c.borderColor || u.color || c.color || l,
- symbolBorder: null == u.borderWidth ? c.borderWidth + 2 : u.borderWidth
- },
- clickable: this.deepQuery(p, "clickable")
- }),
- L = _.style;
- return r ? (L.pointList = a, L.smooth = k) : (L.xStart = a[0][0], L.yStart = a[0][1], L.xEnd = a[1][0], L.yEnd = a[1][1], L.curveness = k, _.updatePoints(_.style)), _ = this.addLabel(_, e, i[0], i[0].name + " : " + i[1].name)
- },
- getLargeMarkPointShape: function(e, t) {
- var i, n, a, o, s, l, h = this.series[e],
- m = this.component,
- V = t.data,
- U = m.dataRange,
- d = m.legend,
- p = [V[0], t];
- if(d && (n = d.getColor(h.name)), !U || (a = null != V[0].value ? V[0].value : "", n = isNaN(a) ? n : U.getColor(a), o = this.deepQuery(p, "itemStyle.normal.color") || n, s = this.deepQuery(p, "itemStyle.emphasis.color") || o, null != o || null != s)) {
- n = this.deepMerge(p, "itemStyle.normal").color || n;
- var c = this.deepQuery(p, "symbol") || "circle";
- c = c.replace("empty", "").replace(/\d/g, ""), l = this.deepMerge([V[0], t], "effect");
- var u = window.devicePixelRatio || 1;
- return i = new r({
- style: {
- pointList: V,
- color: n,
- strokeColor: n,
- shadowColor: l.shadowColor || n,
- shadowBlur: (null != l.shadowBlur ? l.shadowBlur : 8) * u,
- size: this.deepQuery(p, "symbolSize"),
- iconType: c,
- brushType: "fill",
- lineWidth: 1
- },
- draggable: !1,
- hoverable: !1
- }), l.show && (i.effect = l), i
- }
- },
- backupShapeList: function() {
- this.shapeList && this.shapeList.length > 0 ? (this.lastShapeList = this.shapeList, this.shapeList = []) : this.lastShapeList = []
- },
- addShapeList: function() {
- var e, t, i = this.option.animationThreshold / (this.canvasSupported ? 2 : 4),
- n = this.lastShapeList,
- a = this.shapeList,
- o = n.length > 0,
- r = o ? this.query(this.option, "animationDurationUpdate") : this.query(this.option, "animationDuration"),
- s = this.query(this.option, "animationEasing"),
- l = {},
- m = {};
- if(this.option.animation && !this.option.renderAsImage && a.length < i && !this.motionlessOnce) {
- for(var V = 0, U = n.length; U > V; V++) t = this._getAnimationKey(n[V]), t.match("undefined") ? this.zr.delShape(n[V].id) : (t += n[V].type, l[t] ? this.zr.delShape(n[V].id) : l[t] = n[V]);
- for(var V = 0, U = a.length; U > V; V++) t = this._getAnimationKey(a[V]), t.match("undefined") ? this.zr.addShape(a[V]) : (t += a[V].type, m[t] = a[V]);
- for(t in l) m[t] || this.zr.delShape(l[t].id);
- for(t in m) l[t] ? (this.zr.delShape(l[t].id), this._animateMod(l[t], m[t], r, s, 0, o)) : (e = this.type != h.CHART_TYPE_LINE && this.type != h.CHART_TYPE_RADAR || 0 === t.indexOf("icon") ? 0 : r / 2, this._animateMod(!1, m[t], r, s, e, o));
- this.zr.refresh(), this.animationEffect()
- } else {
- this.motionlessOnce = !1, this.zr.delShape(n);
- for(var V = 0, U = a.length; U > V; V++) this.zr.addShape(a[V])
- }
- },
- _getAnimationKey: function(e) {
- return this.type != h.CHART_TYPE_MAP && this.type != h.CHART_TYPE_TREEMAP && this.type != h.CHART_TYPE_VENN && this.type != h.CHART_TYPE_TREE ? m.get(e, "seriesIndex") + "_" + m.get(e, "dataIndex") + (e._mark ? e._mark : "") + (this.type === h.CHART_TYPE_RADAR ? m.get(e, "special") : "") : m.get(e, "seriesIndex") + "_" + m.get(e, "dataIndex") + (e._mark ? e._mark : "undefined")
- },
- _animateMod: function(e, t, i, n, a, o) {
- switch(t.type) {
- case "polyline":
- case "half-smooth-polygon":
- V.pointList(this.zr, e, t, i, n);
- break;
- case "rectangle":
- V.rectangle(this.zr, e, t, i, n);
- break;
- case "image":
- case "icon":
- V.icon(this.zr, e, t, i, n, a);
- break;
- case "candle":
- o ? this.zr.addShape(t) : V.candle(this.zr, e, t, i, n);
- break;
- case "ring":
- case "sector":
- case "circle":
- o ? "sector" === t.type ? V.sector(this.zr, e, t, i, n) : this.zr.addShape(t) : V.ring(this.zr, e, t, i + (m.get(t, "dataIndex") || 0) % 20 * 100, n);
- break;
- case "text":
- V.text(this.zr, e, t, i, n);
- break;
- case "polygon":
- o ? V.pointList(this.zr, e, t, i, n) : V.polygon(this.zr, e, t, i, n);
- break;
- case "ribbon":
- V.ribbon(this.zr, e, t, i, n);
- break;
- case "gauge-pointer":
- V.gaugePointer(this.zr, e, t, i, n);
- break;
- case "mark-line":
- V.markline(this.zr, e, t, i, n);
- break;
- case "bezier-curve":
- case "line":
- V.line(this.zr, e, t, i, n);
- break;
- default:
- this.zr.addShape(t)
- }
- },
- animationMark: function(e, t, i) {
- for(var i = i || this.shapeList, n = 0, a = i.length; a > n; n++) i[n]._mark && this._animateMod(!1, i[n], e, t, 0, !0);
- this.animationEffect(i)
- },
- animationEffect: function(e) {
- if(!e && this.clearEffectShape(), e = e || this.shapeList, null != e) {
- var t = h.EFFECT_ZLEVEL;
- this.canvasSupported && this.zr.modLayer(t, {
- motionBlur: !0,
- lastFrameAlpha: this.option.effectBlendAlpha || h.effectBlendAlpha
- });
- for(var i, n = 0, a = e.length; a > n; n++) i = e[n], i._mark && i.effect && i.effect.show && U[i._mark] && (U[i._mark](this.zr, this.effectList, i, t), this.effectList[this.effectList.length - 1]._mark = i._mark)
- }
- },
- clearEffectShape: function(e) {
- var t = this.effectList;
- if(this.zr && t && t.length > 0) {
- e && this.zr.modLayer(h.EFFECT_ZLEVEL, {
- motionBlur: !1
- }), this.zr.delShape(t);
- for(var i = 0; i < t.length; i++) t[i].effectAnimator && t[i].effectAnimator.stop()
- }
- this.effectList = []
- },
- addMark: function(e, t, i) {
- var n = this.series[e];
- if(this.selectedMap[n.name]) {
- var a = this.query(this.option, "animationDurationUpdate"),
- o = this.query(this.option, "animationEasing"),
- r = n[i].data,
- s = this.shapeList.length;
- if(n[i].data = t.data, this["_build" + i.replace("m", "M")](e), this.option.animation && !this.option.renderAsImage) this.animationMark(a, o, this.shapeList.slice(s));
- else {
- for(var l = s, h = this.shapeList.length; h > l; l++) this.zr.addShape(this.shapeList[l]);
- this.zr.refreshNextFrame()
- }
- n[i].data = r
- }
- },
- delMark: function(e, t, i) {
- i = i.replace("mark", "").replace("large", "").toLowerCase();
- var n = this.series[e];
- if(this.selectedMap[n.name]) {
- for(var a = !1, o = [this.shapeList, this.effectList], r = 2; r--;)
- for(var s = 0, l = o[r].length; l > s; s++)
- if(o[r][s]._mark == i && m.get(o[r][s], "seriesIndex") == e && m.get(o[r][s], "name") == t) {
- this.zr.delShape(o[r][s].id), o[r].splice(s, 1), a = !0;
- break
- }
- a && this.zr.refreshNextFrame()
- }
- }
- }, u.inherits(i, p), i
- }), i("zrender/shape/Circle", ["require", "./Base", "../tool/util"], function(e) {
- "use strict";
- var t = e("./Base"),
- i = function(e) {
- t.call(this, e)
- };
- return i.prototype = {
- type: "circle",
- buildPath: function(e, t) {
- e.moveTo(t.x + t.r, t.y), e.arc(t.x, t.y, t.r, 0, 2 * Math.PI, !0)
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t;
- return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
- x: Math.round(e.x - e.r - t / 2),
- y: Math.round(e.y - e.r - t / 2),
- width: 2 * e.r + t,
- height: 2 * e.r + t
- }, e.__rect
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("echarts/util/accMath", [], function() {
- function e(e, t) {
- var i = e.toString(),
- n = t.toString(),
- a = 0;
- try {
- a = n.split(".")[1].length
- } catch(o) {}
- try {
- a -= i.split(".")[1].length
- } catch(o) {}
- return(i.replace(".", "") - 0) / (n.replace(".", "") - 0) * Math.pow(10, a)
- }
- function t(e, t) {
- var i = e.toString(),
- n = t.toString(),
- a = 0;
- try {
- a += i.split(".")[1].length
- } catch(o) {}
- try {
- a += n.split(".")[1].length
- } catch(o) {}
- return(i.replace(".", "") - 0) * (n.replace(".", "") - 0) / Math.pow(10, a)
- }
- function i(e, t) {
- var i = 0,
- n = 0;
- try {
- i = e.toString().split(".")[1].length
- } catch(a) {}
- try {
- n = t.toString().split(".")[1].length
- } catch(a) {}
- var o = Math.pow(10, Math.max(i, n));
- return(Math.round(e * o) + Math.round(t * o)) / o
- }
- function n(e, t) {
- return i(e, -t)
- }
- return {
- accDiv: e,
- accMul: t,
- accAdd: i,
- accSub: n
- }
- }), i("echarts/util/shape/Icon", ["require", "zrender/tool/util", "zrender/shape/Star", "zrender/shape/Heart", "zrender/shape/Droplet", "zrender/shape/Image", "zrender/shape/Base"], function(e) {
- function t(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i, n + t.height), e.lineTo(i + 5 * a, n + 14 * o), e.lineTo(i + t.width, n + 3 * o), e.lineTo(i + 13 * a, n), e.lineTo(i + 2 * a, n + 11 * o), e.lineTo(i, n + t.height), e.moveTo(i + 6 * a, n + 10 * o), e.lineTo(i + 14 * a, n + 2 * o), e.moveTo(i + 10 * a, n + 13 * o), e.lineTo(i + t.width, n + 13 * o), e.moveTo(i + 13 * a, n + 10 * o), e.lineTo(i + 13 * a, n + t.height)
- }
- function i(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i, n + t.height), e.lineTo(i + 5 * a, n + 14 * o), e.lineTo(i + t.width, n + 3 * o), e.lineTo(i + 13 * a, n), e.lineTo(i + 2 * a, n + 11 * o), e.lineTo(i, n + t.height), e.moveTo(i + 6 * a, n + 10 * o), e.lineTo(i + 14 * a, n + 2 * o), e.moveTo(i + 10 * a, n + 13 * o), e.lineTo(i + t.width, n + 13 * o)
- }
- function n(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i + 4 * a, n + 15 * o), e.lineTo(i + 9 * a, n + 13 * o), e.lineTo(i + 14 * a, n + 8 * o), e.lineTo(i + 11 * a, n + 5 * o), e.lineTo(i + 6 * a, n + 10 * o), e.lineTo(i + 4 * a, n + 15 * o), e.moveTo(i + 5 * a, n), e.lineTo(i + 11 * a, n), e.moveTo(i + 5 * a, n + o), e.lineTo(i + 11 * a, n + o), e.moveTo(i, n + 2 * o), e.lineTo(i + t.width, n + 2 * o), e.moveTo(i, n + 5 * o), e.lineTo(i + 3 * a, n + t.height), e.lineTo(i + 13 * a, n + t.height), e.lineTo(i + t.width, n + 5 * o)
- }
- function a(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i, n + 3 * o), e.lineTo(i + 6 * a, n + 3 * o), e.moveTo(i + 3 * a, n), e.lineTo(i + 3 * a, n + 6 * o), e.moveTo(i + 3 * a, n + 8 * o), e.lineTo(i + 3 * a, n + t.height), e.lineTo(i + t.width, n + t.height), e.lineTo(i + t.width, n + 3 * o), e.lineTo(i + 8 * a, n + 3 * o)
- }
- function o(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i + 6 * a, n), e.lineTo(i + 2 * a, n + 3 * o), e.lineTo(i + 6 * a, n + 6 * o), e.moveTo(i + 2 * a, n + 3 * o), e.lineTo(i + 14 * a, n + 3 * o), e.lineTo(i + 14 * a, n + 11 * o), e.moveTo(i + 2 * a, n + 5 * o), e.lineTo(i + 2 * a, n + 13 * o), e.lineTo(i + 14 * a, n + 13 * o), e.moveTo(i + 10 * a, n + 10 * o), e.lineTo(i + 14 * a, n + 13 * o), e.lineTo(i + 10 * a, n + t.height)
- }
- function r(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16,
- r = t.width / 2;
- e.lineWidth = 1.5, e.arc(i + r, n + r, r - a, 0, 2 * Math.PI / 3), e.moveTo(i + 3 * a, n + t.height), e.lineTo(i + 0 * a, n + 12 * o), e.lineTo(i + 5 * a, n + 11 * o), e.moveTo(i, n + 8 * o), e.arc(i + r, n + r, r - a, Math.PI, 5 * Math.PI / 3), e.moveTo(i + 13 * a, n), e.lineTo(i + t.width, n + 4 * o), e.lineTo(i + 11 * a, n + 5 * o)
- }
- function s(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i, n), e.lineTo(i, n + t.height), e.lineTo(i + t.width, n + t.height), e.moveTo(i + 2 * a, n + 14 * o), e.lineTo(i + 7 * a, n + 6 * o), e.lineTo(i + 11 * a, n + 11 * o), e.lineTo(i + 15 * a, n + 2 * o)
- }
- function l(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i, n), e.lineTo(i, n + t.height), e.lineTo(i + t.width, n + t.height), e.moveTo(i + 3 * a, n + 14 * o), e.lineTo(i + 3 * a, n + 6 * o), e.lineTo(i + 4 * a, n + 6 * o), e.lineTo(i + 4 * a, n + 14 * o), e.moveTo(i + 7 * a, n + 14 * o), e.lineTo(i + 7 * a, n + 2 * o), e.lineTo(i + 8 * a, n + 2 * o), e.lineTo(i + 8 * a, n + 14 * o), e.moveTo(i + 11 * a, n + 14 * o), e.lineTo(i + 11 * a, n + 9 * o), e.lineTo(i + 12 * a, n + 9 * o), e.lineTo(i + 12 * a, n + 14 * o)
- }
- function h(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width - 2,
- o = t.height - 2,
- r = Math.min(a, o) / 2;
- n += 2, e.moveTo(i + r + 3, n + r - 3), e.arc(i + r + 3, n + r - 3, r - 1, 0, -Math.PI / 2, !0), e.lineTo(i + r + 3, n + r - 3), e.moveTo(i + r, n), e.lineTo(i + r, n + r), e.arc(i + r, n + r, r, -Math.PI / 2, 2 * Math.PI, !0), e.lineTo(i + r, n + r), e.lineWidth = 1.5
- }
- function m(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- n -= o, e.moveTo(i + 1 * a, n + 2 * o), e.lineTo(i + 15 * a, n + 2 * o), e.lineTo(i + 14 * a, n + 3 * o), e.lineTo(i + 2 * a, n + 3 * o), e.moveTo(i + 3 * a, n + 6 * o), e.lineTo(i + 13 * a, n + 6 * o), e.lineTo(i + 12 * a, n + 7 * o), e.lineTo(i + 4 * a, n + 7 * o), e.moveTo(i + 5 * a, n + 10 * o), e.lineTo(i + 11 * a, n + 10 * o), e.lineTo(i + 10 * a, n + 11 * o), e.lineTo(i + 6 * a, n + 11 * o), e.moveTo(i + 7 * a, n + 14 * o), e.lineTo(i + 9 * a, n + 14 * o), e.lineTo(i + 8 * a, n + 15 * o), e.lineTo(i + 7 * a, n + 15 * o)
- }
- function V(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width,
- o = t.height,
- r = a / 16,
- s = o / 16,
- l = 2 * Math.min(r, s);
- e.moveTo(i + r + l, n + s + l), e.arc(i + r, n + s, l, Math.PI / 4, 3 * Math.PI), e.lineTo(i + 7 * r - l, n + 6 * s - l), e.arc(i + 7 * r, n + 6 * s, l, Math.PI / 4 * 5, 4 * Math.PI), e.arc(i + 7 * r, n + 6 * s, l / 2, Math.PI / 4 * 5, 4 * Math.PI), e.moveTo(i + 7 * r - l / 2, n + 6 * s + l), e.lineTo(i + r + l, n + 14 * s - l), e.arc(i + r, n + 14 * s, l, -Math.PI / 4, 2 * Math.PI), e.moveTo(i + 7 * r + l / 2, n + 6 * s), e.lineTo(i + 14 * r - l, n + 10 * s - l / 2), e.moveTo(i + 16 * r, n + 10 * s), e.arc(i + 14 * r, n + 10 * s, l, 0, 3 * Math.PI), e.lineWidth = 1.5
- }
- function U(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width,
- o = t.height,
- r = Math.min(a, o) / 2;
- e.moveTo(i + a, n + o / 2), e.arc(i + r, n + r, r, 0, 2 * Math.PI), e.arc(i + r, n, r, Math.PI / 4, Math.PI / 5 * 4), e.arc(i, n + r, r, -Math.PI / 3, Math.PI / 3), e.arc(i + a, n + o, r, Math.PI, Math.PI / 2 * 3), e.lineWidth = 1.5
- }
- function d(e, t) {
- for(var i = t.x, n = t.y, a = t.width, o = t.height, r = Math.round(o / 3), s = Math.round((r - 2) / 2), l = 3; l--;) e.rect(i, n + r * l + s, a, 2)
- }
- function p(e, t) {
- for(var i = t.x, n = t.y, a = t.width, o = t.height, r = Math.round(a / 3), s = Math.round((r - 2) / 2), l = 3; l--;) e.rect(i + r * l + s, n, 2, o)
- }
- function c(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16;
- e.moveTo(i + a, n), e.lineTo(i + a, n + t.height), e.lineTo(i + 15 * a, n + t.height), e.lineTo(i + 15 * a, n), e.lineTo(i + a, n), e.moveTo(i + 3 * a, n + 3 * a), e.lineTo(i + 13 * a, n + 3 * a), e.moveTo(i + 3 * a, n + 6 * a), e.lineTo(i + 13 * a, n + 6 * a), e.moveTo(i + 3 * a, n + 9 * a), e.lineTo(i + 13 * a, n + 9 * a), e.moveTo(i + 3 * a, n + 12 * a), e.lineTo(i + 9 * a, n + 12 * a)
- }
- function u(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16,
- o = t.height / 16;
- e.moveTo(i, n), e.lineTo(i, n + t.height), e.lineTo(i + t.width, n + t.height), e.lineTo(i + t.width, n), e.lineTo(i, n), e.moveTo(i + 4 * a, n), e.lineTo(i + 4 * a, n + 8 * o), e.lineTo(i + 12 * a, n + 8 * o), e.lineTo(i + 12 * a, n), e.moveTo(i + 6 * a, n + 11 * o), e.lineTo(i + 6 * a, n + 13 * o), e.lineTo(i + 10 * a, n + 13 * o), e.lineTo(i + 10 * a, n + 11 * o), e.lineTo(i + 6 * a, n + 11 * o)
- }
- function y(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width,
- o = t.height;
- e.moveTo(i, n + o / 2), e.lineTo(i + a, n + o / 2), e.moveTo(i + a / 2, n), e.lineTo(i + a / 2, n + o)
- }
- function g(e, t) {
- var i = t.width / 2,
- n = t.height / 2,
- a = Math.min(i, n);
- e.moveTo(t.x + i + a, t.y + n), e.arc(t.x + i, t.y + n, a, 0, 2 * Math.PI), e.closePath()
- }
- function b(e, t) {
- e.rect(t.x, t.y, t.width, t.height), e.closePath()
- }
- function f(e, t) {
- var i = t.width / 2,
- n = t.height / 2,
- a = t.x + i,
- o = t.y + n,
- r = Math.min(i, n);
- e.moveTo(a, o - r), e.lineTo(a + r, o + r), e.lineTo(a - r, o + r), e.lineTo(a, o - r), e.closePath()
- }
- function k(e, t) {
- var i = t.width / 2,
- n = t.height / 2,
- a = t.x + i,
- o = t.y + n,
- r = Math.min(i, n);
- e.moveTo(a, o - r), e.lineTo(a + r, o), e.lineTo(a, o + r), e.lineTo(a - r, o), e.lineTo(a, o - r), e.closePath()
- }
- function x(e, t) {
- var i = t.x,
- n = t.y,
- a = t.width / 16;
- e.moveTo(i + 8 * a, n), e.lineTo(i + a, n + t.height), e.lineTo(i + 8 * a, n + t.height / 4 * 3), e.lineTo(i + 15 * a, n + t.height), e.lineTo(i + 8 * a, n), e.closePath()
- }
- function _(t, i) {
- var n = e("zrender/shape/Star"),
- a = i.width / 2,
- o = i.height / 2;
- n.prototype.buildPath(t, {
- x: i.x + a,
- y: i.y + o,
- r: Math.min(a, o),
- n: i.n || 5
- })
- }
- function L(t, i) {
- var n = e("zrender/shape/Heart");
- n.prototype.buildPath(t, {
- x: i.x + i.width / 2,
- y: i.y + .2 * i.height,
- a: i.width / 2,
- b: .8 * i.height
- })
- }
- function W(t, i) {
- var n = e("zrender/shape/Droplet");
- n.prototype.buildPath(t, {
- x: i.x + .5 * i.width,
- y: i.y + .5 * i.height,
- a: .5 * i.width,
- b: .8 * i.height
- })
- }
- function X(e, t) {
- var i = t.x,
- n = t.y - t.height / 2 * 1.5,
- a = t.width / 2,
- o = t.height / 2,
- r = Math.min(a, o);
- e.arc(i + a, n + o, r, Math.PI / 5 * 4, Math.PI / 5), e.lineTo(i + a, n + o + 1.5 * r), e.closePath()
- }
- function v(t, i, n) {
- var a = e("zrender/shape/Image");
- this._imageShape = this._imageShape || new a({
- style: {}
- });
- for(var o in i) this._imageShape.style[o] = i[o];
- this._imageShape.brush(t, !1, n)
- }
- function w(e) {
- I.call(this, e)
- }
- var K = e("zrender/tool/util"),
- I = e("zrender/shape/Base");
- return w.prototype = {
- type: "icon",
- iconLibrary: {
- mark: t,
- markUndo: i,
- markClear: n,
- dataZoom: a,
- dataZoomReset: o,
- restore: r,
- lineChart: s,
- barChart: l,
- pieChart: h,
- funnelChart: m,
- forceChart: V,
- chordChart: U,
- stackChart: d,
- tiledChart: p,
- dataView: c,
- saveAsImage: u,
- cross: y,
- circle: g,
- rectangle: b,
- triangle: f,
- diamond: k,
- arrow: x,
- star: _,
- heart: L,
- droplet: W,
- pin: X,
- image: v
- },
- brush: function(t, i, n) {
- var a = i ? this.highlightStyle : this.style;
- a = a || {};
- var o = a.iconType || this.style.iconType;
- if("image" === o) {
- var r = e("zrender/shape/Image");
- r.prototype.brush.call(this, t, i, n)
- } else {
- var a = this.beforeBrush(t, i);
- switch(t.beginPath(), this.buildPath(t, a, n), a.brushType) {
- case "both":
- t.fill();
- case "stroke":
- a.lineWidth > 0 && t.stroke();
- break;
- default:
- t.fill()
- }
- this.drawText(t, a, this.style), this.afterBrush(t)
- }
- },
- buildPath: function(e, t, i) {
- this.iconLibrary[t.iconType] ? this.iconLibrary[t.iconType].call(this, e, t, i) : (e.moveTo(t.x, t.y), e.lineTo(t.x + t.width, t.y), e.lineTo(t.x + t.width, t.y + t.height), e.lineTo(t.x, t.y + t.height), e.lineTo(t.x, t.y), e.closePath())
- },
- getRect: function(e) {
- return e.__rect ? e.__rect : (e.__rect = {
- x: Math.round(e.x),
- y: Math.round(e.y - ("pin" == e.iconType ? e.height / 2 * 1.5 : 0)),
- width: e.width,
- height: e.height * ("pin" === e.iconType ? 1.25 : 1)
- }, e.__rect)
- },
- isCover: function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- e = i[0], t = i[1];
- var n = this.style.__rect;
- n || (n = this.style.__rect = this.getRect(this.style));
- var a = n.height < 8 || n.width < 8 ? 4 : 0;
- return e >= n.x - a && e <= n.x + n.width + a && t >= n.y - a && t <= n.y + n.height + a
- }
- }, K.inherits(w, I), w
- }), i("echarts/util/shape/MarkLine", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/Line", "zrender/shape/BezierCurve", "zrender/tool/area", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/curve"], function(e) {
- function t(e) {
- i.call(this, e), this.style.curveness > 0 && this.updatePoints(this.style), this.highlightStyle.curveness > 0 && this.updatePoints(this.highlightStyle)
- }
- var i = e("zrender/shape/Base"),
- n = e("./Icon"),
- a = e("zrender/shape/Line"),
- o = new a({}),
- r = e("zrender/shape/BezierCurve"),
- s = new r({}),
- l = e("zrender/tool/area"),
- h = e("zrender/shape/util/dashedLineTo"),
- m = e("zrender/tool/util"),
- V = e("zrender/tool/curve");
- return t.prototype = {
- type: "mark-line",
- brush: function(e, t) {
- var i = this.style;
- t && (i = this.getHighlightStyle(i, this.highlightStyle || {})), e.save(), this.setContext(e, i), this.setTransform(e), e.save(), e.beginPath(), this.buildPath(e, i), e.stroke(), e.restore(), this.brushSymbol(e, i, 0), this.brushSymbol(e, i, 1), this.drawText(e, i, this.style), e.restore()
- },
- buildPath: function(e, t) {
- var i = t.lineType || "solid";
- if(e.moveTo(t.xStart, t.yStart), t.curveness > 0) {
- var n = null;
- switch(i) {
- case "dashed":
- n = [5, 5];
- break;
- case "dotted":
- n = [1, 1]
- }
- n && e.setLineDash && e.setLineDash(n), e.quadraticCurveTo(t.cpX1, t.cpY1, t.xEnd, t.yEnd)
- } else if("solid" == i) e.lineTo(t.xEnd, t.yEnd);
- else {
- var a = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
- h(e, t.xStart, t.yStart, t.xEnd, t.yEnd, a)
- }
- },
- updatePoints: function(e) {
- var t = e.curveness || 0,
- i = 1,
- n = e.xStart,
- a = e.yStart,
- o = e.xEnd,
- r = e.yEnd,
- s = (n + o) / 2 - i * (a - r) * t,
- l = (a + r) / 2 - i * (o - n) * t;
- e.cpX1 = s, e.cpY1 = l
- },
- brushSymbol: function(e, t, i) {
- if("none" != t.symbol[i]) {
- e.save(), e.beginPath(), e.lineWidth = t.symbolBorder, e.strokeStyle = t.symbolBorderColor;
- var a = t.symbol[i].replace("empty", "").toLowerCase();
- t.symbol[i].match("empty") && (e.fillStyle = "#fff");
- var o = t.xStart,
- r = t.yStart,
- s = t.xEnd,
- l = t.yEnd,
- h = 0 === i ? o : s,
- m = 0 === i ? r : l,
- U = t.curveness || 0,
- d = null != t.symbolRotate[i] ? t.symbolRotate[i] - 0 : 0;
- if(d = d / 180 * Math.PI, "arrow" == a && 0 === d)
- if(0 === U) {
- var p = 0 === i ? -1 : 1;
- d = Math.PI / 2 + Math.atan2(p * (l - r), p * (s - o))
- } else {
- var c = t.cpX1,
- u = t.cpY1,
- y = V.quadraticDerivativeAt,
- g = y(o, c, s, i),
- b = y(r, u, l, i);
- d = Math.PI / 2 + Math.atan2(b, g)
- }
- e.translate(h, m), 0 !== d && e.rotate(d);
- var f = t.symbolSize[i];
- n.prototype.buildPath(e, {
- x: -f,
- y: -f,
- width: 2 * f,
- height: 2 * f,
- iconType: a
- }), e.closePath(), e.fill(), e.stroke(), e.restore()
- }
- },
- getRect: function(e) {
- return e.curveness > 0 ? s.getRect(e) : o.getRect(e), e.__rect
- },
- isCover: function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- return e = i[0], t = i[1], this.isCoverRect(e, t) ? this.style.curveness > 0 ? l.isInside(s, this.style, e, t) : l.isInside(o, this.style, e, t) : !1
- }
- }, m.inherits(t, i), t
- }), i("echarts/util/shape/Symbol", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util", "./normalIsCover"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/shape/Polygon"),
- a = new n({}),
- o = e("zrender/tool/util");
- return t.prototype = {
- type: "symbol",
- buildPath: function(e, t) {
- var i = t.pointList,
- n = i.length;
- if(0 !== n)
- for(var a, o, r, s, l, h = 1e4, m = Math.ceil(n / h), V = i[0] instanceof Array, U = t.size ? t.size : 2, d = U, p = U / 2, c = 2 * Math.PI, u = 0; m > u; u++) {
- e.beginPath(), a = u * h, o = a + h, o = o > n ? n : o;
- for(var y = a; o > y; y++)
- if(t.random && (r = t["randomMap" + y % 20] / 100, d = U * r * r, p = d / 2), V ? (s = i[y][0], l = i[y][1]) : (s = i[y].x, l = i[y].y), 3 > d) e.rect(s - p, l - p, d, d);
- else switch(t.iconType) {
- case "circle":
- e.moveTo(s, l), e.arc(s, l, p, 0, c, !0);
- break;
- case "diamond":
- e.moveTo(s, l - p), e.lineTo(s + p / 3, l - p / 3), e.lineTo(s + p, l), e.lineTo(s + p / 3, l + p / 3), e.lineTo(s, l + p), e.lineTo(s - p / 3, l + p / 3), e.lineTo(s - p, l), e.lineTo(s - p / 3, l - p / 3), e.lineTo(s, l - p);
- break;
- default:
- e.rect(s - p, l - p, d, d)
- }
- if(e.closePath(), m - 1 > u) switch(t.brushType) {
- case "both":
- e.fill(), t.lineWidth > 0 && e.stroke();
- break;
- case "stroke":
- t.lineWidth > 0 && e.stroke();
- break;
- default:
- e.fill()
- }
- }
- },
- getRect: function(e) {
- return e.__rect || a.getRect(e)
- },
- isCover: e("./normalIsCover")
- }, o.inherits(t, i), t
- }), i("zrender/shape/Polyline", ["require", "./Base", "./util/smoothSpline", "./util/smoothBezier", "./util/dashedLineTo", "./Polygon", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = e("./util/smoothSpline"),
- n = e("./util/smoothBezier"),
- a = e("./util/dashedLineTo"),
- o = function(e) {
- this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
- };
- return o.prototype = {
- type: "polyline",
- buildPath: function(e, t) {
- var n = t.pointList;
- if(!(n.length < 2)) {
- var o = Math.min(t.pointList.length, Math.round(t.pointListLength || t.pointList.length));
- if(t.smooth && "spline" !== t.smooth) {
- t.controlPointList || this.updateControlPoints(t);
- var r = t.controlPointList;
- e.moveTo(n[0][0], n[0][1]);
- for(var s, l, h, m = 0; o - 1 > m; m++) s = r[2 * m], l = r[2 * m + 1], h = n[m + 1], e.bezierCurveTo(s[0], s[1], l[0], l[1], h[0], h[1])
- } else if("spline" === t.smooth && (n = i(n), o = n.length), t.lineType && "solid" != t.lineType) {
- if("dashed" == t.lineType || "dotted" == t.lineType) {
- var V = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
- e.moveTo(n[0][0], n[0][1]);
- for(var m = 1; o > m; m++) a(e, n[m - 1][0], n[m - 1][1], n[m][0], n[m][1], V)
- }
- } else {
- e.moveTo(n[0][0], n[0][1]);
- for(var m = 1; o > m; m++) e.lineTo(n[m][0], n[m][1])
- }
- }
- },
- updateControlPoints: function(e) {
- e.controlPointList = n(e.pointList, e.smooth, !1, e.smoothConstraint)
- },
- getRect: function(t) {
- return e("./Polygon").prototype.getRect(t)
- }
- }, e("../tool/util").inherits(o, t), o
- }), i("zrender/shape/ShapeBundle", ["require", "./Base", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = function(e) {
- t.call(this, e)
- };
- return i.prototype = {
- constructor: i,
- type: "shape-bundle",
- brush: function(e, t) {
- var i = this.beforeBrush(e, t);
- e.beginPath();
- for(var n = 0; n < i.shapeList.length; n++) {
- var a = i.shapeList[n],
- o = a.style;
- t && (o = a.getHighlightStyle(o, a.highlightStyle || {}, a.brushTypeOnly)), a.buildPath(e, o)
- }
- switch(i.brushType) {
- case "both":
- e.fill();
- case "stroke":
- i.lineWidth > 0 && e.stroke();
- break;
- default:
- e.fill()
- }
- this.drawText(e, i, this.style), this.afterBrush(e)
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- for(var t = 1 / 0, i = -(1 / 0), n = 1 / 0, a = -(1 / 0), o = 0; o < e.shapeList.length; o++) var r = e.shapeList[o],
- s = r.getRect(r.style),
- t = Math.min(s.x, t),
- n = Math.min(s.y, n),
- i = Math.max(s.x + s.width, i),
- a = Math.max(s.y + s.height, a);
- return e.__rect = {
- x: t,
- y: n,
- width: i - t,
- height: a - n
- }, e.__rect
- },
- isCover: function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- if(e = i[0], t = i[1], this.isCoverRect(e, t))
- for(var n = 0; n < this.style.shapeList.length; n++) {
- var a = this.style.shapeList[n];
- if(a.isCover(e, t)) return !0
- }
- return !1
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("echarts/util/ecAnimation", ["require", "zrender/tool/util", "zrender/tool/curve", "zrender/shape/Polygon"], function(e) {
- function t(e, t, i, n, a) {
- var o, r = i.style.pointList,
- s = r.length;
- if(!t) {
- if(o = [], "vertical" != i._orient)
- for(var l = r[0][1], h = 0; s > h; h++) o[h] = [r[h][0], l];
- else
- for(var m = r[0][0], h = 0; s > h; h++) o[h] = [m, r[h][1]];
- "half-smooth-polygon" == i.type && (o[s - 1] = p.clone(r[s - 1]), o[s - 2] = p.clone(r[s - 2])), t = {
- style: {
- pointList: o
- }
- }
- }
- o = t.style.pointList;
- var V = o.length;
- i.style.pointList = V == s ? o : s > V ? o.concat(r.slice(V)) : o.slice(0, s), e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {
- pointList: r
- }).during(function() {
- i.updateControlPoints && i.updateControlPoints(i.style)
- }).done(function() {
- i.__animating = !1
- }).start(a)
- }
- function i(e, t) {
- for(var i = arguments.length, n = 2; i > n; n++) {
- var a = arguments[n];
- e.style[a] = t.style[a]
- }
- }
- function n(e, t, n, a, o) {
- var r = n.style;
- t || (t = {
- position: n.position,
- style: {
- x: r.x,
- y: "vertical" == n._orient ? r.y + r.height : r.y,
- width: "vertical" == n._orient ? r.width : 0,
- height: "vertical" != n._orient ? r.height : 0
- }
- });
- var s = r.x,
- l = r.y,
- h = r.width,
- m = r.height,
- V = [n.position[0], n.position[1]];
- i(n, t, "x", "y", "width", "height"), n.position = t.position, e.addShape(n), (V[0] != t.position[0] || V[1] != t.position[1]) && e.animate(n.id, "").when(a, {
- position: V
- }).start(o), n.__animating = !0, e.animate(n.id, "style").when(a, {
- x: s,
- y: l,
- width: h,
- height: m
- }).done(function() {
- n.__animating = !1
- }).start(o)
- }
- function a(e, t, i, n, a) {
- if(!t) {
- var o = i.style.y;
- t = {
- style: {
- y: [o[0], o[0], o[0], o[0]]
- }
- }
- }
- var r = i.style.y;
- i.style.y = t.style.y, e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {
- y: r
- }).done(function() {
- i.__animating = !1
- }).start(a)
- }
- function o(e, t, i, n, a) {
- var o = i.style.x,
- r = i.style.y,
- s = i.style.r0,
- l = i.style.r;
- i.__animating = !0, "r" != i._animationAdd ? (i.style.r0 = 0, i.style.r = 0, i.rotation = [2 * Math.PI, o, r], e.addShape(i), e.animate(i.id, "style").when(n, {
- r0: s,
- r: l
- }).done(function() {
- i.__animating = !1
- }).start(a), e.animate(i.id, "").when(n, {
- rotation: [0, o, r]
- }).start(a)) : (i.style.r0 = i.style.r, e.addShape(i), e.animate(i.id, "style").when(n, {
- r0: s
- }).done(function() {
- i.__animating = !1
- }).start(a))
- }
- function r(e, t, n, a, o) {
- t || (t = "r" != n._animationAdd ? {
- style: {
- startAngle: n.style.startAngle,
- endAngle: n.style.startAngle
- }
- } : {
- style: {
- r0: n.style.r
- }
- });
- var r = n.style.startAngle,
- s = n.style.endAngle;
- i(n, t, "startAngle", "endAngle"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
- startAngle: r,
- endAngle: s
- }).done(function() {
- n.__animating = !1
- }).start(o)
- }
- function s(e, t, n, a, o) {
- t || (t = {
- style: {
- x: "left" == n.style.textAlign ? n.style.x + 100 : n.style.x - 100,
- y: n.style.y
- }
- });
- var r = n.style.x,
- s = n.style.y;
- i(n, t, "x", "y"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
- x: r,
- y: s
- }).done(function() {
- n.__animating = !1
- }).start(o)
- }
- function l(t, i, n, a, o) {
- var r = e("zrender/shape/Polygon").prototype.getRect(n.style),
- s = r.x + r.width / 2,
- l = r.y + r.height / 2;
- n.scale = [.1, .1, s, l], t.addShape(n), n.__animating = !0, t.animate(n.id, "").when(a, {
- scale: [1, 1, s, l]
- }).done(function() {
- n.__animating = !1
- }).start(o)
- }
- function h(e, t, n, a, o) {
- t || (t = {
- style: {
- source0: 0,
- source1: n.style.source1 > 0 ? 360 : -360,
- target0: 0,
- target1: n.style.target1 > 0 ? 360 : -360
- }
- });
- var r = n.style.source0,
- s = n.style.source1,
- l = n.style.target0,
- h = n.style.target1;
- t.style && i(n, t, "source0", "source1", "target0", "target1"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
- source0: r,
- source1: s,
- target0: l,
- target1: h
- }).done(function() {
- n.__animating = !1
- }).start(o)
- }
- function m(e, t, i, n, a) {
- t || (t = {
- style: {
- angle: i.style.startAngle
- }
- });
- var o = i.style.angle;
- i.style.angle = t.style.angle, e.addShape(i), i.__animating = !0, e.animate(i.id, "style").when(n, {
- angle: o
- }).done(function() {
- i.__animating = !1
- }).start(a)
- }
- function V(e, t, i, a, o, r) {
- if(i.style._x = i.style.x, i.style._y = i.style.y, i.style._width = i.style.width, i.style._height = i.style.height, t) n(e, t, i, a, o);
- else {
- var s = i._x || 0,
- l = i._y || 0;
- i.scale = [.01, .01, s, l], e.addShape(i), i.__animating = !0, e.animate(i.id, "").delay(r).when(a, {
- scale: [1, 1, s, l]
- }).done(function() {
- i.__animating = !1
- }).start(o || "QuinticOut")
- }
- }
- function U(e, t, n, a, o) {
- t || (t = {
- style: {
- xStart: n.style.xStart,
- yStart: n.style.yStart,
- xEnd: n.style.xStart,
- yEnd: n.style.yStart
- }
- });
- var r = n.style.xStart,
- s = n.style.xEnd,
- l = n.style.yStart,
- h = n.style.yEnd;
- i(n, t, "xStart", "xEnd", "yStart", "yEnd"), e.addShape(n), n.__animating = !0, e.animate(n.id, "style").when(a, {
- xStart: r,
- xEnd: s,
- yStart: l,
- yEnd: h
- }).done(function() {
- n.__animating = !1
- }).start(o)
- }
- function d(e, t, i, n, a) {
- a = a || "QuinticOut", i.__animating = !0, e.addShape(i);
- var o = i.style,
- r = function() {
- i.__animating = !1
- },
- s = o.xStart,
- l = o.yStart,
- h = o.xEnd,
- m = o.yEnd;
- if(o.curveness > 0) {
- i.updatePoints(o);
- var V = {
- p: 0
- },
- U = o.cpX1,
- d = o.cpY1,
- p = [],
- u = [],
- y = c.quadraticSubdivide;
- e.animation.animate(V).when(n, {
- p: 1
- }).during(function() {
- y(s, U, h, V.p, p), y(l, d, m, V.p, u), o.cpX1 = p[1], o.cpY1 = u[1], o.xEnd = p[2], o.yEnd = u[2], e.modShape(i)
- }).done(r).start(a)
- } else e.animate(i.id, "style").when(0, {
- xEnd: s,
- yEnd: l
- }).when(n, {
- xEnd: h,
- yEnd: m
- }).done(r).start(a)
- }
- var p = e("zrender/tool/util"),
- c = e("zrender/tool/curve");
- return {
- pointList: t,
- rectangle: n,
- candle: a,
- ring: o,
- sector: r,
- text: s,
- polygon: l,
- ribbon: h,
- gaugePointer: m,
- icon: V,
- line: U,
- markline: d
- }
- }), i("echarts/util/ecEffect", ["require", "../util/ecData", "zrender/shape/Circle", "zrender/shape/Image", "zrender/tool/curve", "../util/shape/Icon", "../util/shape/Symbol", "zrender/shape/ShapeBundle", "zrender/shape/Polyline", "zrender/tool/vector", "zrender/tool/env"], function(e) {
- function t(e, t, i, n) {
- var a, r = i.effect,
- l = r.color || i.style.strokeColor || i.style.color,
- m = r.shadowColor || l,
- V = r.scaleSize,
- U = r.bounceDistance,
- d = "undefined" != typeof r.shadowBlur ? r.shadowBlur : V;
- "image" !== i.type ? (a = new h({
- zlevel: n,
- style: {
- brushType: "stroke",
- iconType: "droplet" != i.style.iconType ? i.style.iconType : "circle",
- x: d + 1,
- y: d + 1,
- n: i.style.n,
- width: i.style._width * V,
- height: i.style._height * V,
- lineWidth: 1,
- strokeColor: l,
- shadowColor: m,
- shadowBlur: d
- },
- draggable: !1,
- hoverable: !1
- }), "pin" == i.style.iconType && (a.style.y += a.style.height / 2 * 1.5), p && (a.style.image = e.shapeToImage(a, a.style.width + 2 * d + 2, a.style.height + 2 * d + 2).style.image, a = new s({
- zlevel: a.zlevel,
- style: a.style,
- draggable: !1,
- hoverable: !1
- }))) : a = new s({
- zlevel: n,
- style: i.style,
- draggable: !1,
- hoverable: !1
- }), o.clone(i, a), a.position = i.position, t.push(a), e.addShape(a);
- var c = "image" !== i.type ? window.devicePixelRatio || 1 : 1,
- u = (a.style.width / c - i.style._width) / 2;
- a.style.x = i.style._x - u, a.style.y = i.style._y - u, "pin" == i.style.iconType && (a.style.y -= i.style.height / 2 * 1.5);
- var y = 100 * (r.period + 10 * Math.random());
- e.modShape(i.id, {
- invisible: !0
- });
- var g = a.style.x + a.style.width / 2 / c,
- b = a.style.y + a.style.height / 2 / c;
- "scale" === r.type ? (e.modShape(a.id, {
- scale: [.1, .1, g, b]
- }), e.animate(a.id, "", r.loop).when(y, {
- scale: [1, 1, g, b]
- }).done(function() {
- i.effect.show = !1, e.delShape(a.id)
- }).start()) : e.animate(a.id, "style", r.loop).when(y, {
- y: a.style.y - U
- }).when(2 * y, {
- y: a.style.y
- }).done(function() {
- i.effect.show = !1, e.delShape(a.id)
- }).start()
- }
- function i(e, t, i, n) {
- var a = i.effect,
- o = a.color || i.style.strokeColor || i.style.color,
- r = a.scaleSize,
- s = a.shadowColor || o,
- l = "undefined" != typeof a.shadowBlur ? a.shadowBlur : 2 * r,
- h = window.devicePixelRatio || 1,
- V = new m({
- zlevel: n,
- position: i.position,
- scale: i.scale,
- style: {
- pointList: i.style.pointList,
- iconType: i.style.iconType,
- color: o,
- strokeColor: o,
- shadowColor: s,
- shadowBlur: l * h,
- random: !0,
- brushType: "fill",
- lineWidth: 1,
- size: i.style.size
- },
- draggable: !1,
- hoverable: !1
- });
- t.push(V), e.addShape(V), e.modShape(i.id, {
- invisible: !0
- });
- for(var U = Math.round(100 * a.period), d = {}, p = {}, c = 0; 20 > c; c++) V.style["randomMap" + c] = 0, d = {}, d["randomMap" + c] = 100, p = {}, p["randomMap" + c] = 0, V.style["randomMap" + c] = 100 * Math.random(), e.animate(V.id, "style", !0).when(U, d).when(2 * U, p).when(3 * U, d).when(4 * U, d).delay(Math.random() * U * c).start()
- }
- function n(e, t, i, n, a) {
- var s = i.effect,
- h = i.style,
- m = s.color || h.strokeColor || h.color,
- V = s.shadowColor || h.strokeColor || m,
- c = h.lineWidth * s.scaleSize,
- u = "undefined" != typeof s.shadowBlur ? s.shadowBlur : c,
- y = new r({
- zlevel: n,
- style: {
- x: u,
- y: u,
- r: c,
- color: m,
- shadowColor: V,
- shadowBlur: u
- },
- hoverable: !1
- }),
- g = 0;
- if(p && !a) {
- var n = y.zlevel;
- y = e.shapeToImage(y, 2 * (c + u), 2 * (c + u)), y.zlevel = n, y.hoverable = !1, g = u
- }
- a || (o.clone(i, y), y.position = i.position, t.push(y), e.addShape(y));
- var b = function() {
- a || (i.effect.show = !1, e.delShape(y.id)), y.effectAnimator = null
- };
- if(i instanceof U) {
- for(var f = [0], k = 0, x = h.pointList, _ = h.controlPointList, L = 1; L < x.length; L++) {
- if(_) {
- var W = _[2 * (L - 1)],
- X = _[2 * (L - 1) + 1];
- k += d.dist(x[L - 1], W) + d.dist(W, X) + d.dist(X, x[L])
- } else k += d.dist(x[L - 1], x[L]);
- f.push(k)
- }
- for(var v = {
- p: 0
- }, w = e.animation.animate(v, {
- loop: s.loop
- }), L = 0; L < f.length; L++) w.when(f[L] * s.period, {
- p: L
- });
- w.during(function() {
- var t, i, n = Math.floor(v.p);
- if(n == x.length - 1) t = x[n][0], i = x[n][1];
- else {
- var o = v.p - n,
- r = x[n],
- s = x[n + 1];
- if(_) {
- var h = _[2 * n],
- m = _[2 * n + 1];
- t = l.cubicAt(r[0], h[0], m[0], s[0], o), i = l.cubicAt(r[1], h[1], m[1], s[1], o)
- } else t = (s[0] - r[0]) * o + r[0], i = (s[1] - r[1]) * o + r[1]
- }
- y.style.x = t, y.style.y = i, a || e.modShape(y)
- }).done(b).start(), w.duration = k * s.period, y.effectAnimator = w
- } else {
- var K = h.xStart - g,
- I = h.yStart - g,
- J = h.xEnd - g,
- C = h.yEnd - g;
- y.style.x = K, y.style.y = I;
- var S = (J - K) * (J - K) + (C - I) * (C - I),
- E = Math.round(Math.sqrt(Math.round(S * s.period * s.period)));
- if(i.style.curveness > 0) {
- var F = h.cpX1 - g,
- T = h.cpY1 - g;
- y.effectAnimator = e.animation.animate(y, {
- loop: s.loop
- }).when(E, {
- p: 1
- }).during(function(t, i) {
- y.style.x = l.quadraticAt(K, F, J, i), y.style.y = l.quadraticAt(I, T, C, i), a || e.modShape(y)
- }).done(b).start()
- } else y.effectAnimator = e.animation.animate(y.style, {
- loop: s.loop
- }).when(E, {
- x: J,
- y: C
- }).during(function() {
- a || e.modShape(y)
- }).done(b).start();
- y.effectAnimator.duration = E
- }
- return y
- }
- function a(e, t, i, a) {
- var o = new V({
- style: {
- shapeList: []
- },
- zlevel: a,
- hoverable: !1
- }),
- r = i.style.shapeList,
- s = i.effect;
- o.position = i.position;
- for(var l = 0, h = [], m = 0; m < r.length; m++) {
- r[m].effect = s;
- var U = n(e, null, r[m], a, !0),
- d = U.effectAnimator;
- o.style.shapeList.push(U), d.duration > l && (l = d.duration), 0 === m && (o.style.color = U.style.color, o.style.shadowBlur = U.style.shadowBlur, o.style.shadowColor = U.style.shadowColor), h.push(d)
- }
- t.push(o), e.addShape(o);
- var p = function() {
- for(var e = 0; e < h.length; e++) h[e].stop()
- };
- if(l) {
- o.__dummy = 0;
- var c = e.animate(o.id, "", s.loop).when(l, {
- __dummy: 1
- }).during(function() {
- e.modShape(o)
- }).done(function() {
- i.effect.show = !1, e.delShape(o.id)
- }).start(),
- u = c.stop;
- c.stop = function() {
- p(), u.call(this)
- }
- }
- }
- var o = e("../util/ecData"),
- r = e("zrender/shape/Circle"),
- s = e("zrender/shape/Image"),
- l = e("zrender/tool/curve"),
- h = e("../util/shape/Icon"),
- m = e("../util/shape/Symbol"),
- V = e("zrender/shape/ShapeBundle"),
- U = e("zrender/shape/Polyline"),
- d = e("zrender/tool/vector"),
- p = e("zrender/tool/env").canvasSupported;
- return {
- point: t,
- largePoint: i,
- line: n,
- largeLine: a
- }
- }), i("echarts/component/base", ["require", "../config", "../util/ecData", "../util/ecQuery", "../util/number", "zrender/tool/util", "zrender/tool/env"], function(e) {
- function t(e, t, a, o, r) {
- this.ecTheme = e, this.messageCenter = t, this.zr = a, this.option = o, this.series = o.series, this.myChart = r, this.component = r.component, this.shapeList = [], this.effectList = [];
- var s = this;
- s._onlegendhoverlink = function(e) {
- if(s.legendHoverLink)
- for(var t, a = e.target, o = s.shapeList.length - 1; o >= 0; o--) t = s.type == i.CHART_TYPE_PIE || s.type == i.CHART_TYPE_FUNNEL ? n.get(s.shapeList[o], "name") : (n.get(s.shapeList[o], "series") || {}).name, t != a || s.shapeList[o].invisible || s.shapeList[o].__animating || s.zr.addHoverShape(s.shapeList[o])
- }, t && t.bind(i.EVENT.LEGEND_HOVERLINK, this._onlegendhoverlink)
- }
- var i = e("../config"),
- n = e("../util/ecData"),
- a = e("../util/ecQuery"),
- o = e("../util/number"),
- r = e("zrender/tool/util");
- return t.prototype = {
- canvasSupported: e("zrender/tool/env").canvasSupported,
- _getZ: function(e) {
- if(null != this[e]) return this[e];
- var t = this.ecTheme[this.type];
- return t && null != t[e] ? t[e] : (t = i[this.type], t && null != t[e] ? t[e] : 0)
- },
- getZlevelBase: function() {
- return this._getZ("zlevel")
- },
- getZBase: function() {
- return this._getZ("z")
- },
- reformOption: function(e) {
- return e = r.merge(r.merge(e || {}, r.clone(this.ecTheme[this.type] || {})), r.clone(i[this.type] || {})), this.z = e.z, this.zlevel = e.zlevel, e
- },
- reformCssArray: function(e) {
- if(!(e instanceof Array)) return [e, e, e, e];
- switch(e.length + "") {
- case "4":
- return e;
- case "3":
- return [e[0], e[1], e[2], e[1]];
- case "2":
- return [e[0], e[1], e[0], e[1]];
- case "1":
- return [e[0], e[0], e[0], e[0]];
- case "0":
- return [0, 0, 0, 0]
- }
- },
- getShapeById: function(e) {
- for(var t = 0, i = this.shapeList.length; i > t; t++)
- if(this.shapeList[t].id === e) return this.shapeList[t];
- return null
- },
- getFont: function(e) {
- var t = this.getTextStyle(r.clone(e));
- return t.fontStyle + " " + t.fontWeight + " " + t.fontSize + "px " + t.fontFamily
- },
- getTextStyle: function(e) {
- return r.merge(r.merge(e || {}, this.ecTheme.textStyle), i.textStyle)
- },
- getItemStyleColor: function(e, t, i, n) {
- return "function" == typeof e ? e.call(this.myChart, {
- seriesIndex: t,
- series: this.series[t],
- dataIndex: i,
- data: n
- }) : e
- },
- getDataFromOption: function(e, t) {
- return null != e ? null != e.value ? e.value : e : t
- },
- subPixelOptimize: function(e, t) {
- return e = t % 2 === 1 ? Math.floor(e) + .5 : Math.round(e)
- },
- resize: function() {
- this.refresh && this.refresh(), this.clearEffectShape && this.clearEffectShape(!0);
- var e = this;
- setTimeout(function() {
- e.animationEffect && e.animationEffect()
- }, 200)
- },
- clear: function() {
- this.clearEffectShape && this.clearEffectShape(), this.zr && this.zr.delShape(this.shapeList), this.shapeList = []
- },
- dispose: function() {
- this.onbeforDispose && this.onbeforDispose(), this.clear(), this.shapeList = null, this.effectList = null, this.messageCenter && this.messageCenter.unbind(i.EVENT.LEGEND_HOVERLINK, this._onlegendhoverlink), this.onafterDispose && this.onafterDispose()
- },
- query: a.query,
- deepQuery: a.deepQuery,
- deepMerge: a.deepMerge,
- parsePercent: o.parsePercent,
- parseCenter: o.parseCenter,
- parseRadius: o.parseRadius,
- numAddCommas: o.addCommas,
- getPrecision: o.getPrecision
- }, t
- }), i("echarts/layout/EdgeBundling", ["require", "../data/KDTree", "zrender/tool/vector"], function(e) {
- function t(e, t) {
- e = e.array, t = t.array;
- var i = t[0] - e[0],
- n = t[1] - e[1],
- a = t[2] - e[2],
- o = t[3] - e[3];
- return i * i + n * n + a * a + o * o
- }
- function i(e) {
- this.points = [e.mp0, e.mp1], this.group = e
- }
- function n(e) {
- var t = e.points;
- t[0][1] < t[1][1] || e instanceof i ? (this.array = [t[0][0], t[0][1], t[1][0], t[1][1]], this._startPoint = t[0], this._endPoint = t[1]) : (this.array = [t[1][0], t[1][1], t[0][0], t[0][1]], this._startPoint = t[1], this._endPoint = t[0]), this.ink = m(t[0], t[1]), this.edge = e, this.group = null
- }
- function a() {
- this.edgeList = [], this.mp0 = l(), this.mp1 = l(), this.ink = 0
- }
- function o() {
- this.maxNearestEdge = 6, this.maxTurningAngle = Math.PI / 4, this.maxIteration = 20
- }
- var r = e("../data/KDTree"),
- s = e("zrender/tool/vector"),
- l = s.create,
- h = s.distSquare,
- m = s.dist,
- V = s.copy,
- U = s.clone;
- return n.prototype.getStartPoint = function() {
- return this._startPoint
- }, n.prototype.getEndPoint = function() {
- return this._endPoint
- }, a.prototype.addEdge = function(e) {
- e.group = this, this.edgeList.push(e)
- }, a.prototype.removeEdge = function(e) {
- e.group = null, this.edgeList.splice(this.edgeList.indexOf(e), 1)
- }, o.prototype = {
- constructor: o,
- run: function(e) {
- function t(e, t) {
- return h(e, t) < 1e-10
- }
- function n(e, i) {
- for(var n = [], a = 0, o = 0; o < e.length; o++) a > 0 && t(e[o], n[a - 1]) || (n[a++] = U(e[o]));
- return i[0] && !t(n[0], i[0]) && (n = n.reverse()), n
- }
- for(var a = this._iterate(e), o = 0; o++ < this.maxIteration;) {
- for(var r = [], s = 0; s < a.groups.length; s++) r.push(new i(a.groups[s]));
- var l = this._iterate(r);
- if(l.savedInk <= 0) break;
- a = l
- }
- var m = [],
- V = function(e, t) {
- for(var a, o = 0; o < e.length; o++) {
- var r = e[o];
- if(r.edgeList[0] && r.edgeList[0].edge instanceof i) {
- for(var s = [], l = 0; l < r.edgeList.length; l++) s.push(r.edgeList[l].edge.group);
- a = t ? t.slice() : [], a.unshift(r.mp0), a.push(r.mp1), V(s, a)
- } else
- for(var l = 0; l < r.edgeList.length; l++) {
- var h = r.edgeList[l];
- a = t ? t.slice() : [], a.unshift(r.mp0), a.push(r.mp1), a.unshift(h.getStartPoint()), a.push(h.getEndPoint()), m.push({
- points: n(a, h.edge.points),
- rawEdge: h.edge
- })
- }
- }
- };
- return V(a.groups), m
- },
- _iterate: function(e) {
- for(var i = [], o = [], s = 0, h = 0; h < e.length; h++) {
- var m = new n(e[h]);
- i.push(m)
- }
- for(var U = new r(i, 4), d = [], p = l(), c = l(), u = 0, y = l(), g = l(), b = 0, h = 0; h < i.length; h++) {
- var m = i[h];
- if(!m.group) {
- U.nearestN(m, this.maxNearestEdge, t, d);
- for(var f = 0, k = null, x = null, _ = 0; _ < d.length; _++) {
- var L = d[_],
- W = 0;
- L.group ? L.group !== x && (x = L.group, u = this._calculateGroupEdgeInk(L.group, m, p, c), W = L.group.ink + m.ink - u) : (u = this._calculateEdgeEdgeInk(m, L, p, c), W = L.ink + m.ink - u), W > f && (f = W, k = L, V(g, c), V(y, p), b = u)
- }
- if(k) {
- s += f;
- var X;
- k.group || (X = new a, o.push(X), X.addEdge(k)), X = k.group, V(X.mp0, y), V(X.mp1, g), X.ink = b, k.group.addEdge(m)
- } else {
- var X = new a;
- o.push(X), V(X.mp0, m.getStartPoint()), V(X.mp1, m.getEndPoint()), X.ink = m.ink, X.addEdge(m)
- }
- }
- }
- return {
- groups: o,
- edges: i,
- savedInk: s
- }
- },
- _calculateEdgeEdgeInk: function() {
- var e = [],
- t = [];
- return function(i, n, a, o) {
- e[0] = i.getStartPoint(), e[1] = n.getStartPoint(), t[0] = i.getEndPoint(), t[1] = n.getEndPoint(), this._calculateMeetPoints(e, t, a, o);
- var r = m(e[0], a) + m(a, o) + m(o, t[0]) + m(e[1], a) + m(o, t[1]);
- return r
- }
- }(),
- _calculateGroupEdgeInk: function(e, t, i, n) {
- for(var a = [], o = [], r = 0; r < e.edgeList.length; r++) {
- var s = e.edgeList[r];
- a.push(s.getStartPoint()), o.push(s.getEndPoint())
- }
- a.push(t.getStartPoint()), o.push(t.getEndPoint()), this._calculateMeetPoints(a, o, i, n);
- for(var l = m(i, n), r = 0; r < a.length; r++) l += m(a[r], i) + m(o[r], n);
- return l
- },
- _calculateMeetPoints: function() {
- var e = l(),
- t = l();
- return function(i, n, a, o) {
- s.set(e, 0, 0), s.set(t, 0, 0);
- for(var r = i.length, l = 0; r > l; l++) s.add(e, e, i[l]);
- s.scale(e, e, 1 / r), r = n.length;
- for(var l = 0; r > l; l++) s.add(t, t, n[l]);
- s.scale(t, t, 1 / r), this._limitTurningAngle(i, e, t, a), this._limitTurningAngle(n, t, e, o)
- }
- }(),
- _limitTurningAngle: function() {
- var e = l(),
- t = l(),
- i = l(),
- n = l();
- return function(a, o, r, l) {
- var V = Math.cos(this.maxTurningAngle),
- U = Math.tan(this.maxTurningAngle);
- s.sub(e, o, r), s.normalize(e, e), s.copy(l, o);
- for(var d = 0, p = 0; p < a.length; p++) {
- var c = a[p];
- s.sub(t, c, o);
- var u = s.len(t);
- s.scale(t, t, 1 / u);
- var y = s.dot(t, e);
- if(V > y) {
- s.scaleAndAdd(i, o, e, u * y);
- var g = m(i, c),
- b = g / U;
- s.scaleAndAdd(n, i, e, -b);
- var f = h(n, o);
- f > d && (d = f, s.copy(l, n))
- }
- }
- }
- }()
- }, o
- }), i("zrender/shape/Star", ["require", "../tool/math", "./Base", "../tool/util"], function(e) {
- var t = e("../tool/math"),
- i = t.sin,
- n = t.cos,
- a = Math.PI,
- o = e("./Base"),
- r = function(e) {
- o.call(this, e)
- };
- return r.prototype = {
- type: "star",
- buildPath: function(e, t) {
- var o = t.n;
- if(o && !(2 > o)) {
- var r = t.x,
- s = t.y,
- l = t.r,
- h = t.r0;
- null == h && (h = o > 4 ? l * n(2 * a / o) / n(a / o) : l / 3);
- var m = a / o,
- V = -a / 2,
- U = r + l * n(V),
- d = s + l * i(V);
- V += m;
- var p = t.pointList = [];
- p.push([U, d]);
- for(var c, u = 0, y = 2 * o - 1; y > u; u++) c = u % 2 === 0 ? h : l, p.push([r + c * n(V), s + c * i(V)]), V += m;
- p.push([U, d]), e.moveTo(p[0][0], p[0][1]);
- for(var u = 0; u < p.length; u++) e.lineTo(p[u][0], p[u][1]);
- e.closePath()
- }
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t;
- return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
- x: Math.round(e.x - e.r - t / 2),
- y: Math.round(e.y - e.r - t / 2),
- width: 2 * e.r + t,
- height: 2 * e.r + t
- }, e.__rect
- }
- }, e("../tool/util").inherits(r, o), r
- }), i("zrender/shape/Heart", ["require", "./Base", "./util/PathProxy", "../tool/area", "../tool/util"], function(e) {
- "use strict";
- var t = e("./Base"),
- i = e("./util/PathProxy"),
- n = e("../tool/area"),
- a = function(e) {
- t.call(this, e), this._pathProxy = new i
- };
- return a.prototype = {
- type: "heart",
- buildPath: function(e, t) {
- var n = this._pathProxy || new i;
- n.begin(e), n.moveTo(t.x, t.y), n.bezierCurveTo(t.x + t.a / 2, t.y - 2 * t.b / 3, t.x + 2 * t.a, t.y + t.b / 3, t.x, t.y + t.b), n.bezierCurveTo(t.x - 2 * t.a, t.y + t.b / 3, t.x - t.a / 2, t.y - 2 * t.b / 3, t.x, t.y), n.closePath()
- },
- getRect: function(e) {
- return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
- },
- isCover: function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- return e = i[0], t = i[1], this.isCoverRect(e, t) ? n.isInsidePath(this._pathProxy.pathCommands, this.style.lineWidth, this.style.brushType, e, t) : void 0
- }
- }, e("../tool/util").inherits(a, t), a
- }), i("zrender/shape/Droplet", ["require", "./Base", "./util/PathProxy", "../tool/area", "../tool/util"], function(e) {
- "use strict";
- var t = e("./Base"),
- i = e("./util/PathProxy"),
- n = e("../tool/area"),
- a = function(e) {
- t.call(this, e), this._pathProxy = new i
- };
- return a.prototype = {
- type: "droplet",
- buildPath: function(e, t) {
- var n = this._pathProxy || new i;
- n.begin(e), n.moveTo(t.x, t.y + t.a), n.bezierCurveTo(t.x + t.a, t.y + t.a, t.x + 3 * t.a / 2, t.y - t.a / 3, t.x, t.y - t.b), n.bezierCurveTo(t.x - 3 * t.a / 2, t.y - t.a / 3, t.x - t.a, t.y + t.a, t.x, t.y + t.a), n.closePath()
- },
- getRect: function(e) {
- return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
- },
- isCover: function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- return e = i[0], t = i[1], this.isCoverRect(e, t) ? n.isInsidePath(this._pathProxy.pathCommands, this.style.lineWidth, this.style.brushType, e, t) : void 0
- }
- }, e("../tool/util").inherits(a, t), a
- }), i("zrender/tool/math", [], function() {
- function e(e, t) {
- return Math.sin(t ? e * a : e)
- }
- function t(e, t) {
- return Math.cos(t ? e * a : e)
- }
- function i(e) {
- return e * a
- }
- function n(e) {
- return e / a
- }
- var a = Math.PI / 180;
- return {
- sin: e,
- cos: t,
- degreeToRadian: i,
- radianToDegree: n
- }
- }), i("zrender/shape/util/PathProxy", ["require", "../../tool/vector"], function(e) {
- var t = e("../../tool/vector"),
- i = function(e, t) {
- this.command = e, this.points = t || null
- },
- n = function() {
- this.pathCommands = [], this._ctx = null, this._min = [], this._max = []
- };
- return n.prototype.fastBoundingRect = function() {
- var e = this._min,
- i = this._max;
- e[0] = e[1] = 1 / 0, i[0] = i[1] = -(1 / 0);
- for(var n = 0; n < this.pathCommands.length; n++) {
- var a = this.pathCommands[n],
- o = a.points;
- switch(a.command) {
- case "M":
- t.min(e, e, o), t.max(i, i, o);
- break;
- case "L":
- t.min(e, e, o), t.max(i, i, o);
- break;
- case "C":
- for(var r = 0; 6 > r; r += 2) e[0] = Math.min(e[0], e[0], o[r]), e[1] = Math.min(e[1], e[1], o[r + 1]), i[0] = Math.max(i[0], i[0], o[r]), i[1] = Math.max(i[1], i[1], o[r + 1]);
- break;
- case "Q":
- for(var r = 0; 4 > r; r += 2) e[0] = Math.min(e[0], e[0], o[r]), e[1] = Math.min(e[1], e[1], o[r + 1]), i[0] = Math.max(i[0], i[0], o[r]), i[1] = Math.max(i[1], i[1], o[r + 1]);
- break;
- case "A":
- var s = o[0],
- l = o[1],
- h = o[2],
- m = o[3];
- e[0] = Math.min(e[0], e[0], s - h), e[1] = Math.min(e[1], e[1], l - m), i[0] = Math.max(i[0], i[0], s + h), i[1] = Math.max(i[1], i[1], l + m)
- }
- }
- return {
- x: e[0],
- y: e[1],
- width: i[0] - e[0],
- height: i[1] - e[1]
- }
- }, n.prototype.begin = function(e) {
- return this._ctx = e || null, this.pathCommands.length = 0, this
- }, n.prototype.moveTo = function(e, t) {
- return this.pathCommands.push(new i("M", [e, t])), this._ctx && this._ctx.moveTo(e, t), this
- }, n.prototype.lineTo = function(e, t) {
- return this.pathCommands.push(new i("L", [e, t])), this._ctx && this._ctx.lineTo(e, t), this
- }, n.prototype.bezierCurveTo = function(e, t, n, a, o, r) {
- return this.pathCommands.push(new i("C", [e, t, n, a, o, r])), this._ctx && this._ctx.bezierCurveTo(e, t, n, a, o, r), this
- }, n.prototype.quadraticCurveTo = function(e, t, n, a) {
- return this.pathCommands.push(new i("Q", [e, t, n, a])), this._ctx && this._ctx.quadraticCurveTo(e, t, n, a), this
- }, n.prototype.arc = function(e, t, n, a, o, r) {
- return this.pathCommands.push(new i("A", [e, t, n, n, a, o - a, 0, r ? 0 : 1])), this._ctx && this._ctx.arc(e, t, n, a, o, r), this
- }, n.prototype.arcTo = function(e, t, i, n, a) {
- return this._ctx && this._ctx.arcTo(e, t, i, n, a), this
- }, n.prototype.rect = function(e, t, i, n) {
- return this._ctx && this._ctx.rect(e, t, i, n), this
- }, n.prototype.closePath = function() {
- return this.pathCommands.push(new i("z")), this._ctx && this._ctx.closePath(), this
- }, n.prototype.isEmpty = function() {
- return 0 === this.pathCommands.length
- }, n.PathSegment = i, n
- }), i("zrender/shape/Line", ["require", "./Base", "./util/dashedLineTo", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = e("./util/dashedLineTo"),
- n = function(e) {
- this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
- };
- return n.prototype = {
- type: "line",
- buildPath: function(e, t) {
- if(t.lineType && "solid" != t.lineType) {
- if("dashed" == t.lineType || "dotted" == t.lineType) {
- var n = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
- i(e, t.xStart, t.yStart, t.xEnd, t.yEnd, n)
- }
- } else e.moveTo(t.xStart, t.yStart), e.lineTo(t.xEnd, t.yEnd)
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t = e.lineWidth || 1;
- return e.__rect = {
- x: Math.min(e.xStart, e.xEnd) - t,
- y: Math.min(e.yStart, e.yEnd) - t,
- width: Math.abs(e.xStart - e.xEnd) + t,
- height: Math.abs(e.yStart - e.yEnd) + t
- }, e.__rect
- }
- }, e("../tool/util").inherits(n, t), n
- }), i("zrender/shape/BezierCurve", ["require", "./Base", "../tool/util"], function(e) {
- "use strict";
- var t = e("./Base"),
- i = function(e) {
- this.brushTypeOnly = "stroke", this.textPosition = "end", t.call(this, e)
- };
- return i.prototype = {
- type: "bezier-curve",
- buildPath: function(e, t) {
- e.moveTo(t.xStart, t.yStart), "undefined" != typeof t.cpX2 && "undefined" != typeof t.cpY2 ? e.bezierCurveTo(t.cpX1, t.cpY1, t.cpX2, t.cpY2, t.xEnd, t.yEnd) : e.quadraticCurveTo(t.cpX1, t.cpY1, t.xEnd, t.yEnd)
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t = Math.min(e.xStart, e.xEnd, e.cpX1),
- i = Math.min(e.yStart, e.yEnd, e.cpY1),
- n = Math.max(e.xStart, e.xEnd, e.cpX1),
- a = Math.max(e.yStart, e.yEnd, e.cpY1),
- o = e.cpX2,
- r = e.cpY2;
- "undefined" != typeof o && "undefined" != typeof r && (t = Math.min(t, o), i = Math.min(i, r), n = Math.max(n, o), a = Math.max(a, r));
- var s = e.lineWidth || 1;
- return e.__rect = {
- x: t - s,
- y: i - s,
- width: n - t + s,
- height: a - i + s
- }, e.__rect
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("zrender/shape/util/dashedLineTo", [], function() {
- var e = [5, 5];
- return function(t, i, n, a, o, r) {
- if(t.setLineDash) return e[0] = e[1] = r, t.setLineDash(e), t.moveTo(i, n), void t.lineTo(a, o);
- r = "number" != typeof r ? 5 : r;
- var s = a - i,
- l = o - n,
- h = Math.floor(Math.sqrt(s * s + l * l) / r);
- s /= h, l /= h;
- for(var m = !0, V = 0; h > V; ++V) m ? t.moveTo(i, n) : t.lineTo(i, n), m = !m, i += s, n += l;
- t.lineTo(a, o)
- }
- }), i("zrender/shape/Polygon", ["require", "./Base", "./util/smoothSpline", "./util/smoothBezier", "./util/dashedLineTo", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = e("./util/smoothSpline"),
- n = e("./util/smoothBezier"),
- a = e("./util/dashedLineTo"),
- o = function(e) {
- t.call(this, e)
- };
- return o.prototype = {
- type: "polygon",
- buildPath: function(e, t) {
- var o = t.pointList;
- if(!(o.length < 2)) {
- if(t.smooth && "spline" !== t.smooth) {
- var r = n(o, t.smooth, !0, t.smoothConstraint);
- e.moveTo(o[0][0], o[0][1]);
- for(var s, l, h, m = o.length, V = 0; m > V; V++) s = r[2 * V], l = r[2 * V + 1], h = o[(V + 1) % m], e.bezierCurveTo(s[0], s[1], l[0], l[1], h[0], h[1])
- } else if("spline" === t.smooth && (o = i(o, !0)), t.lineType && "solid" != t.lineType) {
- if("dashed" == t.lineType || "dotted" == t.lineType) {
- var U = t._dashLength || (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
- t._dashLength = U, e.moveTo(o[0][0], o[0][1]);
- for(var V = 1, d = o.length; d > V; V++) a(e, o[V - 1][0], o[V - 1][1], o[V][0], o[V][1], U);
- a(e, o[o.length - 1][0], o[o.length - 1][1], o[0][0], o[0][1], U)
- }
- } else {
- e.moveTo(o[0][0], o[0][1]);
- for(var V = 1, d = o.length; d > V; V++) e.lineTo(o[V][0], o[V][1]);
- e.lineTo(o[0][0], o[0][1])
- }
- e.closePath()
- }
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- for(var t = Number.MAX_VALUE, i = Number.MIN_VALUE, n = Number.MAX_VALUE, a = Number.MIN_VALUE, o = e.pointList, r = 0, s = o.length; s > r; r++) o[r][0] < t && (t = o[r][0]), o[r][0] > i && (i = o[r][0]), o[r][1] < n && (n = o[r][1]), o[r][1] > a && (a = o[r][1]);
- var l;
- return l = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
- x: Math.round(t - l / 2),
- y: Math.round(n - l / 2),
- width: i - t + l,
- height: a - n + l
- }, e.__rect
- }
- }, e("../tool/util").inherits(o, t), o
- }), i("echarts/util/shape/normalIsCover", [], function() {
- return function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- return e = i[0], t = i[1], this.isCoverRect(e, t)
- }
- }), i("zrender/shape/util/smoothSpline", ["require", "../../tool/vector"], function(e) {
- function t(e, t, i, n, a, o, r) {
- var s = .5 * (i - e),
- l = .5 * (n - t);
- return(2 * (t - i) + s + l) * r + (-3 * (t - i) - 2 * s - l) * o + s * a + t
- }
- var i = e("../../tool/vector");
- return function(e, n) {
- for(var a = e.length, o = [], r = 0, s = 1; a > s; s++) r += i.distance(e[s - 1], e[s]);
- var l = r / 5;
- l = a > l ? a : l;
- for(var s = 0; l > s; s++) {
- var h, m, V, U = s / (l - 1) * (n ? a : a - 1),
- d = Math.floor(U),
- p = U - d,
- c = e[d % a];
- n ? (h = e[(d - 1 + a) % a], m = e[(d + 1) % a], V = e[(d + 2) % a]) : (h = e[0 === d ? d : d - 1], m = e[d > a - 2 ? a - 1 : d + 1], V = e[d > a - 3 ? a - 1 : d + 2]);
- var u = p * p,
- y = p * u;
- o.push([t(h[0], c[0], m[0], V[0], p, u, y), t(h[1], c[1], m[1], V[1], p, u, y)])
- }
- return o
- }
- }), i("zrender/shape/util/smoothBezier", ["require", "../../tool/vector"], function(e) {
- var t = e("../../tool/vector");
- return function(e, i, n, a) {
- var o, r, s, l, h = [],
- m = [],
- V = [],
- U = [],
- d = !!a;
- if(d) {
- s = [1 / 0, 1 / 0], l = [-(1 / 0), -(1 / 0)];
- for(var p = 0, c = e.length; c > p; p++) t.min(s, s, e[p]), t.max(l, l, e[p]);
- t.min(s, s, a[0]), t.max(l, l, a[1])
- }
- for(var p = 0, c = e.length; c > p; p++) {
- var o, r, u = e[p];
- if(n) o = e[p ? p - 1 : c - 1], r = e[(p + 1) % c];
- else {
- if(0 === p || p === c - 1) {
- h.push(t.clone(e[p]));
- continue
- }
- o = e[p - 1], r = e[p + 1]
- }
- t.sub(m, r, o), t.scale(m, m, i);
- var y = t.distance(u, o),
- g = t.distance(u, r),
- b = y + g;
- 0 !== b && (y /= b, g /= b), t.scale(V, m, -y), t.scale(U, m, g);
- var f = t.add([], u, V),
- k = t.add([], u, U);
- d && (t.max(f, f, s), t.min(f, f, l), t.max(k, k, s), t.min(k, k, l)), h.push(f), h.push(k)
- }
- return n && h.push(t.clone(h.shift())), h
- }
- }), i("echarts/util/ecQuery", ["require", "zrender/tool/util"], function(e) {
- function t(e, t) {
- if("undefined" != typeof e) {
- if(!t) return e;
- t = t.split(".");
- for(var i = t.length, n = 0; i > n;) {
- if(e = e[t[n]], "undefined" == typeof e) return;
- n++
- }
- return e
- }
- }
- function i(e, i) {
- for(var n, a = 0, o = e.length; o > a; a++)
- if(n = t(e[a], i), "undefined" != typeof n) return n
- }
- function n(e, i) {
- for(var n, o = e.length; o--;) {
- var r = t(e[o], i);
- "undefined" != typeof r && ("undefined" == typeof n ? n = a.clone(r) : a.merge(n, r, !0))
- }
- return n
- }
- var a = e("zrender/tool/util");
- return {
- query: t,
- deepQuery: i,
- deepMerge: n
- }
- }), i("echarts/util/number", [], function() {
- function e(e) {
- return e.replace(/^\s+/, "").replace(/\s+$/, "")
- }
- function t(t, i) {
- return "string" == typeof t ? e(t).match(/%$/) ? parseFloat(t) / 100 * i : parseFloat(t) : t
- }
- function i(e, i) {
- return [t(i[0], e.getWidth()), t(i[1], e.getHeight())]
- }
- function n(e, i) {
- i instanceof Array || (i = [0, i]);
- var n = Math.min(e.getWidth(), e.getHeight()) / 2;
- return [t(i[0], n), t(i[1], n)]
- }
- function a(e) {
- return isNaN(e) ? "-" : (e = (e + "").split("."), e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (e.length > 1 ? "." + e[1] : ""))
- }
- function o(e) {
- for(var t = 1, i = 0; Math.round(e * t) / t !== e;) t *= 10, i++;
- return i
- }
- return {
- parsePercent: t,
- parseCenter: i,
- parseRadius: n,
- addCommas: a,
- getPrecision: o
- }
- }), i("echarts/data/KDTree", ["require", "./quickSelect"], function(e) {
- function t(e, t) {
- this.left = null, this.right = null, this.axis = e, this.data = t
- }
- var i = e("./quickSelect"),
- n = function(e, t) {
- e.length && (t || (t = e[0].array.length), this.dimension = t, this.root = this._buildTree(e, 0, e.length - 1, 0), this._stack = [], this._nearstNList = [])
- };
- return n.prototype._buildTree = function(e, n, a, o) {
- if(n > a) return null;
- var r = Math.floor((n + a) / 2);
- r = i(e, n, a, r, function(e, t) {
- return e.array[o] - t.array[o]
- });
- var s = e[r],
- l = new t(o, s);
- return o = (o + 1) % this.dimension, a > n && (l.left = this._buildTree(e, n, r - 1, o), l.right = this._buildTree(e, r + 1, a, o)), l
- }, n.prototype.nearest = function(e, t) {
- var i = this.root,
- n = this._stack,
- a = 0,
- o = 1 / 0,
- r = null;
- for(i.data !== e && (o = t(i.data, e), r = i), e.array[i.axis] < i.data.array[i.axis] ? (i.right && (n[a++] = i.right), i.left && (n[a++] = i.left)) : (i.left && (n[a++] = i.left), i.right && (n[a++] = i.right)); a--;) {
- i = n[a];
- var s = e.array[i.axis] - i.data.array[i.axis],
- l = 0 > s,
- h = !1;
- s *= s, o > s && (s = t(i.data, e), o > s && i.data !== e && (o = s, r = i), h = !0), l ? (h && i.right && (n[a++] = i.right), i.left && (n[a++] = i.left)) : (h && i.left && (n[a++] = i.left), i.right && (n[a++] = i.right))
- }
- return r.data
- }, n.prototype._addNearest = function(e, t, i) {
- for(var n = this._nearstNList, a = e - 1; a > 0 && !(t >= n[a - 1].dist); a--) n[a].dist = n[a - 1].dist, n[a].node = n[a - 1].node;
- n[a].dist = t, n[a].node = i
- }, n.prototype.nearestN = function(e, t, i, n) {
- if(0 >= t) return n.length = 0, n;
- for(var a = this.root, o = this._stack, r = 0, s = this._nearstNList, l = 0; t > l; l++) s[l] || (s[l] = {}), s[l].dist = 0, s[l].node = null;
- var h = i(a.data, e),
- m = 0;
- for(a.data !== e && (m++, this._addNearest(m, h, a)), e.array[a.axis] < a.data.array[a.axis] ? (a.right && (o[r++] = a.right), a.left && (o[r++] = a.left)) : (a.left && (o[r++] = a.left), a.right && (o[r++] = a.right)); r--;) {
- a = o[r];
- var h = e.array[a.axis] - a.data.array[a.axis],
- V = 0 > h,
- U = !1;
- h *= h, (t > m || h < s[m - 1].dist) && (h = i(a.data, e), (t > m || h < s[m - 1].dist) && a.data !== e && (t > m && m++, this._addNearest(m, h, a)), U = !0), V ? (U && a.right && (o[r++] = a.right), a.left && (o[r++] = a.left)) : (U && a.left && (o[r++] = a.left), a.right && (o[r++] = a.right))
- }
- for(var l = 0; m > l; l++) n[l] = s[l].node.data;
- return n.length = m, n
- }, n
- }), i("echarts/data/quickSelect", ["require"], function() {
- function e(e, t) {
- return e - t
- }
- function t(e, t, i) {
- var n = e[t];
- e[t] = e[i], e[i] = n
- }
- function i(e, i, n, a, o) {
- for(var r = i; n > i;) {
- var r = Math.round((n + i) / 2),
- s = e[r];
- t(e, r, n), r = i;
- for(var l = i; n - 1 >= l; l++) o(s, e[l]) >= 0 && (t(e, l, r), r++);
- if(t(e, n, r), r === a) return r;
- a > r ? i = r + 1 : n = r - 1
- }
- return i
- }
- function n(t, n, a, o, r) {
- return arguments.length <= 3 && (o = n, r = 2 == arguments.length ? e : a, n = 0, a = t.length - 1), i(t, n, a, o, r)
- }
- return n
- }), i("echarts/component/dataView", ["require", "./base", "../config", "zrender/tool/util", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.dom = o.dom, this._tDom = document.createElement("div"), this._textArea = document.createElement("textArea"), this._buttonRefresh = document.createElement("button"), this._buttonRefresh.setAttribute("type", "button"), this._buttonClose = document.createElement("button"), this._buttonClose.setAttribute("type", "button"), this._hasShow = !1, this._zrHeight = n.getHeight(), this._zrWidth = n.getWidth(), this._tDom.className = "echarts-dataview", this.hide(), this.dom.firstChild.appendChild(this._tDom), window.addEventListener ? (this._tDom.addEventListener("click", this._stop), this._tDom.addEventListener("mousewheel", this._stop), this._tDom.addEventListener("mousemove", this._stop), this._tDom.addEventListener("mousedown", this._stop), this._tDom.addEventListener("mouseup", this._stop), this._tDom.addEventListener("touchstart", this._stop), this._tDom.addEventListener("touchmove", this._stop), this._tDom.addEventListener("touchend", this._stop)) : (this._tDom.attachEvent("onclick", this._stop), this._tDom.attachEvent("onmousewheel", this._stop), this._tDom.attachEvent("onmousemove", this._stop), this._tDom.attachEvent("onmousedown", this._stop), this._tDom.attachEvent("onmouseup", this._stop))
- }
- var i = e("./base"),
- n = e("../config"),
- a = e("zrender/tool/util");
- return t.prototype = {
- type: n.COMPONENT_TYPE_DATAVIEW,
- _lang: ["Data View", "close", "refresh"],
- _gCssText: "position:absolute;display:block;overflow:hidden;transition:height 0.8s,background-color 1s;-moz-transition:height 0.8s,background-color 1s;-webkit-transition:height 0.8s,background-color 1s;-o-transition:height 0.8s,background-color 1s;z-index:1;left:0;top:0;",
- hide: function() {
- this._sizeCssText = "width:" + this._zrWidth + "px;height:0px;background-color:#f0ffff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText
- },
- show: function(e) {
- this._hasShow = !0;
- var t = this.query(this.option, "toolbox.feature.dataView.lang") || this._lang;
- this.option = e, this._tDom.innerHTML = '<p style="padding:8px 0;margin:0 0 10px 0;border-bottom:1px solid #eee">' + (t[0] || this._lang[0]) + "</p>";
- var i = this.query(this.option, "toolbox.feature.dataView.optionToContent");
- "function" != typeof i ? this._textArea.value = this._optionToContent() : (this._textArea = document.createElement("div"), this._textArea.innerHTML = i(this.option)), this._textArea.style.cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + (this._zrHeight - 100) + "px;", this._tDom.appendChild(this._textArea), this._buttonClose.style.cssText = "float:right;padding:1px 6px;", this._buttonClose.innerHTML = t[1] || this._lang[1];
- var n = this;
- this._buttonClose.onclick = function() {
- n.hide()
- }, this._tDom.appendChild(this._buttonClose), this.query(this.option, "toolbox.feature.dataView.readOnly") === !1 ? (this._buttonRefresh.style.cssText = "float:right;margin-right:10px;padding:1px 6px;", this._buttonRefresh.innerHTML = t[2] || this._lang[2], this._buttonRefresh.onclick = function() {
- n._save()
- }, this._textArea.readOnly = !1, this._textArea.style.cursor = "default") : (this._buttonRefresh.style.cssText = "display:none",
- this._textArea.readOnly = !0, this._textArea.style.cursor = "text"), this._tDom.appendChild(this._buttonRefresh), this._sizeCssText = "width:" + this._zrWidth + "px;height:" + this._zrHeight + "px;background-color:#fff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText
- },
- _optionToContent: function() {
- var e, t, i, a, o, r, s = [],
- l = "";
- if(this.option.xAxis)
- for(s = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], e = 0, a = s.length; a > e; e++)
- if("category" == (s[e].type || "category")) {
- for(r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t]));
- l += r.join(", ") + "\n\n"
- }
- if(this.option.yAxis)
- for(s = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], e = 0, a = s.length; a > e; e++)
- if("category" == s[e].type) {
- for(r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t]));
- l += r.join(", ") + "\n\n"
- }
- var h, m = this.option.series;
- for(e = 0, a = m.length; a > e; e++) {
- for(r = [], t = 0, i = m[e].data.length; i > t; t++) o = m[e].data[t], h = m[e].type == n.CHART_TYPE_PIE || m[e].type == n.CHART_TYPE_MAP ? (o.name || "-") + ":" : "", m[e].type == n.CHART_TYPE_SCATTER && (o = this.getDataFromOption(o).join(", ")), r.push(h + this.getDataFromOption(o));
- l += (m[e].name || "-") + " : \n", l += r.join(m[e].type == n.CHART_TYPE_SCATTER ? "\n" : ", "), l += "\n\n"
- }
- return l
- },
- _save: function() {
- var e = this.query(this.option, "toolbox.feature.dataView.contentToOption");
- if("function" != typeof e) {
- for(var t = this._textArea.value.split("\n"), i = [], a = 0, o = t.length; o > a; a++) t[a] = this._trim(t[a]), "" !== t[a] && i.push(t[a]);
- this._contentToOption(i)
- } else e(this._textArea, this.option);
- this.hide();
- var r = this;
- setTimeout(function() {
- r.messageCenter && r.messageCenter.dispatch(n.EVENT.DATA_VIEW_CHANGED, null, {
- option: r.option
- }, r.myChart)
- }, r.canvasSupported ? 800 : 100)
- },
- _contentToOption: function(e) {
- var t, i, a, o, r, s, l, h = [],
- m = 0;
- if(this.option.xAxis)
- for(h = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], t = 0, o = h.length; o > t; t++)
- if("category" == (h[t].type || "category")) {
- for(s = e[m].split(","), i = 0, a = h[t].data.length; a > i; i++) l = this._trim(s[i] || ""), r = h[t].data[i], "undefined" != typeof h[t].data[i].value ? h[t].data[i].value = l : h[t].data[i] = l;
- m++
- }
- if(this.option.yAxis)
- for(h = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], t = 0, o = h.length; o > t; t++)
- if("category" == h[t].type) {
- for(s = e[m].split(","), i = 0, a = h[t].data.length; a > i; i++) l = this._trim(s[i] || ""), r = h[t].data[i], "undefined" != typeof h[t].data[i].value ? h[t].data[i].value = l : h[t].data[i] = l;
- m++
- }
- var V = this.option.series;
- for(t = 0, o = V.length; o > t; t++)
- if(m++, V[t].type == n.CHART_TYPE_SCATTER)
- for(var i = 0, a = V[t].data.length; a > i; i++) s = e[m], l = s.replace(" ", "").split(","), "undefined" != typeof V[t].data[i].value ? V[t].data[i].value = l : V[t].data[i] = l, m++;
- else {
- s = e[m].split(",");
- for(var i = 0, a = V[t].data.length; a > i; i++) l = (s[i] || "").replace(/.*:/, ""), l = this._trim(l), l = "-" != l && "" !== l ? l - 0 : "-", "undefined" != typeof V[t].data[i].value ? V[t].data[i].value = l : V[t].data[i] = l;
- m++
- }
- },
- _trim: function(e) {
- var t = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)", "g");
- return e.replace(t, "")
- },
- _stop: function(e) {
- e = e || window.event, e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
- },
- resize: function() {
- this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth(), this._tDom.offsetHeight > 10 && (this._sizeCssText = "width:" + this._zrWidth + "px;height:" + this._zrHeight + "px;background-color:#fff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText, this._textArea.style.cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + (this._zrHeight - 100) + "px;")
- },
- dispose: function() {
- window.removeEventListener ? (this._tDom.removeEventListener("click", this._stop), this._tDom.removeEventListener("mousewheel", this._stop), this._tDom.removeEventListener("mousemove", this._stop), this._tDom.removeEventListener("mousedown", this._stop), this._tDom.removeEventListener("mouseup", this._stop), this._tDom.removeEventListener("touchstart", this._stop), this._tDom.removeEventListener("touchmove", this._stop), this._tDom.removeEventListener("touchend", this._stop)) : (this._tDom.detachEvent("onclick", this._stop), this._tDom.detachEvent("onmousewheel", this._stop), this._tDom.detachEvent("onmousemove", this._stop), this._tDom.detachEvent("onmousedown", this._stop), this._tDom.detachEvent("onmouseup", this._stop)), this._buttonRefresh.onclick = null, this._buttonClose.onclick = null, this._hasShow && (this._tDom.removeChild(this._textArea), this._tDom.removeChild(this._buttonRefresh), this._tDom.removeChild(this._buttonClose)), this._textArea = null, this._buttonRefresh = null, this._buttonClose = null, this.dom.firstChild.removeChild(this._tDom), this._tDom = null
- }
- }, a.inherits(t, i), e("../component").define("dataView", t), t
- }), i("echarts/util/shape/Cross", ["require", "zrender/shape/Base", "zrender/shape/Line", "zrender/tool/util", "./normalIsCover"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/shape/Line"),
- a = e("zrender/tool/util");
- return t.prototype = {
- type: "cross",
- buildPath: function(e, t) {
- var i = t.rect;
- t.xStart = i.x, t.xEnd = i.x + i.width, t.yStart = t.yEnd = t.y, n.prototype.buildPath(e, t), t.xStart = t.xEnd = t.x, t.yStart = i.y, t.yEnd = i.y + i.height, n.prototype.buildPath(e, t)
- },
- getRect: function(e) {
- return e.rect
- },
- isCover: e("./normalIsCover")
- }, a.inherits(t, i), t
- }), i("zrender/shape/Sector", ["require", "../tool/math", "../tool/computeBoundingBox", "../tool/vector", "./Base", "../tool/util"], function(e) {
- var t = e("../tool/math"),
- i = e("../tool/computeBoundingBox"),
- n = e("../tool/vector"),
- a = e("./Base"),
- o = n.create(),
- r = n.create(),
- s = n.create(),
- l = n.create(),
- h = function(e) {
- a.call(this, e)
- };
- return h.prototype = {
- type: "sector",
- buildPath: function(e, i) {
- var n = i.x,
- a = i.y,
- o = i.r0 || 0,
- r = i.r,
- s = i.startAngle,
- l = i.endAngle,
- h = i.clockWise || !1;
- s = t.degreeToRadian(s), l = t.degreeToRadian(l), h || (s = -s, l = -l);
- var m = t.cos(s),
- V = t.sin(s);
- e.moveTo(m * o + n, V * o + a), e.lineTo(m * r + n, V * r + a), e.arc(n, a, r, s, l, !h), e.lineTo(t.cos(l) * o + n, t.sin(l) * o + a), 0 !== o && e.arc(n, a, o, l, s, h), e.closePath()
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var a = e.x,
- h = e.y,
- m = e.r0 || 0,
- V = e.r,
- U = t.degreeToRadian(e.startAngle),
- d = t.degreeToRadian(e.endAngle),
- p = e.clockWise;
- return p || (U = -U, d = -d), m > 1 ? i.arc(a, h, m, U, d, !p, o, s) : (o[0] = s[0] = a, o[1] = s[1] = h), i.arc(a, h, V, U, d, !p, r, l), n.min(o, o, r), n.max(s, s, l), e.__rect = {
- x: o[0],
- y: o[1],
- width: s[0] - o[0],
- height: s[1] - o[1]
- }, e.__rect
- }
- }, e("../tool/util").inherits(h, a), h
- }), i("echarts/util/shape/Candle", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/tool/util");
- return t.prototype = {
- type: "candle",
- _numberOrder: function(e, t) {
- return t - e
- },
- buildPath: function(e, t) {
- var i = n.clone(t.y).sort(this._numberOrder);
- e.moveTo(t.x, i[3]), e.lineTo(t.x, i[2]), e.moveTo(t.x - t.width / 2, i[2]), e.rect(t.x - t.width / 2, i[2], t.width, i[1] - i[2]), e.moveTo(t.x, i[1]), e.lineTo(t.x, i[0])
- },
- getRect: function(e) {
- if(!e.__rect) {
- var t = 0;
- ("stroke" == e.brushType || "fill" == e.brushType) && (t = e.lineWidth || 1);
- var i = n.clone(e.y).sort(this._numberOrder);
- e.__rect = {
- x: Math.round(e.x - e.width / 2 - t / 2),
- y: Math.round(i[3] - t / 2),
- width: e.width + t,
- height: i[0] - i[3] + t
- }
- }
- return e.__rect
- },
- isCover: e("./normalIsCover")
- }, n.inherits(t, i), t
- }), i("zrender/tool/computeBoundingBox", ["require", "./vector", "./curve"], function(e) {
- function t(e, t, i) {
- if(0 !== e.length) {
- for(var n = e[0][0], a = e[0][0], o = e[0][1], r = e[0][1], s = 1; s < e.length; s++) {
- var l = e[s];
- l[0] < n && (n = l[0]), l[0] > a && (a = l[0]), l[1] < o && (o = l[1]), l[1] > r && (r = l[1])
- }
- t[0] = n, t[1] = o, i[0] = a, i[1] = r
- }
- }
- function i(e, t, i, n, a, r) {
- var s = [];
- o.cubicExtrema(e[0], t[0], i[0], n[0], s);
- for(var l = 0; l < s.length; l++) s[l] = o.cubicAt(e[0], t[0], i[0], n[0], s[l]);
- var h = [];
- o.cubicExtrema(e[1], t[1], i[1], n[1], h);
- for(var l = 0; l < h.length; l++) h[l] = o.cubicAt(e[1], t[1], i[1], n[1], h[l]);
- s.push(e[0], n[0]), h.push(e[1], n[1]);
- var m = Math.min.apply(null, s),
- V = Math.max.apply(null, s),
- U = Math.min.apply(null, h),
- d = Math.max.apply(null, h);
- a[0] = m, a[1] = U, r[0] = V, r[1] = d
- }
- function n(e, t, i, n, a) {
- var r = o.quadraticExtremum(e[0], t[0], i[0]),
- s = o.quadraticExtremum(e[1], t[1], i[1]);
- r = Math.max(Math.min(r, 1), 0), s = Math.max(Math.min(s, 1), 0);
- var l = 1 - r,
- h = 1 - s,
- m = l * l * e[0] + 2 * l * r * t[0] + r * r * i[0],
- V = l * l * e[1] + 2 * l * r * t[1] + r * r * i[1],
- U = h * h * e[0] + 2 * h * s * t[0] + s * s * i[0],
- d = h * h * e[1] + 2 * h * s * t[1] + s * s * i[1];
- n[0] = Math.min(e[0], i[0], m, U), n[1] = Math.min(e[1], i[1], V, d), a[0] = Math.max(e[0], i[0], m, U), a[1] = Math.max(e[1], i[1], V, d)
- }
- var a = e("./vector"),
- o = e("./curve"),
- r = a.create(),
- s = a.create(),
- l = a.create(),
- h = function(e, t, i, n, o, h, m, V) {
- if(Math.abs(n - o) >= 2 * Math.PI) return m[0] = e - i, m[1] = t - i, V[0] = e + i, void(V[1] = t + i);
- if(r[0] = Math.cos(n) * i + e, r[1] = Math.sin(n) * i + t, s[0] = Math.cos(o) * i + e, s[1] = Math.sin(o) * i + t, a.min(m, r, s), a.max(V, r, s), n %= 2 * Math.PI, 0 > n && (n += 2 * Math.PI), o %= 2 * Math.PI, 0 > o && (o += 2 * Math.PI), n > o && !h ? o += 2 * Math.PI : o > n && h && (n += 2 * Math.PI), h) {
- var U = o;
- o = n, n = U
- }
- for(var d = 0; o > d; d += Math.PI / 2) d > n && (l[0] = Math.cos(d) * i + e, l[1] = Math.sin(d) * i + t, a.min(m, l, m), a.max(V, l, V))
- };
- return t.cubeBezier = i, t.quadraticBezier = n, t.arc = h, t
- }), i("echarts/util/shape/Chain", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/matrix"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("./Icon"),
- a = e("zrender/shape/util/dashedLineTo"),
- o = e("zrender/tool/util"),
- r = e("zrender/tool/matrix");
- return t.prototype = {
- type: "chain",
- brush: function(e, t) {
- var i = this.style;
- t && (i = this.getHighlightStyle(i, this.highlightStyle || {})), e.save(), this.setContext(e, i), this.setTransform(e), e.save(), e.beginPath(), this.buildLinePath(e, i), e.stroke(), e.restore(), this.brushSymbol(e, i), e.restore()
- },
- buildLinePath: function(e, t) {
- var i = t.x,
- n = t.y + 5,
- o = t.width,
- r = t.height / 2 - 10;
- if(e.moveTo(i, n), e.lineTo(i, n + r), e.moveTo(i + o, n), e.lineTo(i + o, n + r), e.moveTo(i, n + r / 2), t.lineType && "solid" != t.lineType) {
- if("dashed" == t.lineType || "dotted" == t.lineType) {
- var s = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1);
- a(e, i, n + r / 2, i + o, n + r / 2, s)
- }
- } else e.lineTo(i + o, n + r / 2)
- },
- brushSymbol: function(e, t) {
- var i = t.y + t.height / 4;
- e.save();
- for(var a, o = t.chainPoint, r = 0, s = o.length; s > r; r++) {
- if(a = o[r], "none" != a.symbol) {
- e.beginPath();
- var l = a.symbolSize;
- n.prototype.buildPath(e, {
- iconType: a.symbol,
- x: a.x - l,
- y: i - l,
- width: 2 * l,
- height: 2 * l,
- n: a.n
- }), e.fillStyle = a.isEmpty ? "#fff" : t.strokeColor, e.closePath(), e.fill(), e.stroke()
- }
- a.showLabel && (e.font = a.textFont, e.fillStyle = a.textColor, e.textAlign = a.textAlign, e.textBaseline = a.textBaseline, a.rotation ? (e.save(), this._updateTextTransform(e, a.rotation), e.fillText(a.name, a.textX, a.textY), e.restore()) : e.fillText(a.name, a.textX, a.textY))
- }
- e.restore()
- },
- _updateTextTransform: function(e, t) {
- var i = r.create();
- if(r.identity(i), 0 !== t[0]) {
- var n = t[1] || 0,
- a = t[2] || 0;
- (n || a) && r.translate(i, i, [-n, -a]), r.rotate(i, i, t[0]), (n || a) && r.translate(i, i, [n, a])
- }
- e.transform.apply(e, i)
- },
- isCover: function(e, t) {
- var i = this.style;
- return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? !0 : !1
- }
- }, o.inherits(t, i), t
- }), i("zrender/shape/Ring", ["require", "./Base", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = function(e) {
- t.call(this, e)
- };
- return i.prototype = {
- type: "ring",
- buildPath: function(e, t) {
- e.arc(t.x, t.y, t.r, 0, 2 * Math.PI, !1), e.moveTo(t.x + t.r0, t.y), e.arc(t.x, t.y, t.r0, 0, 2 * Math.PI, !0)
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t;
- return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
- x: Math.round(e.x - e.r - t / 2),
- y: Math.round(e.y - e.r - t / 2),
- width: 2 * e.r + t,
- height: 2 * e.r + t
- }, e.__rect
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("echarts/component/axis", ["require", "./base", "zrender/shape/Line", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "./categoryAxis", "./valueAxis", "../component"], function(e) {
- function t(e, t, n, a, o, r) {
- i.call(this, e, t, n, a, o), this.axisType = r, this._axisList = [], this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Line"),
- a = e("../config"),
- o = e("../util/ecData"),
- r = e("zrender/tool/util"),
- s = e("zrender/tool/color");
- return t.prototype = {
- type: a.COMPONENT_TYPE_AXIS,
- axisBase: {
- _buildAxisLine: function() {
- var e = this.option.axisLine.lineStyle.width,
- t = e / 2,
- i = {
- _axisShape: "axisLine",
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 3,
- hoverable: !1
- },
- a = this.grid;
- switch(this.option.position) {
- case "left":
- i.style = {
- xStart: a.getX() - t,
- yStart: a.getYend(),
- xEnd: a.getX() - t,
- yEnd: a.getY(),
- lineCap: "round"
- };
- break;
- case "right":
- i.style = {
- xStart: a.getXend() + t,
- yStart: a.getYend(),
- xEnd: a.getXend() + t,
- yEnd: a.getY(),
- lineCap: "round"
- };
- break;
- case "bottom":
- i.style = {
- xStart: a.getX(),
- yStart: a.getYend() + t,
- xEnd: a.getXend(),
- yEnd: a.getYend() + t,
- lineCap: "round"
- };
- break;
- case "top":
- i.style = {
- xStart: a.getX(),
- yStart: a.getY() - t,
- xEnd: a.getXend(),
- yEnd: a.getY() - t,
- lineCap: "round"
- }
- }
- var o = i.style;
- "" !== this.option.name && (o.text = this.option.name, o.textPosition = this.option.nameLocation, o.textFont = this.getFont(this.option.nameTextStyle), this.option.nameTextStyle.align && (o.textAlign = this.option.nameTextStyle.align), this.option.nameTextStyle.baseline && (o.textBaseline = this.option.nameTextStyle.baseline), this.option.nameTextStyle.color && (o.textColor = this.option.nameTextStyle.color)), o.strokeColor = this.option.axisLine.lineStyle.color, o.lineWidth = e, this.isHorizontal() ? o.yStart = o.yEnd = this.subPixelOptimize(o.yEnd, e) : o.xStart = o.xEnd = this.subPixelOptimize(o.xEnd, e), o.lineType = this.option.axisLine.lineStyle.type, i = new n(i), this.shapeList.push(i)
- },
- _axisLabelClickable: function(e, t) {
- return e ? (o.pack(t, void 0, -1, void 0, -1, t.style.text), t.hoverable = !0, t.clickable = !0, t.highlightStyle = {
- color: s.lift(t.style.color, 1),
- brushType: "fill"
- }, t) : t
- },
- refixAxisShape: function(e, t) {
- if(this.option.axisLine.onZero) {
- var i;
- if(this.isHorizontal() && null != t)
- for(var n = 0, a = this.shapeList.length; a > n; n++) "axisLine" === this.shapeList[n]._axisShape ? (this.shapeList[n].style.yStart = this.shapeList[n].style.yEnd = this.subPixelOptimize(t, this.shapeList[n].stylelineWidth), this.zr.modShape(this.shapeList[n].id)) : "axisTick" === this.shapeList[n]._axisShape && (i = this.shapeList[n].style.yEnd - this.shapeList[n].style.yStart, this.shapeList[n].style.yStart = t - i, this.shapeList[n].style.yEnd = t, this.zr.modShape(this.shapeList[n].id));
- if(!this.isHorizontal() && null != e)
- for(var n = 0, a = this.shapeList.length; a > n; n++) "axisLine" === this.shapeList[n]._axisShape ? (this.shapeList[n].style.xStart = this.shapeList[n].style.xEnd = this.subPixelOptimize(e, this.shapeList[n].stylelineWidth), this.zr.modShape(this.shapeList[n].id)) : "axisTick" === this.shapeList[n]._axisShape && (i = this.shapeList[n].style.xEnd - this.shapeList[n].style.xStart, this.shapeList[n].style.xStart = e, this.shapeList[n].style.xEnd = e + i, this.zr.modShape(this.shapeList[n].id))
- }
- },
- getPosition: function() {
- return this.option.position
- },
- isHorizontal: function() {
- return "bottom" === this.option.position || "top" === this.option.position
- }
- },
- reformOption: function(e) {
- if(!e || e instanceof Array && 0 === e.length ? e = [{
- type: a.COMPONENT_TYPE_AXIS_VALUE
- }] : e instanceof Array || (e = [e]), e.length > 2 && (e = [e[0], e[1]]), "xAxis" === this.axisType) {
- (!e[0].position || "bottom" != e[0].position && "top" != e[0].position) && (e[0].position = "bottom"), e.length > 1 && (e[1].position = "bottom" === e[0].position ? "top" : "bottom");
- for(var t = 0, i = e.length; i > t; t++) e[t].type = e[t].type || "category", e[t].xAxisIndex = t, e[t].yAxisIndex = -1
- } else {
- (!e[0].position || "left" != e[0].position && "right" != e[0].position) && (e[0].position = "left"), e.length > 1 && (e[1].position = "left" === e[0].position ? "right" : "left");
- for(var t = 0, i = e.length; i > t; t++) e[t].type = e[t].type || "value", e[t].xAxisIndex = -1, e[t].yAxisIndex = t
- }
- return e
- },
- refresh: function(t) {
- var i;
- t && (this.option = t, "xAxis" === this.axisType ? (this.option.xAxis = this.reformOption(t.xAxis), i = this.option.xAxis) : (this.option.yAxis = this.reformOption(t.yAxis), i = this.option.yAxis), this.series = t.series);
- for(var n = e("./categoryAxis"), a = e("./valueAxis"), o = Math.max(i && i.length || 0, this._axisList.length), r = 0; o > r; r++) !this._axisList[r] || !t || i[r] && this._axisList[r].type == i[r].type || (this._axisList[r].dispose && this._axisList[r].dispose(), this._axisList[r] = !1), this._axisList[r] ? this._axisList[r].refresh && this._axisList[r].refresh(i ? i[r] : !1, this.series) : i && i[r] && (this._axisList[r] = "category" === i[r].type ? new n(this.ecTheme, this.messageCenter, this.zr, i[r], this.myChart, this.axisBase) : new a(this.ecTheme, this.messageCenter, this.zr, i[r], this.myChart, this.axisBase, this.series))
- },
- getAxis: function(e) {
- return this._axisList[e]
- },
- getAxisCount: function() {
- return this._axisList.length
- },
- clear: function() {
- for(var e = 0, t = this._axisList.length; t > e; e++) this._axisList[e].dispose && this._axisList[e].dispose();
- this._axisList = []
- }
- }, r.inherits(t, i), e("../component").define("axis", t), t
- }), i("echarts/component/grid", ["require", "./base", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Rectangle"),
- a = e("../config");
- a.grid = {
- zlevel: 0,
- z: 0,
- x: 80,
- y: 60,
- x2: 80,
- y2: 60,
- backgroundColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- borderColor: "#ccc"
- };
- var o = e("zrender/tool/util");
- return t.prototype = {
- type: a.COMPONENT_TYPE_GRID,
- getX: function() {
- return this._x
- },
- getY: function() {
- return this._y
- },
- getWidth: function() {
- return this._width
- },
- getHeight: function() {
- return this._height
- },
- getXend: function() {
- return this._x + this._width
- },
- getYend: function() {
- return this._y + this._height
- },
- getArea: function() {
- return {
- x: this._x,
- y: this._y,
- width: this._width,
- height: this._height
- }
- },
- getBbox: function() {
- return [
- [this._x, this._y],
- [this.getXend(), this.getYend()]
- ]
- },
- refixAxisShape: function(e) {
- for(var t, i, n, o = e.xAxis._axisList.concat(e.yAxis ? e.yAxis._axisList : []), r = o.length; r--;) n = o[r], n.type == a.COMPONENT_TYPE_AXIS_VALUE && n._min < 0 && n._max >= 0 && (n.isHorizontal() ? t = n.getCoord(0) : i = n.getCoord(0));
- if("undefined" != typeof t || "undefined" != typeof i)
- for(r = o.length; r--;) o[r].refixAxisShape(t, i)
- },
- refresh: function(e) {
- if(e || this._zrWidth != this.zr.getWidth() || this._zrHeight != this.zr.getHeight()) {
- this.clear(), this.option = e || this.option, this.option.grid = this.reformOption(this.option.grid);
- var t = this.option.grid;
- this._zrWidth = this.zr.getWidth(), this._zrHeight = this.zr.getHeight(), this._x = this.parsePercent(t.x, this._zrWidth), this._y = this.parsePercent(t.y, this._zrHeight);
- var i = this.parsePercent(t.x2, this._zrWidth),
- a = this.parsePercent(t.y2, this._zrHeight);
- this._width = "undefined" == typeof t.width ? this._zrWidth - this._x - i : this.parsePercent(t.width, this._zrWidth), this._width = this._width <= 0 ? 10 : this._width, this._height = "undefined" == typeof t.height ? this._zrHeight - this._y - a : this.parsePercent(t.height, this._zrHeight), this._height = this._height <= 0 ? 10 : this._height, this._x = this.subPixelOptimize(this._x, t.borderWidth), this._y = this.subPixelOptimize(this._y, t.borderWidth), this.shapeList.push(new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._x,
- y: this._y,
- width: this._width,
- height: this._height,
- brushType: t.borderWidth > 0 ? "both" : "fill",
- color: t.backgroundColor,
- strokeColor: t.borderColor,
- lineWidth: t.borderWidth
- }
- })), this.zr.addShape(this.shapeList[0])
- }
- }
- }, o.inherits(t, i), e("../component").define("grid", t), t
- }), i("echarts/component/dataZoom", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Polygon", "../util/shape/Icon", "../config", "../util/date", "zrender/tool/util", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o);
- var r = this;
- r._ondrift = function(e, t) {
- return r.__ondrift(this, e, t)
- }, r._ondragend = function() {
- return r.__ondragend()
- }, this._fillerSize = 30, this._isSilence = !1, this._zoom = {}, this.option.dataZoom = this.reformOption(this.option.dataZoom), this.zoomOption = this.option.dataZoom, this._handleSize = this.zoomOption.handleSize, this.myChart.canvasSupported || (this.zoomOption.realtime = !1), this._location = this._getLocation(), this._zoom = this._getZoom(), this._backupData(), this.option.dataZoom.show && this._buildShape(), this._syncData()
- }
- var i = e("./base"),
- n = e("zrender/shape/Rectangle"),
- a = e("zrender/shape/Polygon"),
- o = e("../util/shape/Icon"),
- r = e("../config");
- r.dataZoom = {
- zlevel: 0,
- z: 4,
- show: !1,
- orient: "horizontal",
- backgroundColor: "rgba(0,0,0,0)",
- dataBackgroundColor: "#eee",
- fillerColor: "rgba(144,197,237,0.2)",
- handleColor: "rgba(70,130,180,0.8)",
- handleSize: 8,
- showDetail: !0,
- realtime: !0
- };
- var s = e("../util/date"),
- l = e("zrender/tool/util");
- return t.prototype = {
- type: r.COMPONENT_TYPE_DATAZOOM,
- _buildShape: function() {
- this._buildBackground(), this._buildFiller(), this._buildHandle(), this._buildFrame();
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]);
- this._syncFrameShape()
- },
- _getLocation: function() {
- var e, t, i, n, a = this.component.grid;
- return "horizontal" == this.zoomOption.orient ? (i = this.zoomOption.width || a.getWidth(), n = this.zoomOption.height || this._fillerSize, e = null != this.zoomOption.x ? this.zoomOption.x : a.getX(), t = null != this.zoomOption.y ? this.zoomOption.y : this.zr.getHeight() - n - 2) : (i = this.zoomOption.width || this._fillerSize, n = this.zoomOption.height || a.getHeight(), e = null != this.zoomOption.x ? this.zoomOption.x : 2, t = null != this.zoomOption.y ? this.zoomOption.y : a.getY()), {
- x: e,
- y: t,
- width: i,
- height: n
- }
- },
- _getZoom: function() {
- var e = this.option.series,
- t = this.option.xAxis;
- !t || t instanceof Array || (t = [t], this.option.xAxis = t);
- var i = this.option.yAxis;
- !i || i instanceof Array || (i = [i], this.option.yAxis = i);
- var n, a, o = [],
- s = this.zoomOption.xAxisIndex;
- if(t && null == s) {
- n = [];
- for(var l = 0, h = t.length; h > l; l++)("category" == t[l].type || null == t[l].type) && n.push(l)
- } else n = s instanceof Array ? s : null != s ? [s] : [];
- if(s = this.zoomOption.yAxisIndex, i && null == s) {
- a = [];
- for(var l = 0, h = i.length; h > l; l++) "category" == i[l].type && a.push(l)
- } else a = s instanceof Array ? s : null != s ? [s] : [];
- for(var m, l = 0, h = e.length; h > l; l++)
- if(m = e[l], m.type == r.CHART_TYPE_LINE || m.type == r.CHART_TYPE_BAR || m.type == r.CHART_TYPE_SCATTER || m.type == r.CHART_TYPE_K) {
- for(var V = 0, U = n.length; U > V; V++)
- if(n[V] == (m.xAxisIndex || 0)) {
- o.push(l);
- break
- }
- for(var V = 0, U = a.length; U > V; V++)
- if(a[V] == (m.yAxisIndex || 0)) {
- o.push(l);
- break
- }
- null == this.zoomOption.xAxisIndex && null == this.zoomOption.yAxisIndex && m.data && this.getDataFromOption(m.data[0]) instanceof Array && (m.type == r.CHART_TYPE_SCATTER || m.type == r.CHART_TYPE_LINE || m.type == r.CHART_TYPE_BAR) && o.push(l)
- }
- var d = null != this._zoom.start ? this._zoom.start : null != this.zoomOption.start ? this.zoomOption.start : 0,
- p = null != this._zoom.end ? this._zoom.end : null != this.zoomOption.end ? this.zoomOption.end : 100;
- d > p && (d += p, p = d - p, d -= p);
- var c = Math.round((p - d) / 100 * ("horizontal" == this.zoomOption.orient ? this._location.width : this._location.height));
- return {
- start: d,
- end: p,
- start2: 0,
- end2: 100,
- size: c,
- xAxisIndex: n,
- yAxisIndex: a,
- seriesIndex: o,
- scatterMap: this._zoom.scatterMap || {}
- }
- },
- _backupData: function() {
- this._originalData = {
- xAxis: {},
- yAxis: {},
- series: {}
- };
- for(var e = this.option.xAxis, t = this._zoom.xAxisIndex, i = 0, n = t.length; n > i; i++) this._originalData.xAxis[t[i]] = e[t[i]].data;
- for(var a = this.option.yAxis, o = this._zoom.yAxisIndex, i = 0, n = o.length; n > i; i++) this._originalData.yAxis[o[i]] = a[o[i]].data;
- for(var s, l = this.option.series, h = this._zoom.seriesIndex, i = 0, n = h.length; n > i; i++) s = l[h[i]], this._originalData.series[h[i]] = s.data, s.data && this.getDataFromOption(s.data[0]) instanceof Array && (s.type == r.CHART_TYPE_SCATTER || s.type == r.CHART_TYPE_LINE || s.type == r.CHART_TYPE_BAR) && (this._backupScale(), this._calculScatterMap(h[i]))
- },
- _calculScatterMap: function(t) {
- this._zoom.scatterMap = this._zoom.scatterMap || {}, this._zoom.scatterMap[t] = this._zoom.scatterMap[t] || {};
- var i = e("../component"),
- n = i.get("axis"),
- a = l.clone(this.option.xAxis);
- "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value");
- var o = new n(this.ecTheme, null, !1, {
- xAxis: a,
- series: this.option.series
- }, this, "xAxis"),
- r = this.option.series[t].xAxisIndex || 0;
- this._zoom.scatterMap[t].x = o.getAxis(r).getExtremum(), o.dispose(), a = l.clone(this.option.yAxis), "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value"), o = new n(this.ecTheme, null, !1, {
- yAxis: a,
- series: this.option.series
- }, this, "yAxis"), r = this.option.series[t].yAxisIndex || 0, this._zoom.scatterMap[t].y = o.getAxis(r).getExtremum(), o.dispose()
- },
- _buildBackground: function() {
- var e = this._location.width,
- t = this._location.height;
- this.shapeList.push(new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._location.x,
- y: this._location.y,
- width: e,
- height: t,
- color: this.zoomOption.backgroundColor
- }
- }));
- for(var i = 0, o = this._originalData.xAxis, s = this._zoom.xAxisIndex, l = 0, h = s.length; h > l; l++) i = Math.max(i, o[s[l]].length);
- for(var m = this._originalData.yAxis, V = this._zoom.yAxisIndex, l = 0, h = V.length; h > l; l++) i = Math.max(i, m[V[l]].length);
- for(var U, d = this._zoom.seriesIndex[0], p = this._originalData.series[d], c = Number.MIN_VALUE, u = Number.MAX_VALUE, l = 0, h = p.length; h > l; l++) U = this.getDataFromOption(p[l], 0), this.option.series[d].type == r.CHART_TYPE_K && (U = U[1]), isNaN(U) && (U = 0), c = Math.max(c, U), u = Math.min(u, U);
- var y = c - u,
- g = [],
- b = e / (i - (i > 1 ? 1 : 0)),
- f = t / (i - (i > 1 ? 1 : 0)),
- k = 1;
- "horizontal" == this.zoomOption.orient && 1 > b ? k = Math.floor(3 * i / e) : "vertical" == this.zoomOption.orient && 1 > f && (k = Math.floor(3 * i / t));
- for(var l = 0, h = i; h > l; l += k) U = this.getDataFromOption(p[l], 0), this.option.series[d].type == r.CHART_TYPE_K && (U = U[1]), isNaN(U) && (U = 0), g.push("horizontal" == this.zoomOption.orient ? [this._location.x + b * l, this._location.y + t - 1 - Math.round((U - u) / y * (t - 10))] : [this._location.x + 1 + Math.round((U - u) / y * (e - 10)), this._location.y + f * (h - l - 1)]);
- "horizontal" == this.zoomOption.orient ? (g.push([this._location.x + e, this._location.y + t]), g.push([this._location.x, this._location.y + t])) : (g.push([this._location.x, this._location.y]), g.push([this._location.x, this._location.y + t])), this.shapeList.push(new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- pointList: g,
- color: this.zoomOption.dataBackgroundColor
- },
- hoverable: !1
- }))
- },
- _buildFiller: function() {
- this._fillerShae = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- draggable: !0,
- ondrift: this._ondrift,
- ondragend: this._ondragend,
- _type: "filler"
- }, this._fillerShae.style = "horizontal" == this.zoomOption.orient ? {
- x: this._location.x + Math.round(this._zoom.start / 100 * this._location.width) + this._handleSize,
- y: this._location.y,
- width: this._zoom.size - 2 * this._handleSize,
- height: this._location.height,
- color: this.zoomOption.fillerColor,
- text: ":::",
- textPosition: "inside"
- } : {
- x: this._location.x,
- y: this._location.y + Math.round(this._zoom.start / 100 * this._location.height) + this._handleSize,
- width: this._location.width,
- height: this._zoom.size - 2 * this._handleSize,
- color: this.zoomOption.fillerColor,
- text: "::",
- textPosition: "inside"
- }, this._fillerShae.highlightStyle = {
- brushType: "fill",
- color: "rgba(0,0,0,0)"
- }, this._fillerShae = new n(this._fillerShae), this.shapeList.push(this._fillerShae)
- },
- _buildHandle: function() {
- var e = this.zoomOption.showDetail ? this._getDetail() : {
- start: "",
- end: ""
- };
- this._startShape = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- draggable: !0,
- style: {
- iconType: "rectangle",
- x: this._location.x,
- y: this._location.y,
- width: this._handleSize,
- height: this._handleSize,
- color: this.zoomOption.handleColor,
- text: "=",
- textPosition: "inside"
- },
- highlightStyle: {
- text: e.start,
- brushType: "fill",
- textPosition: "left"
- },
- ondrift: this._ondrift,
- ondragend: this._ondragend
- }, "horizontal" == this.zoomOption.orient ? (this._startShape.style.height = this._location.height, this._endShape = l.clone(this._startShape), this._startShape.style.x = this._fillerShae.style.x - this._handleSize, this._endShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._endShape.highlightStyle.text = e.end, this._endShape.highlightStyle.textPosition = "right") : (this._startShape.style.width = this._location.width, this._endShape = l.clone(this._startShape), this._startShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._startShape.highlightStyle.textPosition = "bottom", this._endShape.style.y = this._fillerShae.style.y - this._handleSize, this._endShape.highlightStyle.text = e.end, this._endShape.highlightStyle.textPosition = "top"), this._startShape = new o(this._startShape), this._endShape = new o(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape)
- },
- _buildFrame: function() {
- var e = this.subPixelOptimize(this._location.x, 1),
- t = this.subPixelOptimize(this._location.y, 1);
- this._startFrameShape = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: e,
- y: t,
- width: this._location.width - (e > this._location.x ? 1 : 0),
- height: this._location.height - (t > this._location.y ? 1 : 0),
- lineWidth: 1,
- brushType: "stroke",
- strokeColor: this.zoomOption.handleColor
- }
- }, this._endFrameShape = l.clone(this._startFrameShape), this._startFrameShape = new n(this._startFrameShape), this._endFrameShape = new n(this._endFrameShape), this.shapeList.push(this._startFrameShape), this.shapeList.push(this._endFrameShape)
- },
- _syncHandleShape: function() {
- "horizontal" == this.zoomOption.orient ? (this._startShape.style.x = this._fillerShae.style.x - this._handleSize, this._endShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._zoom.start = (this._startShape.style.x - this._location.x) / this._location.width * 100, this._zoom.end = (this._endShape.style.x + this._handleSize - this._location.x) / this._location.width * 100) : (this._startShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._endShape.style.y = this._fillerShae.style.y - this._handleSize, this._zoom.start = (this._location.y + this._location.height - this._startShape.style.y) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - this._endShape.style.y - this._handleSize) / this._location.height * 100), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this._syncFrameShape(), this.zr.refreshNextFrame()
- },
- _syncFillerShape: function() {
- var e, t;
- "horizontal" == this.zoomOption.orient ? (e = this._startShape.style.x, t = this._endShape.style.x, this._fillerShae.style.x = Math.min(e, t) + this._handleSize, this._fillerShae.style.width = Math.abs(e - t) - this._handleSize, this._zoom.start = (Math.min(e, t) - this._location.x) / this._location.width * 100, this._zoom.end = (Math.max(e, t) + this._handleSize - this._location.x) / this._location.width * 100) : (e = this._startShape.style.y, t = this._endShape.style.y, this._fillerShae.style.y = Math.min(e, t) + this._handleSize, this._fillerShae.style.height = Math.abs(e - t) - this._handleSize, this._zoom.start = (this._location.y + this._location.height - Math.max(e, t)) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - Math.min(e, t) - this._handleSize) / this._location.height * 100), this.zr.modShape(this._fillerShae.id), this._syncFrameShape(), this.zr.refreshNextFrame()
- },
- _syncFrameShape: function() {
- "horizontal" == this.zoomOption.orient ? (this._startFrameShape.style.width = this._fillerShae.style.x - this._location.x, this._endFrameShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._endFrameShape.style.width = this._location.x + this._location.width - this._endFrameShape.style.x) : (this._startFrameShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._startFrameShape.style.height = this._location.y + this._location.height - this._startFrameShape.style.y, this._endFrameShape.style.height = this._fillerShae.style.y - this._location.y), this.zr.modShape(this._startFrameShape.id), this.zr.modShape(this._endFrameShape.id)
- },
- _syncShape: function() {
- this.zoomOption.show && ("horizontal" == this.zoomOption.orient ? (this._startShape.style.x = this._location.x + this._zoom.start / 100 * this._location.width, this._endShape.style.x = this._location.x + this._zoom.end / 100 * this._location.width - this._handleSize, this._fillerShae.style.x = this._startShape.style.x + this._handleSize, this._fillerShae.style.width = this._endShape.style.x - this._startShape.style.x - this._handleSize) : (this._startShape.style.y = this._location.y + this._location.height - this._zoom.start / 100 * this._location.height, this._endShape.style.y = this._location.y + this._location.height - this._zoom.end / 100 * this._location.height - this._handleSize, this._fillerShae.style.y = this._endShape.style.y + this._handleSize, this._fillerShae.style.height = this._startShape.style.y - this._endShape.style.y - this._handleSize), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.modShape(this._fillerShae.id), this._syncFrameShape(), this.zr.refresh())
- },
- _syncData: function(e) {
- var t, i, n, a, o;
- for(var s in this._originalData) {
- t = this._originalData[s];
- for(var l in t) o = t[l], null != o && (a = o.length, i = Math.floor(this._zoom.start / 100 * a), n = Math.ceil(this._zoom.end / 100 * a), this.getDataFromOption(o[0]) instanceof Array && this.option[s][l].type != r.CHART_TYPE_K ? (this._setScale(), this.option[s][l].data = this._synScatterData(l, o)) : this.option[s][l].data = o.slice(i, n))
- }
- this._isSilence || !this.zoomOption.realtime && !e || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {
- zoom: this._zoom
- }, this.myChart)
- },
- _synScatterData: function(e, t) {
- if(0 === this._zoom.start && 100 == this._zoom.end && 0 === this._zoom.start2 && 100 == this._zoom.end2) return t;
- var i, n, a, o, r, s = [],
- l = this._zoom.scatterMap[e];
- "horizontal" == this.zoomOption.orient ? (i = l.x.max - l.x.min, n = this._zoom.start / 100 * i + l.x.min, a = this._zoom.end / 100 * i + l.x.min, i = l.y.max - l.y.min, o = this._zoom.start2 / 100 * i + l.y.min, r = this._zoom.end2 / 100 * i + l.y.min) : (i = l.x.max - l.x.min, n = this._zoom.start2 / 100 * i + l.x.min, a = this._zoom.end2 / 100 * i + l.x.min, i = l.y.max - l.y.min, o = this._zoom.start / 100 * i + l.y.min, r = this._zoom.end / 100 * i + l.y.min);
- var h;
- (h = l.x.dataMappingMethods) && (n = h.coord2Value(n), a = h.coord2Value(a)), (h = l.y.dataMappingMethods) && (o = h.coord2Value(o), r = h.coord2Value(r));
- for(var m, V = 0, U = t.length; U > V; V++) m = t[V].value || t[V], m[0] >= n && m[0] <= a && m[1] >= o && m[1] <= r && s.push(t[V]);
- return s
- },
- _setScale: function() {
- var e = 0 !== this._zoom.start || 100 !== this._zoom.end || 0 !== this._zoom.start2 || 100 !== this._zoom.end2,
- t = {
- xAxis: this.option.xAxis,
- yAxis: this.option.yAxis
- };
- for(var i in t)
- for(var n = 0, a = t[i].length; a > n; n++) t[i][n].scale = e || t[i][n]._scale
- },
- _backupScale: function() {
- var e = {
- xAxis: this.option.xAxis,
- yAxis: this.option.yAxis
- };
- for(var t in e)
- for(var i = 0, n = e[t].length; n > i; i++) e[t][i]._scale = e[t][i].scale
- },
- _getDetail: function() {
- for(var e = ["xAxis", "yAxis"], t = 0, i = e.length; i > t; t++) {
- var n = this._originalData[e[t]];
- for(var a in n) {
- var o = n[a];
- if(null != o) {
- var r = o.length,
- l = Math.floor(this._zoom.start / 100 * r),
- h = Math.ceil(this._zoom.end / 100 * r);
- return h -= h > 0 ? 1 : 0, {
- start: this.getDataFromOption(o[l]),
- end: this.getDataFromOption(o[h])
- }
- }
- }
- }
- e = "horizontal" == this.zoomOption.orient ? "xAxis" : "yAxis";
- var m = this._zoom.seriesIndex[0],
- V = this.option.series[m][e + "Index"] || 0,
- U = this.option[e][V].type,
- d = this._zoom.scatterMap[m][e.charAt(0)].min,
- p = this._zoom.scatterMap[m][e.charAt(0)].max,
- c = p - d;
- if("value" == U) return {
- start: d + c * this._zoom.start / 100,
- end: d + c * this._zoom.end / 100
- };
- if("time" == U) {
- p = d + c * this._zoom.end / 100, d += c * this._zoom.start / 100;
- var u = s.getAutoFormatter(d, p).formatter;
- return {
- start: s.format(u, d),
- end: s.format(u, p)
- }
- }
- return {
- start: "",
- end: ""
- }
- },
- __ondrift: function(e, t, i) {
- this.zoomOption.zoomLock && (e = this._fillerShae);
- var n = "filler" == e._type ? this._handleSize : 0;
- if("horizontal" == this.zoomOption.orient ? e.style.x + t - n <= this._location.x ? e.style.x = this._location.x + n : e.style.x + t + e.style.width + n >= this._location.x + this._location.width ? e.style.x = this._location.x + this._location.width - e.style.width - n : e.style.x += t : e.style.y + i - n <= this._location.y ? e.style.y = this._location.y + n : e.style.y + i + e.style.height + n >= this._location.y + this._location.height ? e.style.y = this._location.y + this._location.height - e.style.height - n : e.style.y += i, "filler" == e._type ? this._syncHandleShape() : this._syncFillerShape(), this.zoomOption.realtime && this._syncData(), this.zoomOption.showDetail) {
- var a = this._getDetail();
- this._startShape.style.text = this._startShape.highlightStyle.text = a.start, this._endShape.style.text = this._endShape.highlightStyle.text = a.end, this._startShape.style.textPosition = this._startShape.highlightStyle.textPosition, this._endShape.style.textPosition = this._endShape.highlightStyle.textPosition
- }
- return !0
- },
- __ondragend: function() {
- this.zoomOption.showDetail && (this._startShape.style.text = this._endShape.style.text = "=", this._startShape.style.textPosition = this._endShape.style.textPosition = "inside", this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.refreshNextFrame()), this.isDragend = !0
- },
- ondragend: function(e, t) {
- this.isDragend && e.target && (!this.zoomOption.realtime && this._syncData(), t.dragOut = !0, t.dragIn = !0, this._isSilence || this.zoomOption.realtime || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {
- zoom: this._zoom
- }, this.myChart), t.needRefresh = !1, this.isDragend = !1)
- },
- ondataZoom: function(e, t) {
- t.needRefresh = !0
- },
- absoluteZoom: function(e) {
- this._zoom.start = e.start, this._zoom.end = e.end, this._zoom.start2 = e.start2, this._zoom.end2 = e.end2, this._syncShape(), this._syncData(!0)
- },
- rectZoom: function(e) {
- if(!e) return this._zoom.start = this._zoom.start2 = 0, this._zoom.end = this._zoom.end2 = 100, this._syncShape(), this._syncData(!0), this._zoom;
- var t = this.component.grid.getArea(),
- i = {
- x: e.x,
- y: e.y,
- width: e.width,
- height: e.height
- };
- if(i.width < 0 && (i.x += i.width, i.width = -i.width), i.height < 0 && (i.y += i.height, i.height = -i.height), i.x > t.x + t.width || i.y > t.y + t.height) return !1;
- i.x < t.x && (i.x = t.x), i.x + i.width > t.x + t.width && (i.width = t.x + t.width - i.x), i.y + i.height > t.y + t.height && (i.height = t.y + t.height - i.y);
- var n, a = (i.x - t.x) / t.width,
- o = 1 - (i.x + i.width - t.x) / t.width,
- r = 1 - (i.y + i.height - t.y) / t.height,
- s = (i.y - t.y) / t.height;
- return "horizontal" == this.zoomOption.orient ? (n = this._zoom.end - this._zoom.start, this._zoom.start += n * a, this._zoom.end -= n * o, n = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += n * r, this._zoom.end2 -= n * s) : (n = this._zoom.end - this._zoom.start, this._zoom.start += n * r, this._zoom.end -= n * s, n = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += n * a, this._zoom.end2 -= n * o), this._syncShape(), this._syncData(!0), this._zoom
- },
- syncBackupData: function(e) {
- for(var t, i, n = this._originalData.series, a = e.series, o = 0, r = a.length; r > o; o++) {
- i = a[o].data || a[o].eventList, t = n[o] ? Math.floor(this._zoom.start / 100 * n[o].length) : 0;
- for(var s = 0, l = i.length; l > s; s++) n[o] && (n[o][s + t] = i[s])
- }
- },
- syncOption: function(e) {
- this.silence(!0), this.option = e, this.option.dataZoom = this.reformOption(this.option.dataZoom), this.zoomOption = this.option.dataZoom, this.myChart.canvasSupported || (this.zoomOption.realtime = !1), this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this._backupData(), this.option.dataZoom && this.option.dataZoom.show && this._buildShape(), this._syncData(), this.silence(!1)
- },
- silence: function(e) {
- this._isSilence = e
- },
- getRealDataIndex: function(e, t) {
- if(!this._originalData || 0 === this._zoom.start && 100 == this._zoom.end) return t;
- var i = this._originalData.series;
- return i[e] ? Math.floor(this._zoom.start / 100 * i[e].length) + t : -1
- },
- resize: function() {
- this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this.option.dataZoom.show && this._buildShape()
- }
- }, l.inherits(t, i), e("../component").define("dataZoom", t), t
- }), i("echarts/component/categoryAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "../component"], function(e) {
- function t(e, t, n, a, o, r) {
- if(a.data.length < 1) return void console.error("option.data.length < 1.");
- i.call(this, e, t, n, a, o), this.grid = this.component.grid;
- for(var s in r) this[s] = r[s];
- this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Line"),
- o = e("zrender/shape/Rectangle"),
- r = e("../config");
- r.categoryAxis = {
- zlevel: 0,
- z: 0,
- show: !0,
- position: "bottom",
- name: "",
- nameLocation: "end",
- nameTextStyle: {},
- boundaryGap: !0,
- axisLine: {
- show: !0,
- onZero: !0,
- lineStyle: {
- color: "#48b",
- width: 2,
- type: "solid"
- }
- },
- axisTick: {
- show: !0,
- interval: "auto",
- inside: !1,
- length: 5,
- lineStyle: {
- color: "#333",
- width: 1
- }
- },
- axisLabel: {
- show: !0,
- interval: "auto",
- rotate: 0,
- margin: 8,
- textStyle: {
- color: "#333"
- }
- },
- splitLine: {
- show: !0,
- lineStyle: {
- color: ["#ccc"],
- width: 1,
- type: "solid"
- }
- },
- splitArea: {
- show: !1,
- areaStyle: {
- color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
- }
- }
- };
- var s = e("zrender/tool/util"),
- l = e("zrender/tool/area");
- return t.prototype = {
- type: r.COMPONENT_TYPE_AXIS_CATEGORY,
- _getReformedLabel: function(e) {
- var t = this.getDataFromOption(this.option.data[e]),
- i = this.option.data[e].formatter || this.option.axisLabel.formatter;
- return i && ("function" == typeof i ? t = i.call(this.myChart, t) : "string" == typeof i && (t = i.replace("{value}", t))), t
- },
- _getInterval: function() {
- var e = this.option.axisLabel.interval;
- if("auto" == e) {
- var t = this.option.axisLabel.textStyle.fontSize,
- i = this.option.data,
- n = this.option.data.length;
- if(this.isHorizontal())
- if(n > 3) {
- var a, o, r = this.getGap(),
- h = !1,
- m = Math.floor(.5 / r);
- for(m = 1 > m ? 1 : m, e = Math.floor(15 / r); !h && n > e;) {
- e += m, h = !0, a = Math.floor(r * e);
- for(var V = Math.floor((n - 1) / e) * e; V >= 0; V -= e) {
- if(0 !== this.option.axisLabel.rotate) o = t;
- else if(i[V].textStyle) o = l.getTextWidth(this._getReformedLabel(V), this.getFont(s.merge(i[V].textStyle, this.option.axisLabel.textStyle)));
- else {
- var U = this._getReformedLabel(V) + "",
- d = (U.match(/\w/g) || "").length,
- p = U.length - d;
- o = d * t * 2 / 3 + p * t
- }
- if(o > a) {
- h = !1;
- break
- }
- }
- }
- } else e = 1;
- else if(n > 3) {
- var r = this.getGap();
- for(e = Math.floor(11 / r); t > r * e - 6 && n > e;) e++
- } else e = 1
- } else e = "function" == typeof e ? 1 : e - 0 + 1;
- return e
- },
- _buildShape: function() {
- if(this._interval = this._getInterval(), this.option.show) {
- this.option.splitArea.show && this._buildSplitArea(), this.option.splitLine.show && this._buildSplitLine(), this.option.axisLine.show && this._buildAxisLine(), this.option.axisTick.show && this._buildAxisTick(), this.option.axisLabel.show && this._buildAxisLabel();
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
- }
- },
- _buildAxisTick: function() {
- var e, t = this.option.data,
- i = this.option.data.length,
- n = this.option.axisTick,
- o = n.length,
- r = n.lineStyle.color,
- s = n.lineStyle.width,
- l = "function" == typeof n.interval ? n.interval : "auto" == n.interval && "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
- h = l ? 1 : "auto" == n.interval ? this._interval : n.interval - 0 + 1,
- m = n.onGap,
- V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0,
- U = V > 0 ? -h : 0;
- if(this.isHorizontal())
- for(var d, p = "bottom" == this.option.position ? n.inside ? this.grid.getYend() - o - 1 : this.grid.getYend() + 1 : n.inside ? this.grid.getY() + 1 : this.grid.getY() - o - 1, c = U; i > c; c += h)(!l || l(c, t[c])) && (d = this.subPixelOptimize(this.getCoordByIndex(c) + (c >= 0 ? V : 0), s), e = {
- _axisShape: "axisTick",
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: d,
- yStart: p,
- xEnd: d,
- yEnd: p + o,
- strokeColor: r,
- lineWidth: s
- }
- }, this.shapeList.push(new a(e)));
- else
- for(var u, y = "left" == this.option.position ? n.inside ? this.grid.getX() + 1 : this.grid.getX() - o - 1 : n.inside ? this.grid.getXend() - o - 1 : this.grid.getXend() + 1, c = U; i > c; c += h)(!l || l(c, t[c])) && (u = this.subPixelOptimize(this.getCoordByIndex(c) - (c >= 0 ? V : 0), s), e = {
- _axisShape: "axisTick",
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: y,
- yStart: u,
- xEnd: y + o,
- yEnd: u,
- strokeColor: r,
- lineWidth: s
- }
- }, this.shapeList.push(new a(e)))
- },
- _buildAxisLabel: function() {
- var e, t, i = this.option.data,
- a = this.option.data.length,
- o = this.option.axisLabel,
- r = o.rotate,
- l = o.margin,
- h = o.clickable,
- m = o.textStyle,
- V = "function" == typeof o.interval ? o.interval : !1;
- if(this.isHorizontal()) {
- var U, d;
- "bottom" == this.option.position ? (U = this.grid.getYend() + l, d = "top") : (U = this.grid.getY() - l, d = "bottom");
- for(var p = 0; a > p; p += this._interval) V && !V(p, i[p]) || "" === this._getReformedLabel(p) || (t = s.merge(i[p].textStyle || {}, m), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 3,
- hoverable: !1,
- style: {
- x: this.getCoordByIndex(p),
- y: U,
- color: t.color,
- text: this._getReformedLabel(p),
- textFont: this.getFont(t),
- textAlign: t.align || "center",
- textBaseline: t.baseline || d
- }
- }, r && (e.style.textAlign = r > 0 ? "bottom" == this.option.position ? "right" : "left" : "bottom" == this.option.position ? "left" : "right", e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e))))
- } else {
- var c, u;
- "left" == this.option.position ? (c = this.grid.getX() - l, u = "right") : (c = this.grid.getXend() + l, u = "left");
- for(var p = 0; a > p; p += this._interval) V && !V(p, i[p]) || "" === this._getReformedLabel(p) || (t = s.merge(i[p].textStyle || {}, m), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 3,
- hoverable: !1,
- style: {
- x: c,
- y: this.getCoordByIndex(p),
- color: t.color,
- text: this._getReformedLabel(p),
- textFont: this.getFont(t),
- textAlign: t.align || u,
- textBaseline: t.baseline || 0 === p && "" !== this.option.name ? "bottom" : p == a - 1 && "" !== this.option.name ? "top" : "middle"
- }
- }, r && (e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e))))
- }
- },
- _buildSplitLine: function() {
- var e, t = this.option.data,
- i = this.option.data.length,
- n = this.option.splitLine,
- o = n.lineStyle.type,
- r = n.lineStyle.width,
- s = n.lineStyle.color;
- s = s instanceof Array ? s : [s];
- var l = s.length,
- h = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
- m = n.onGap,
- V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0;
- if(i -= m || "undefined" == typeof m && this.option.boundaryGap ? 1 : 0, this.isHorizontal())
- for(var U, d = this.grid.getY(), p = this.grid.getYend(), c = 0; i > c; c += this._interval)(!h || h(c, t[c])) && (U = this.subPixelOptimize(this.getCoordByIndex(c) + V, r), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: U,
- yStart: d,
- xEnd: U,
- yEnd: p,
- strokeColor: s[c / this._interval % l],
- lineType: o,
- lineWidth: r
- }
- }, this.shapeList.push(new a(e)));
- else
- for(var u, y = this.grid.getX(), g = this.grid.getXend(), c = 0; i > c; c += this._interval)(!h || h(c, t[c])) && (u = this.subPixelOptimize(this.getCoordByIndex(c) - V, r), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: y,
- yStart: u,
- xEnd: g,
- yEnd: u,
- strokeColor: s[c / this._interval % l],
- lineType: o,
- lineWidth: r
- }
- }, this.shapeList.push(new a(e)))
- },
- _buildSplitArea: function() {
- var e, t = this.option.data,
- i = this.option.splitArea,
- n = i.areaStyle.color;
- if(n instanceof Array) {
- var a = n.length,
- r = this.option.data.length,
- s = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1,
- l = i.onGap,
- h = l ? this.getGap() / 2 : "undefined" == typeof l && this.option.boundaryGap ? this.getGap() / 2 : 0;
- if(this.isHorizontal())
- for(var m, V = this.grid.getY(), U = this.grid.getHeight(), d = this.grid.getX(), p = 0; r >= p; p += this._interval) s && !s(p, t[p]) && r > p || (m = r > p ? this.getCoordByIndex(p) + h : this.grid.getXend(), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: d,
- y: V,
- width: m - d,
- height: U,
- color: n[p / this._interval % a]
- }
- }, this.shapeList.push(new o(e)), d = m);
- else
- for(var c, u = this.grid.getX(), y = this.grid.getWidth(), g = this.grid.getYend(), p = 0; r >= p; p += this._interval) s && !s(p, t[p]) && r > p || (c = r > p ? this.getCoordByIndex(p) - h : this.grid.getY(), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: u,
- y: c,
- width: y,
- height: g - c,
- color: n[p / this._interval % a]
- }
- }, this.shapeList.push(new o(e)), g = c)
- } else e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this.grid.getX(),
- y: this.grid.getY(),
- width: this.grid.getWidth(),
- height: this.grid.getHeight(),
- color: n
- }
- }, this.shapeList.push(new o(e))
- },
- refresh: function(e) {
- e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = this.getTextStyle(this.option.axisLabel.textStyle)), this.clear(), this._buildShape()
- },
- getGap: function() {
- var e = this.option.data.length,
- t = this.isHorizontal() ? this.grid.getWidth() : this.grid.getHeight();
- return this.option.boundaryGap ? t / e : t / (e > 1 ? e - 1 : 1)
- },
- getCoord: function(e) {
- for(var t = this.option.data, i = t.length, n = this.getGap(), a = this.option.boundaryGap ? n / 2 : 0, o = 0; i > o; o++) {
- if(this.getDataFromOption(t[o]) == e) return a = this.isHorizontal() ? this.grid.getX() + a : this.grid.getYend() - a;
- a += n
- }
- },
- getCoordByIndex: function(e) {
- if(0 > e) return this.isHorizontal() ? this.grid.getX() : this.grid.getYend();
- if(e > this.option.data.length - 1) return this.isHorizontal() ? this.grid.getXend() : this.grid.getY();
- var t = this.getGap(),
- i = this.option.boundaryGap ? t / 2 : 0;
- return i += e * t, i = this.isHorizontal() ? this.grid.getX() + i : this.grid.getYend() - i
- },
- getNameByIndex: function(e) {
- return this.getDataFromOption(this.option.data[e])
- },
- getIndexByName: function(e) {
- for(var t = this.option.data, i = t.length, n = 0; i > n; n++)
- if(this.getDataFromOption(t[n]) == e) return n;
- return -1
- },
- getValueFromCoord: function() {
- return ""
- },
- isMainAxis: function(e) {
- return e % this._interval === 0
- }
- }, s.inherits(t, i), e("../component").define("categoryAxis", t), t
- }), i("echarts/component/valueAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "../util/date", "zrender/tool/util", "../util/smartSteps", "../util/accMath", "../util/smartLogSteps", "../component"], function(e) {
- function t(e, t, n, a, o, r, s) {
- if(!s || 0 === s.length) return void console.err("option.series.length == 0.");
- i.call(this, e, t, n, a, o), this.series = s, this.grid = this.component.grid;
- for(var l in r) this[l] = r[l];
- this.refresh(a, s)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Line"),
- o = e("zrender/shape/Rectangle"),
- r = e("../config");
- r.valueAxis = {
- zlevel: 0,
- z: 0,
- show: !0,
- position: "left",
- name: "",
- nameLocation: "end",
- nameTextStyle: {},
- boundaryGap: [0, 0],
- axisLine: {
- show: !0,
- onZero: !0,
- lineStyle: {
- color: "#48b",
- width: 2,
- type: "solid"
- }
- },
- axisTick: {
- show: !1,
- inside: !1,
- length: 5,
- lineStyle: {
- color: "#333",
- width: 1
- }
- },
- axisLabel: {
- show: !0,
- rotate: 0,
- margin: 8,
- textStyle: {
- color: "#333"
- }
- },
- splitLine: {
- show: !0,
- lineStyle: {
- color: ["#ccc"],
- width: 1,
- type: "solid"
- }
- },
- splitArea: {
- show: !1,
- areaStyle: {
- color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
- }
- }
- };
- var s = e("../util/date"),
- l = e("zrender/tool/util");
- return t.prototype = {
- type: r.COMPONENT_TYPE_AXIS_VALUE,
- _buildShape: function() {
- if(this._hasData = !1, this._calculateValue(), this._hasData && this.option.show) {
- this.option.splitArea.show && this._buildSplitArea(), this.option.splitLine.show && this._buildSplitLine(), this.option.axisLine.show && this._buildAxisLine(), this.option.axisTick.show && this._buildAxisTick(), this.option.axisLabel.show && this._buildAxisLabel();
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
- }
- },
- _buildAxisTick: function() {
- var e, t = this._valueList,
- i = this._valueList.length,
- n = this.option.axisTick,
- o = n.length,
- r = n.lineStyle.color,
- s = n.lineStyle.width;
- if(this.isHorizontal())
- for(var l, h = "bottom" === this.option.position ? n.inside ? this.grid.getYend() - o - 1 : this.grid.getYend() + 1 : n.inside ? this.grid.getY() + 1 : this.grid.getY() - o - 1, m = 0; i > m; m++) l = this.subPixelOptimize(this.getCoord(t[m]), s), e = {
- _axisShape: "axisTick",
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: l,
- yStart: h,
- xEnd: l,
- yEnd: h + o,
- strokeColor: r,
- lineWidth: s
- }
- }, this.shapeList.push(new a(e));
- else
- for(var V, U = "left" === this.option.position ? n.inside ? this.grid.getX() + 1 : this.grid.getX() - o - 1 : n.inside ? this.grid.getXend() - o - 1 : this.grid.getXend() + 1, m = 0; i > m; m++) V = this.subPixelOptimize(this.getCoord(t[m]), s), e = {
- _axisShape: "axisTick",
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: U,
- yStart: V,
- xEnd: U + o,
- yEnd: V,
- strokeColor: r,
- lineWidth: s
- }
- }, this.shapeList.push(new a(e))
- },
- _buildAxisLabel: function() {
- var e, t = this._valueList,
- i = this._valueList.length,
- a = this.option.axisLabel.rotate,
- o = this.option.axisLabel.margin,
- r = this.option.axisLabel.clickable,
- s = this.option.axisLabel.textStyle;
- if(this.isHorizontal()) {
- var l, h;
- "bottom" === this.option.position ? (l = this.grid.getYend() + o, h = "top") : (l = this.grid.getY() - o, h = "bottom");
- for(var m = 0; i > m; m++) e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 3,
- hoverable: !1,
- style: {
- x: this.getCoord(t[m]),
- y: l,
- color: "function" == typeof s.color ? s.color(t[m]) : s.color,
- text: this._valueLabel[m],
- textFont: this.getFont(s),
- textAlign: s.align || "center",
- textBaseline: s.baseline || h
- }
- }, a && (e.style.textAlign = a > 0 ? "bottom" === this.option.position ? "right" : "left" : "bottom" === this.option.position ? "left" : "right", e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e)))
- } else {
- var V, U;
- "left" === this.option.position ? (V = this.grid.getX() - o, U = "right") : (V = this.grid.getXend() + o, U = "left");
- for(var m = 0; i > m; m++) e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 3,
- hoverable: !1,
- style: {
- x: V,
- y: this.getCoord(t[m]),
- color: "function" == typeof s.color ? s.color(t[m]) : s.color,
- text: this._valueLabel[m],
- textFont: this.getFont(s),
- textAlign: s.align || U,
- textBaseline: s.baseline || (0 === m && "" !== this.option.name ? "bottom" : m === i - 1 && "" !== this.option.name ? "top" : "middle")
- }
- }, a && (e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e)))
- }
- },
- _buildSplitLine: function() {
- var e, t = this._valueList,
- i = this._valueList.length,
- n = this.option.splitLine,
- o = n.lineStyle.type,
- r = n.lineStyle.width,
- s = n.lineStyle.color;
- s = s instanceof Array ? s : [s];
- var l = s.length;
- if(this.isHorizontal())
- for(var h, m = this.grid.getY(), V = this.grid.getYend(), U = 0; i > U; U++) h = this.subPixelOptimize(this.getCoord(t[U]), r), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: h,
- yStart: m,
- xEnd: h,
- yEnd: V,
- strokeColor: s[U % l],
- lineType: o,
- lineWidth: r
- }
- }, this.shapeList.push(new a(e));
- else
- for(var d, p = this.grid.getX(), c = this.grid.getXend(), U = 0; i > U; U++) d = this.subPixelOptimize(this.getCoord(t[U]), r), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: p,
- yStart: d,
- xEnd: c,
- yEnd: d,
- strokeColor: s[U % l],
- lineType: o,
- lineWidth: r
- }
- }, this.shapeList.push(new a(e))
- },
- _buildSplitArea: function() {
- var e, t = this.option.splitArea.areaStyle.color;
- if(t instanceof Array) {
- var i = t.length,
- n = this._valueList,
- a = this._valueList.length;
- if(this.isHorizontal())
- for(var r, s = this.grid.getY(), l = this.grid.getHeight(), h = this.grid.getX(), m = 0; a >= m; m++) r = a > m ? this.getCoord(n[m]) : this.grid.getXend(), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: h,
- y: s,
- width: r - h,
- height: l,
- color: t[m % i]
- }
- }, this.shapeList.push(new o(e)), h = r;
- else
- for(var V, U = this.grid.getX(), d = this.grid.getWidth(), p = this.grid.getYend(), m = 0; a >= m; m++) V = a > m ? this.getCoord(n[m]) : this.grid.getY(), e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: U,
- y: V,
- width: d,
- height: p - V,
- color: t[m % i]
- }
- }, this.shapeList.push(new o(e)), p = V
- } else e = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this.grid.getX(),
- y: this.grid.getY(),
- width: this.grid.getWidth(),
- height: this.grid.getHeight(),
- color: t
- }
- }, this.shapeList.push(new o(e))
- },
- _calculateValue: function() {
- if(isNaN(this.option.min - 0) || isNaN(this.option.max - 0)) {
- for(var e, t, i = {}, n = this.component.legend, a = 0, o = this.series.length; o > a; a++) !(this.series[a].type != r.CHART_TYPE_LINE && this.series[a].type != r.CHART_TYPE_BAR && this.series[a].type != r.CHART_TYPE_SCATTER && this.series[a].type != r.CHART_TYPE_K && this.series[a].type != r.CHART_TYPE_EVENTRIVER || n && !n.isSelected(this.series[a].name) || (e = this.series[a].xAxisIndex || 0, t = this.series[a].yAxisIndex || 0, this.option.xAxisIndex != e && this.option.yAxisIndex != t || !this._calculSum(i, a)));
- var s;
- for(var a in i) {
- s = i[a];
- for(var l = 0, h = s.length; h > l; l++)
- if(!isNaN(s[l])) {
- this._hasData = !0, this._min = s[l], this._max = s[l];
- break
- }
- if(this._hasData) break
- }
- for(var a in i) {
- s = i[a];
- for(var l = 0, h = s.length; h > l; l++) isNaN(s[l]) || (this._min = Math.min(this._min, s[l]), this._max = Math.max(this._max, s[l]))
- }
- var m = "log" !== this.option.type ? this.option.boundaryGap : [0, 0],
- V = Math.abs(this._max - this._min);
- this._min = isNaN(this.option.min - 0) ? this._min - Math.abs(V * m[0]) : this.option.min - 0, this._max = isNaN(this.option.max - 0) ? this._max + Math.abs(V * m[1]) : this.option.max - 0, this._min === this._max && (0 === this._max ? this._max = 1 : this._max > 0 ? this._min = this._max / this.option.splitNumber != null ? this.option.splitNumber : 5 : this._max = this._max / this.option.splitNumber != null ? this.option.splitNumber : 5), "time" === this.option.type ? this._reformTimeValue() : "log" === this.option.type ? this._reformLogValue() : this._reformValue(this.option.scale)
- } else this._hasData = !0, this._min = this.option.min - 0, this._max = this.option.max - 0, "time" === this.option.type ? this._reformTimeValue() : "log" === this.option.type ? this._reformLogValue() : this._customerValue()
- },
- _calculSum: function(e, t) {
- var i, n, a = this.series[t].name || "kener";
- if(this.series[t].stack) {
- var o = "__Magic_Key_Positive__" + this.series[t].stack,
- l = "__Magic_Key_Negative__" + this.series[t].stack;
- e[o] = e[o] || [], e[l] = e[l] || [], e[a] = e[a] || [], n = this.series[t].data;
- for(var h = 0, m = n.length; m > h; h++) i = this.getDataFromOption(n[h]), "-" !== i && (i -= 0, i >= 0 ? null != e[o][h] ? e[o][h] += i : e[o][h] = i : null != e[l][h] ? e[l][h] += i : e[l][h] = i, this.option.scale && e[a].push(i))
- } else if(e[a] = e[a] || [], this.series[t].type != r.CHART_TYPE_EVENTRIVER) {
- n = this.series[t].data;
- for(var h = 0, m = n.length; m > h; h++) i = this.getDataFromOption(n[h]), this.series[t].type === r.CHART_TYPE_K ? (e[a].push(i[0]), e[a].push(i[1]), e[a].push(i[2]), e[a].push(i[3])) : i instanceof Array ? (-1 != this.option.xAxisIndex && e[a].push("time" != this.option.type ? i[0] : s.getNewDate(i[0])), -1 != this.option.yAxisIndex && e[a].push("time" != this.option.type ? i[1] : s.getNewDate(i[1]))) : e[a].push(i)
- } else {
- n = this.series[t].data;
- for(var h = 0, m = n.length; m > h; h++)
- for(var V = n[h].evolution, U = 0, d = V.length; d > U; U++) e[a].push(s.getNewDate(V[U].time))
- }
- },
- _reformValue: function(t) {
- var i = e("../util/smartSteps"),
- n = this.option.splitNumber;
- !t && this._min >= 0 && this._max >= 0 && (this._min = 0), !t && this._min <= 0 && this._max <= 0 && (this._max = 0);
- var a = i(this._min, this._max, n);
- n = null != n ? n : a.secs, this._min = a.min, this._max = a.max, this._valueList = a.pnts, this._reformLabelData()
- },
- _reformTimeValue: function() {
- var e = null != this.option.splitNumber ? this.option.splitNumber : 5,
- t = s.getAutoFormatter(this._min, this._max, e),
- i = t.formatter,
- n = t.gapValue;
- this._valueList = [s.getNewDate(this._min)];
- var a;
- switch(i) {
- case "week":
- a = s.nextMonday(this._min);
- break;
- case "month":
- a = s.nextNthOnMonth(this._min, 1);
- break;
- case "quarter":
- a = s.nextNthOnQuarterYear(this._min, 1);
- break;
- case "half-year":
- a = s.nextNthOnHalfYear(this._min, 1);
- break;
- case "year":
- a = s.nextNthOnYear(this._min, 1);
- break;
- default:
- 72e5 >= n ? a = (Math.floor(this._min / n) + 1) * n : (a = s.getNewDate(this._min - -n), a.setHours(6 * Math.round(a.getHours() / 6)), a.setMinutes(0), a.setSeconds(0))
- }
- for(a - this._min < n / 2 && (a -= -n), t = s.getNewDate(a), e *= 1.5; e-- >= 0 && (("month" == i || "quarter" == i || "half-year" == i || "year" == i) && t.setDate(1), !(this._max - t < n / 2));) this._valueList.push(t), t = s.getNewDate(t - -n);
- this._valueList.push(s.getNewDate(this._max)), this._reformLabelData(function(e) {
- return function(t) {
- return s.format(e, t)
- }
- }(i))
- },
- _customerValue: function() {
- var t = e("../util/accMath"),
- i = null != this.option.splitNumber ? this.option.splitNumber : 5,
- n = (this._max - this._min) / i;
- this._valueList = [];
- for(var a = 0; i >= a; a++) this._valueList.push(t.accAdd(this._min, t.accMul(n, a)));
- this._reformLabelData()
- },
- _reformLogValue: function() {
- var t = this.option,
- i = e("../util/smartLogSteps")({
- dataMin: this._min,
- dataMax: this._max,
- logPositive: t.logPositive,
- logLabelBase: t.logLabelBase,
- splitNumber: t.splitNumber
- });
- this._min = i.dataMin, this._max = i.dataMax, this._valueList = i.tickList, this._dataMappingMethods = i.dataMappingMethods, this._reformLabelData(i.labelFormatter)
- },
- _reformLabelData: function(e) {
- this._valueLabel = [];
- var t = this.option.axisLabel.formatter;
- if(t)
- for(var i = 0, n = this._valueList.length; n > i; i++) "function" == typeof t ? this._valueLabel.push(e ? t.call(this.myChart, this._valueList[i], e) : t.call(this.myChart, this._valueList[i])) : "string" == typeof t && this._valueLabel.push(e ? s.format(t, this._valueList[i]) : t.replace("{value}", this._valueList[i]));
- else
- for(var i = 0, n = this._valueList.length; n > i; i++) this._valueLabel.push(e ? e(this._valueList[i]) : this.numAddCommas(this._valueList[i]))
- },
- getExtremum: function() {
- this._calculateValue();
- var e = this._dataMappingMethods;
- return {
- min: this._min,
- max: this._max,
- dataMappingMethods: e ? l.merge({}, e) : null
- }
- },
- refresh: function(e, t) {
- e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = l.merge(this.option.axisLabel.textStyle || {}, this.ecTheme.textStyle), this.series = t), this.zr && (this.clear(), this._buildShape())
- },
- getCoord: function(e) {
- this._dataMappingMethods && (e = this._dataMappingMethods.value2Coord(e)), e = e < this._min ? this._min : e, e = e > this._max ? this._max : e;
- var t;
- return t = this.isHorizontal() ? this.grid.getX() + (e - this._min) / (this._max - this._min) * this.grid.getWidth() : this.grid.getYend() - (e - this._min) / (this._max - this._min) * this.grid.getHeight()
- },
- getCoordSize: function(e) {
- return Math.abs(this.isHorizontal() ? e / (this._max - this._min) * this.grid.getWidth() : e / (this._max - this._min) * this.grid.getHeight())
- },
- getValueFromCoord: function(e) {
- var t;
- return this.isHorizontal() ? (e = e < this.grid.getX() ? this.grid.getX() : e, e = e > this.grid.getXend() ? this.grid.getXend() : e, t = this._min + (e - this.grid.getX()) / this.grid.getWidth() * (this._max - this._min)) : (e = e < this.grid.getY() ? this.grid.getY() : e, e = e > this.grid.getYend() ? this.grid.getYend() : e, t = this._max - (e - this.grid.getY()) / this.grid.getHeight() * (this._max - this._min)), this._dataMappingMethods && (t = this._dataMappingMethods.coord2Value(t)), t.toFixed(2) - 0
- },
- isMaindAxis: function(e) {
- for(var t = 0, i = this._valueList.length; i > t; t++)
- if(this._valueList[t] === e) return !0;
- return !1
- }
- }, l.inherits(t, i), e("../component").define("valueAxis", t), t
- }), i("echarts/util/date", [], function() {
- function e(e, t, i) {
- i = i > 1 ? i : 2;
- for(var n, a, o, r, s = 0, l = m.length; l > s; s++)
- if(n = m[s].value, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, Math.round(a / n) <= 1.2 * i) {
- o = m[s].formatter, r = m[s].value;
- break
- }
- return null == o && (o = "year", n = 317088e5, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, r = Math.round(a / (i - 1) / n) * n), {
- formatter: o,
- gapValue: r
- }
- }
- function t(e) {
- return 10 > e ? "0" + e : e
- }
- function i(e, i) {
- ("week" == e || "month" == e || "quarter" == e || "half-year" == e || "year" == e) && (e = "MM - dd\nyyyy");
- var n = h(i),
- a = n.getFullYear(),
- o = n.getMonth() + 1,
- r = n.getDate(),
- s = n.getHours(),
- l = n.getMinutes(),
- m = n.getSeconds();
- return e = e.replace("MM", t(o)), e = e.toLowerCase(), e = e.replace("yyyy", a), e = e.replace("yy", a % 100), e = e.replace("dd", t(r)), e = e.replace("d", r), e = e.replace("hh", t(s)), e = e.replace("h", s), e = e.replace("mm", t(l)), e = e.replace("m", l), e = e.replace("ss", t(m)), e = e.replace("s", m)
- }
- function n(e) {
- return e = h(e), e.setDate(e.getDate() + 8 - e.getDay()), e
- }
- function a(e, t, i) {
- return e = h(e), e.setMonth(Math.ceil((e.getMonth() + 1) / i) * i), e.setDate(t), e
- }
- function o(e, t) {
- return a(e, t, 1)
- }
- function r(e, t) {
- return a(e, t, 3)
- }
- function s(e, t) {
- return a(e, t, 6)
- }
- function l(e, t) {
- return a(e, t, 12)
- }
- function h(e) {
- return e instanceof Date ? e : new Date("string" == typeof e ? e.replace(/-/g, "/") : e)
- }
- var m = [{
- formatter: "hh : mm : ss",
- value: 1e3
- }, {
- formatter: "hh : mm : ss",
- value: 5e3
- }, {
- formatter: "hh : mm : ss",
- value: 1e4
- }, {
- formatter: "hh : mm : ss",
- value: 15e3
- }, {
- formatter: "hh : mm : ss",
- value: 3e4
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 6e4
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 3e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 6e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 9e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 18e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 36e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 72e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 216e5
- }, {
- formatter: "hh : mm\nMM - dd",
- value: 432e5
- }, {
- formatter: "MM - dd\nyyyy",
- value: 864e5
- }, {
- formatter: "week",
- value: 6048e5
- }, {
- formatter: "month",
- value: 26784e5
- }, {
- formatter: "quarter",
- value: 8208e6
- }, {
- formatter: "half-year",
- value: 16416e6
- }, {
- formatter: "year",
- value: 32832e6
- }];
- return {
- getAutoFormatter: e,
- getNewDate: h,
- format: i,
- nextMonday: n,
- nextNthPerNmonth: a,
- nextNthOnMonth: o,
- nextNthOnQuarterYear: r,
- nextNthOnHalfYear: s,
- nextNthOnYear: l
- }
- }), i("echarts/util/smartSteps", [], function() {
- function e(e) {
- return X.log(I(e)) / X.LN10
- }
- function t(e) {
- return X.pow(10, e)
- }
- function i(e) {
- return e === w(e)
- }
- function n(e, t, n, a) {
- b = a || {}, f = b.steps || L, k = b.secs || W, n = v(+n || 0) % 99, e = +e || 0, t = +t || 0, x = _ = 0, "min" in b && (e = +b.min || 0, x = 1), "max" in b && (t = +b.max || 0, _ = 1), e > t && (t = [e, e = t][0]);
- var o = t - e;
- if(x && _) return g(e, t, n);
- if((n || 5) > o) {
- if(i(e) && i(t)) return d(e, t, n);
- if(0 === o) return p(e, t, n)
- }
- return h(e, t, n)
- }
- function a(e, i, n, a) {
- a = a || 0;
- var s = o((i - e) / n, -1),
- l = o(e, -1, 1),
- h = o(i, -1),
- m = X.min(s.e, l.e, h.e);
- 0 === l.c ? m = X.min(s.e, h.e) : 0 === h.c && (m = X.min(s.e, l.e)), r(s, {
- c: 0,
- e: m
- }), r(l, s, 1), r(h, s), a += m, e = l.c, i = h.c;
- for(var V = (i - e) / n, U = t(a), d = 0, p = [], c = n + 1; c--;) p[c] = (e + V * c) * U;
- if(0 > a) {
- d = u(U), V = +(V * U).toFixed(d), e = +(e * U).toFixed(d), i = +(i * U).toFixed(d);
- for(var c = p.length; c--;) p[c] = p[c].toFixed(d), 0 === +p[c] && (p[c] = "0")
- } else e *= U, i *= U, V *= U;
- return k = 0, f = 0, b = 0, {
- min: e,
- max: i,
- secs: n,
- step: V,
- fix: d,
- exp: a,
- pnts: p
- }
- }
- function o(n, a, o) {
- a = v(a % 10) || 2, 0 > a && (i(n) ? a = ("" + I(n)).replace(/0+$/, "").length || 1 : (n = n.toFixed(15).replace(/0+$/, ""), a = n.replace(".", "").replace(/^[-0]+/, "").length, n = +n));
- var r = w(e(n)) - a + 1,
- s = +(n * t(-r)).toFixed(15) || 0;
- return s = o ? w(s) : K(s), !s && (r = 0), ("" + I(s)).length > a && (r += 1, s /= 10), {
- c: s,
- e: r
- }
- }
- function r(e, i, n) {
- var a = i.e - e.e;
- a && (e.e += a, e.c *= t(-a), e.c = n ? w(e.c) : K(e.c))
- }
- function s(e, t, i) {
- e.e < t.e ? r(t, e, i) : r(e, t, i)
- }
- function l(e, t) {
- t = t || L, e = o(e);
- for(var i = e.c, n = 0; i > t[n];) n++;
- if(!t[n])
- for(i /= 10, e.e += 1, n = 0; i > t[n];) n++;
- return e.c = t[n], e
- }
- function h(e, t, n) {
- var s, h = n || +k.slice(-1),
- p = l((t - e) / h, f),
- u = o(t - e),
- g = o(e, -1, 1),
- b = o(t, -1);
- if(r(u, p), r(g, p, 1), r(b, p), n ? s = V(g, b, h) : h = m(g, b), i(e) && i(t) && e * t >= 0) {
- if(h > t - e) return d(e, t, h);
- h = U(e, t, n, g, b, h)
- }
- var L = c(e, t, g.c, b.c);
- return g.c = L[0], b.c = L[1], (x || _) && y(e, t, g, b), a(g.c, b.c, h, b.e)
- }
- function m(e, i) {
- for(var n, a, o, r, s = [], h = k.length; h--;) n = k[h], a = l((i.c - e.c) / n, f), a = a.c * t(a.e), o = w(e.c / a) * a, r = K(i.c / a) * a, s[h] = {
- min: o,
- max: r,
- step: a,
- span: r - o
- };
- return s.sort(function(e, t) {
- var i = e.span - t.span;
- return 0 === i && (i = e.step - t.step), i
- }), s = s[0], n = s.span / s.step, e.c = s.min, i.c = s.max, 3 > n ? 2 * n : n
- }
- function V(e, i, n) {
- for(var a, o, r = i.c, s = (i.c - e.c) / n - 1; r > e.c;) s = l(s + 1, f), s = s.c * t(s.e), a = s * n, o = K(i.c / s) * s, r = o - a;
- var h = e.c - r,
- m = o - i.c,
- V = h - m;
- return V > 1.1 * s && (V = v(V / s / 2) * s, r += V, o += V), e.c = r, i.c = o, s
- }
- function U(e, n, a, o, r, s) {
- var l = r.c - o.c,
- h = l / s * t(r.e);
- if(!i(h) && (h = w(h), l = h * s, n - e > l && (h += 1, l = h * s, !a && h * (s - 1) >= n - e && (s -= 1, l = h * s)), l >= n - e)) {
- var m = l - (n - e);
- o.c = v(e - m / 2), r.c = v(n + m / 2), o.e = 0, r.e = 0
- }
- return s
- }
- function d(e, t, i) {
- if(i = i || 5, x) t = e + i;
- else if(_) e = t - i;
- else {
- var n = i - (t - e),
- o = v(e - n / 2),
- r = v(t + n / 2),
- s = c(e, t, o, r);
- e = s[0], t = s[1]
- }
- return a(e, t, i)
- }
- function p(e, t, i) {
- i = i || 5;
- var n = X.min(I(t / i), i) / 2.1;
- return x ? t = e + n : _ ? e = t - n : (e -= n, t += n), h(e, t, i)
- }
- function c(e, t, i, n) {
- return e >= 0 && 0 > i ? (n -= i, i = 0) : 0 >= t && n > 0 && (i -= n, n = 0), [i, n]
- }
- function u(e) {
- return e = (+e).toFixed(15).split("."), e.pop().replace(/0+$/, "").length
- }
- function y(e, t, i, n) {
- if(x) {
- var a = o(e, 4, 1);
- i.e - a.e > 6 && (a = {
- c: 0,
- e: i.e
- }), s(i, a), s(n, a), n.c += a.c - i.c, i.c = a.c
- } else if(_) {
- var r = o(t, 4);
- n.e - r.e > 6 && (r = {
- c: 0,
- e: n.e
- }), s(i, r), s(n, r), i.c += r.c - n.c, n.c = r.c
- }
- }
- function g(e, t, i) {
- var n = i ? [i] : k,
- s = t - e;
- if(0 === s) return t = o(t, 3), i = n[0], t.c = v(t.c + i / 2), a(t.c - i, t.c, i, t.e);
- I(t / s) < 1e-6 && (t = 0), I(e / s) < 1e-6 && (e = 0);
- var l, h, m, V = [
- [5, 10],
- [10, 2],
- [50, 10],
- [100, 2]
- ],
- U = [],
- d = [],
- p = o(t - e, 3),
- c = o(e, -1, 1),
- u = o(t, -1);
- r(c, p, 1), r(u, p), s = u.c - c.c, p.c = s;
- for(var y = n.length; y--;) {
- i = n[y], l = K(s / i), h = l * i - s, m = 3 * (h + 3), m += 2 * (i - n[0] + 2), i % 5 === 0 && (m -= 10);
- for(var g = V.length; g--;) l % V[g][0] === 0 && (m /= V[g][1]);
- d[y] = [i, l, h, m].join(), U[y] = {
- secs: i,
- step: l,
- delta: h,
- score: m
- }
- }
- return U.sort(function(e, t) {
- return e.score - t.score
- }), U = U[0], c.c = v(c.c - U.delta / 2), u.c = v(u.c + U.delta / 2), a(c.c, u.c, U.secs, p.e)
- }
- var b, f, k, x, _, L = [10, 20, 25, 50],
- W = [4, 5, 6],
- X = Math,
- v = X.round,
- w = X.floor,
- K = X.ceil,
- I = X.abs;
- return n
- }), i("echarts/util/smartLogSteps", ["require", "./number"], function(e) {
- function t(e) {
- return i(), u = e || {}, n(), a(), [o(), i()][0]
- }
- function i() {
- U = u = g = c = b = f = y = k = d = p = null
- }
- function n() {
- d = u.logLabelBase, null == d ? (p = "plain", d = 10, c = I) : (d = +d, 1 > d && (d = 10), p = "exponent", c = L(d)), y = u.splitNumber, null == y && (y = E);
- var e = parseFloat(u.dataMin),
- t = parseFloat(u.dataMax);
- isFinite(e) || isFinite(t) ? isFinite(e) ? isFinite(t) ? e > t && (t = [e, e = t][0]) : t = e : e = t : e = t = 1, U = u.logPositive, null == U && (U = t > 0 || 0 === e), b = U ? e : -t, f = U ? t : -e, S > b && (b = S), S > f && (f = S)
- }
- function a() {
- function e() {
- y > m && (y = m);
- var e = w(l(m / y)),
- t = v(l(m / e)),
- i = e * t,
- n = (i - U) / 2,
- a = w(l(r - n));
- V(a - r) && (a -= 1), g = -a * c;
- for(var s = a; o >= s - e; s += e) k.push(W(d, s))
- }
- function t() {
- for(var e = i(h, 0), t = e + 2; t > e && a(e + 1) + n(e + 1) * C < r;) e++;
- for(var l = i(s, 0), t = l - 2; l > t && a(l - 1) + n(l - 1) * C > o;) l--;
- g = -(a(e) * I + n(e) * J);
- for(var m = e; l >= m; m++) {
- var V = a(m),
- U = n(m);
- k.push(W(10, V) * W(2, U))
- }
- }
- function i(e, t) {
- return 3 * e + t
- }
- function n(e) {
- return e - 3 * a(e)
- }
- function a(e) {
- return w(l(e / 3))
- }
- k = [];
- var o = l(L(f) / c),
- r = l(L(b) / c),
- s = v(o),
- h = w(r),
- m = s - h,
- U = o - r;
- "exponent" === p ? e() : F >= m && y > F ? t() : e()
- }
- function o() {
- for(var e = [], t = 0, i = k.length; i > t; t++) e[t] = (U ? 1 : -1) * k[t];
- !U && e.reverse();
- var n = s(),
- a = n.value2Coord,
- o = a(e[0]),
- l = a(e[e.length - 1]);
- return o === l && (o -= 1, l += 1), {
- dataMin: o,
- dataMax: l,
- tickList: e,
- logPositive: U,
- labelFormatter: r(),
- dataMappingMethods: n
- }
- }
- function r() {
- if("exponent" === p) {
- var e = d,
- t = c;
- return function(i) {
- if(!isFinite(parseFloat(i))) return "";
- var n = "";
- return 0 > i && (i = -i, n = "-"), n + e + m(L(i) / t)
- }
- }
- return function(e) {
- return isFinite(parseFloat(e)) ? x.addCommas(h(e)) : ""
- }
- }
- function s() {
- var e = U,
- t = g;
- return {
- value2Coord: function(i) {
- return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) ? e && S > i ? i = S : !e && i > -S && (i = -S) : i = S, i = X(i), (e ? 1 : -1) * (L(i) + t))
- },
- coord2Value: function(i) {
- return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) || (i = S), e ? W(K, i - t) : -W(K, -i + t))
- }
- }
- }
- function l(e) {
- return +Number(+e).toFixed(14)
- }
- function h(e) {
- return Number(e).toFixed(15).replace(/\.?0*$/, "")
- }
- function m(e) {
- e = h(Math.round(e));
- for(var t = [], i = 0, n = e.length; n > i; i++) {
- var a = e.charAt(i);
- t.push(T[a] || "")
- }
- return t.join("")
- }
- function V(e) {
- return e > -S && S > e
- }
- var U, d, p, c, u, y, g, b, f, k, x = e("./number"),
- _ = Math,
- L = _.log,
- W = _.pow,
- X = _.abs,
- v = _.ceil,
- w = _.floor,
- K = _.E,
- I = _.LN10,
- J = _.LN2,
- C = J / I,
- S = 1e-9,
- E = 5,
- F = 2,
- T = {
- 0: "⁰",
- 1: "¹",
- 2: "²",
- 3: "³",
- 4: "⁴",
- 5: "⁵",
- 6: "⁶",
- 7: "⁷",
- 8: "⁸",
- 9: "⁹",
- "-": "⁻"
- };
- return t
- }), i("echarts/chart/line", ["require", "./base", "zrender/shape/Polyline", "../util/shape/Icon", "../util/shape/HalfSmoothPolygon", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, i, a, o) {
- n.call(this, e, t, i, a, o), this.refresh(a)
- }
- function i(e, t, i) {
- var n = t.x,
- a = t.y,
- r = t.width,
- s = t.height,
- l = s / 2;
- t.symbol.match("empty") && (e.fillStyle = "#fff"), t.brushType = "both";
- var h = t.symbol.replace("empty", "").toLowerCase();
- h.match("star") ? (l = h.replace("star", "") - 0 || 5, a -= 1, h = "star") : ("rectangle" === h || "arrow" === h) && (n += (r - s) / 2, r = s);
- var m = "";
- if(h.match("image") && (m = h.replace(new RegExp("^image:\\/\\/"), ""), h = "image", n += Math.round((r - s) / 2) - 1, r = s += 2), h = o.prototype.iconLibrary[h]) {
- var V = t.x,
- U = t.y;
- e.moveTo(V, U + l), e.lineTo(V + 5, U + l), e.moveTo(V + t.width - 5, U + l), e.lineTo(V + t.width, U + l);
- var d = this;
- h(e, {
- x: n + 4,
- y: a + 4,
- width: r - 8,
- height: s - 8,
- n: l,
- image: m
- }, function() {
- d.modSelf(), i()
- })
- } else e.moveTo(n, a + l), e.lineTo(n + r, a + l)
- }
- var n = e("./base"),
- a = e("zrender/shape/Polyline"),
- o = e("../util/shape/Icon"),
- r = e("../util/shape/HalfSmoothPolygon");
- e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
- var s = e("../config");
- s.line = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- xAxisIndex: 0,
- yAxisIndex: 0,
- dataFilter: "nearest",
- itemStyle: {
- normal: {
- label: {
- show: !1
- },
- lineStyle: {
- width: 2,
- type: "solid",
- shadowColor: "rgba(0,0,0,0)",
- shadowBlur: 0,
- shadowOffsetX: 0,
- shadowOffsetY: 0
- }
- },
- emphasis: {
- label: {
- show: !1
- }
- }
- },
- symbolSize: 2,
- showAllSymbol: !1
- };
- var l = e("../util/ecData"),
- h = e("zrender/tool/util"),
- m = e("zrender/tool/color");
- return t.prototype = {
- type: s.CHART_TYPE_LINE,
- _buildShape: function() {
- this.finalPLMap = {}, this._buildPosition()
- },
- _buildHorizontal: function(e, t, i, n) {
- for(var a, o, r, s, l, h, m, V, U, d = this.series, p = i[0][0], c = d[p], u = this.component.xAxis.getAxis(c.xAxisIndex || 0), y = {}, g = 0, b = t; b > g && null != u.getNameByIndex(g); g++) {
- o = u.getCoordByIndex(g);
- for(var f = 0, k = i.length; k > f; f++) {
- a = this.component.yAxis.getAxis(d[i[f][0]].yAxisIndex || 0), l = s = m = h = a.getCoord(0);
- for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), y[p] = y[p] || [], n[p] = n[p] || {
- min: Number.POSITIVE_INFINITY,
- max: Number.NEGATIVE_INFINITY,
- sum: 0,
- counter: 0,
- average: 0
- }, "-" !== U ? (U >= 0 ? (s -= x > 0 ? a.getCoordSize(U) : l - a.getCoord(U), r = s) : 0 > U && (h += x > 0 ? a.getCoordSize(U) : a.getCoord(U) - m, r = h), y[p].push([o, r, g, u.getNameByIndex(g), o, l]), n[p].min > U && (n[p].min = U, n[p].minY = r, n[p].minX = o), n[p].max < U && (n[p].max = U, n[p].maxY = r, n[p].maxX = o), n[p].sum += U, n[p].counter++) : y[p].length > 0 && (this.finalPLMap[p] = this.finalPLMap[p] || [], this.finalPLMap[p].push(y[p]), y[p] = [])
- }
- s = this.component.grid.getY();
- for(var L, f = 0, k = i.length; k > f; f++)
- for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), "-" == U && this.deepQuery([V, c, this.option], "calculable") && (L = this.deepQuery([V, c], "symbolSize"), s += 2 * L + 5, r = s, this.shapeList.push(this._getCalculableItem(p, g, u.getNameByIndex(g), o, r, "horizontal")))
- }
- for(var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []);
- this._calculMarkMapXY(n, i, "y"), this._buildBorkenLine(e, this.finalPLMap, u, "horizontal")
- },
- _buildVertical: function(e, t, i, n) {
- for(var a, o, r, s, l, h, m, V, U, d = this.series, p = i[0][0], c = d[p], u = this.component.yAxis.getAxis(c.yAxisIndex || 0), y = {}, g = 0, b = t; b > g && null != u.getNameByIndex(g); g++) {
- r = u.getCoordByIndex(g);
- for(var f = 0, k = i.length; k > f; f++) {
- a = this.component.xAxis.getAxis(d[i[f][0]].xAxisIndex || 0), l = s = m = h = a.getCoord(0);
- for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), y[p] = y[p] || [], n[p] = n[p] || {
- min: Number.POSITIVE_INFINITY,
- max: Number.NEGATIVE_INFINITY,
- sum: 0,
- counter: 0,
- average: 0
- }, "-" !== U ? (U >= 0 ? (s += x > 0 ? a.getCoordSize(U) : a.getCoord(U) - l, o = s) : 0 > U && (h -= x > 0 ? a.getCoordSize(U) : m - a.getCoord(U), o = h), y[p].push([o, r, g, u.getNameByIndex(g), l, r]), n[p].min > U && (n[p].min = U, n[p].minX = o, n[p].minY = r), n[p].max < U && (n[p].max = U, n[p].maxX = o, n[p].maxY = r), n[p].sum += U, n[p].counter++) : y[p].length > 0 && (this.finalPLMap[p] = this.finalPLMap[p] || [], this.finalPLMap[p].push(y[p]), y[p] = [])
- }
- s = this.component.grid.getXend();
- for(var L, f = 0, k = i.length; k > f; f++)
- for(var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), "-" == U && this.deepQuery([V, c, this.option], "calculable") && (L = this.deepQuery([V, c], "symbolSize"), s -= 2 * L + 5, o = s, this.shapeList.push(this._getCalculableItem(p, g, u.getNameByIndex(g), o, r, "vertical")))
- }
- for(var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []);
- this._calculMarkMapXY(n, i, "x"), this._buildBorkenLine(e, this.finalPLMap, u, "vertical")
- },
- _buildOther: function(e, t, i, n) {
- for(var a, o = this.series, r = {}, s = 0, l = i.length; l > s; s++)
- for(var h = 0, m = i[s].length; m > h; h++) {
- var V = i[s][h],
- U = o[V];
- a = this.component.xAxis.getAxis(U.xAxisIndex || 0);
- var d = this.component.yAxis.getAxis(U.yAxisIndex || 0),
- p = d.getCoord(0);
- r[V] = r[V] || [], n[V] = n[V] || {
- min0: Number.POSITIVE_INFINITY,
- min1: Number.POSITIVE_INFINITY,
- max0: Number.NEGATIVE_INFINITY,
- max1: Number.NEGATIVE_INFINITY,
- sum0: 0,
- sum1: 0,
- counter0: 0,
- counter1: 0,
- average0: 0,
- average1: 0
- };
- for(var c = 0, u = U.data.length; u > c; c++) {
- var y = U.data[c],
- g = this.getDataFromOption(y, "-");
- if(g instanceof Array) {
- var b = a.getCoord(g[0]),
- f = d.getCoord(g[1]);
- r[V].push([b, f, c, g[0], b, p]), n[V].min0 > g[0] && (n[V].min0 = g[0], n[V].minY0 = f, n[V].minX0 = b), n[V].max0 < g[0] && (n[V].max0 = g[0], n[V].maxY0 = f, n[V].maxX0 = b), n[V].sum0 += g[0], n[V].counter0++, n[V].min1 > g[1] && (n[V].min1 = g[1], n[V].minY1 = f, n[V].minX1 = b), n[V].max1 < g[1] && (n[V].max1 = g[1], n[V].maxY1 = f, n[V].maxX1 = b), n[V].sum1 += g[1], n[V].counter1++
- }
- }
- }
- for(var k in r) r[k].length > 0 && (this.finalPLMap[k] = this.finalPLMap[k] || [], this.finalPLMap[k].push(r[k]), r[k] = []);
- this._calculMarkMapXY(n, i, "xy"), this._buildBorkenLine(e, this.finalPLMap, a, "other")
- },
- _buildBorkenLine: function(e, t, i, n) {
- for(var o, s = "other" == n ? "horizontal" : n, V = this.series, U = e.length - 1; U >= 0; U--) {
- var d = e[U],
- p = V[d],
- c = t[d];
- if(p.type === this.type && null != c)
- for(var u = this._getBbox(d, s), y = this._sIndex2ColorMap[d], g = this.query(p, "itemStyle.normal.lineStyle.width"), b = this.query(p, "itemStyle.normal.lineStyle.type"), f = this.query(p, "itemStyle.normal.lineStyle.color"), k = this.getItemStyleColor(this.query(p, "itemStyle.normal.color"), d, -1), x = null != this.query(p, "itemStyle.normal.areaStyle"), _ = this.query(p, "itemStyle.normal.areaStyle.color"), L = 0, W = c.length; W > L; L++) {
- var X = c[L],
- v = "other" != n && this._isLarge(s, X);
- if(v) X = this._getLargePointList(s, X, p.dataFilter);
- else
- for(var w = 0, K = X.length; K > w; w++) o = p.data[X[w][2]], (this.deepQuery([o, p, this.option], "calculable") || this.deepQuery([o, p], "showAllSymbol") || "categoryAxis" === i.type && i.isMainAxis(X[w][2]) && "none" != this.deepQuery([o, p], "symbol")) && this.shapeList.push(this._getSymbol(d, X[w][2], X[w][3], X[w][0], X[w][1], s));
- var I = new a({
- zlevel: p.zlevel,
- z: p.z,
- style: {
- miterLimit: g,
- pointList: X,
- strokeColor: f || k || y,
- lineWidth: g,
- lineType: b,
- smooth: this._getSmooth(p.smooth),
- smoothConstraint: u,
- shadowColor: this.query(p, "itemStyle.normal.lineStyle.shadowColor"),
- shadowBlur: this.query(p, "itemStyle.normal.lineStyle.shadowBlur"),
- shadowOffsetX: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetX"),
- shadowOffsetY: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetY")
- },
- hoverable: !1,
- _main: !0,
- _seriesIndex: d,
- _orient: s
- });
- if(l.pack(I, V[d], d, 0, L, V[d].name), this.shapeList.push(I), x) {
- var J = new r({
- zlevel: p.zlevel,
- z: p.z,
- style: {
- miterLimit: g,
- pointList: h.clone(X).concat([
- [X[X.length - 1][4], X[X.length - 1][5]],
- [X[0][4], X[0][5]]
- ]),
- brushType: "fill",
- smooth: this._getSmooth(p.smooth),
- smoothConstraint: u,
- color: _ ? _ : m.alpha(y, .5)
- },
- highlightStyle: {
- brushType: "fill"
- },
- hoverable: !1,
- _main: !0,
- _seriesIndex: d,
- _orient: s
- });
- l.pack(J, V[d], d, 0, L, V[d].name), this.shapeList.push(J)
- }
- }
- }
- },
- _getBbox: function(e, t) {
- var i = this.component.grid.getBbox(),
- n = this.xMarkMap[e];
- return null != n.minX0 ? [
- [Math.min(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.min(n.minY0, n.maxY0, n.minY1, n.maxY1)],
- [Math.max(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.max(n.minY0, n.maxY0, n.minY1, n.maxY1)]
- ] : ("horizontal" === t ? (i[0][1] = Math.min(n.minY, n.maxY), i[1][1] = Math.max(n.minY, n.maxY)) : (i[0][0] = Math.min(n.minX, n.maxX), i[1][0] = Math.max(n.minX, n.maxX)), i)
- },
- _isLarge: function(e, t) {
- return t.length < 2 ? !1 : "horizontal" === e ? Math.abs(t[0][0] - t[1][0]) < .5 : Math.abs(t[0][1] - t[1][1]) < .5
- },
- _getLargePointList: function(e, t, i) {
- var n;
- n = "horizontal" === e ? this.component.grid.getWidth() : this.component.grid.getHeight();
- var a = t.length,
- o = [];
- if("function" != typeof i) switch(i) {
- case "min":
- i = function(e) {
- return Math.max.apply(null, e)
- };
- break;
- case "max":
- i = function(e) {
- return Math.min.apply(null, e)
- };
- break;
- case "average":
- i = function(e) {
- for(var t = 0, i = 0; i < e.length; i++) t += e[i];
- return t / e.length
- };
- break;
- default:
- i = function(e) {
- return e[0]
- }
- }
- for(var r = [], s = 0; n > s; s++) {
- var l = Math.floor(a / n * s),
- h = Math.min(Math.floor(a / n * (s + 1)), a);
- if(!(l >= h)) {
- for(var m = l; h > m; m++) r[m - l] = "horizontal" === e ? t[m][1] : t[m][0];
- r.length = h - l;
- for(var V = i(r), U = -1, d = 1 / 0, m = l; h > m; m++) {
- var p = "horizontal" === e ? t[m][1] : t[m][0],
- c = Math.abs(p - V);
- d > c && (U = m, d = c)
- }
- var u = t[U].slice();
- "horizontal" === e ? u[1] = V : u[0] = V, o.push(u)
- }
- }
- return o
- },
- _getSmooth: function(e) {
- return e ? .3 : 0
- },
- _getCalculableItem: function(e, t, i, n, a, o) {
- var r = this.series,
- l = r[e].calculableHolderColor || this.ecTheme.calculableHolderColor || s.calculableHolderColor,
- h = this._getSymbol(e, t, i, n, a, o);
- return h.style.color = l, h.style.strokeColor = l, h.rotation = [0, 0], h.hoverable = !1, h.draggable = !1, h.style.text = void 0, h
- },
- _getSymbol: function(e, t, i, n, a, o) {
- var r = this.series,
- s = r[e],
- l = s.data[t],
- h = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], this._sIndex2ColorMap[e], "#fff", "vertical" === o ? "horizontal" : "vertical");
- return h.zlevel = s.zlevel, h.z = s.z + 1, this.deepQuery([l, s, this.option], "calculable") && (this.setCalculable(h), h.draggable = !0), h
- },
- getMarkCoord: function(e, t) {
- var i = this.series[e],
- n = this.xMarkMap[e],
- a = this.component.xAxis.getAxis(i.xAxisIndex),
- o = this.component.yAxis.getAxis(i.yAxisIndex);
- if(t.type && ("max" === t.type || "min" === t.type || "average" === t.type)) {
- var r = null != t.valueIndex ? t.valueIndex : null != n.maxX0 ? "1" : "";
- return [n[t.type + "X" + r], n[t.type + "Y" + r], n[t.type + "Line" + r], n[t.type + r]]
- }
- return ["string" != typeof t.xAxis && a.getCoordByIndex ? a.getCoordByIndex(t.xAxis || 0) : a.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && o.getCoordByIndex ? o.getCoordByIndex(t.yAxis || 0) : o.getCoord(t.yAxis || 0)]
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- },
- ontooltipHover: function(e, t) {
- for(var i, n, a = e.seriesIndex, o = e.dataIndex, r = a.length; r--;)
- if(i = this.finalPLMap[a[r]])
- for(var s = 0, l = i.length; l > s; s++) {
- n = i[s];
- for(var h = 0, m = n.length; m > h; h++) o === n[h][2] && t.push(this._getSymbol(a[r], n[h][2], n[h][3], n[h][0], n[h][1], "horizontal"))
- }
- },
- addDataAnimation: function(e, t) {
- function i() {
- c--, 0 === c && t && t()
- }
- function n(e) {
- e.style.controlPointList = null
- }
- for(var a = this.series, o = {}, r = 0, s = e.length; s > r; r++) o[e[r][0]] = e[r];
- for(var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--)
- if(U = this.shapeList[r]._seriesIndex, o[U] && !o[U][3]) {
- if(this.shapeList[r]._main && this.shapeList[r].style.pointList.length > 1) {
- if(d = this.shapeList[r].style.pointList, h = Math.abs(d[0][0] - d[1][0]), V = Math.abs(d[0][1] - d[1][1]), p = "horizontal" === this.shapeList[r]._orient, o[U][2]) {
- if("half-smooth-polygon" === this.shapeList[r].type) {
- var u = d.length;
- this.shapeList[r].style.pointList[u - 3] = d[u - 2], this.shapeList[r].style.pointList[u - 3][p ? 0 : 1] = d[u - 4][p ? 0 : 1], this.shapeList[r].style.pointList[u - 2] = d[u - 1]
- }
- this.shapeList[r].style.pointList.pop(), p ? (l = h, m = 0) : (l = 0, m = -V)
- } else {
- if(this.shapeList[r].style.pointList.shift(), "half-smooth-polygon" === this.shapeList[r].type) {
- var y = this.shapeList[r].style.pointList.pop();
- p ? y[0] = d[0][0] : y[1] = d[0][1], this.shapeList[r].style.pointList.push(y)
- }
- p ? (l = -h, m = 0) : (l = 0, m = V)
- }
- this.shapeList[r].style.controlPointList = null, this.zr.modShape(this.shapeList[r])
- } else {
- if(o[U][2] && this.shapeList[r]._dataIndex === a[U].data.length - 1) {
- this.zr.delShape(this.shapeList[r].id);
- continue
- }
- if(!o[U][2] && 0 === this.shapeList[r]._dataIndex) {
- this.zr.delShape(this.shapeList[r].id);
- continue
- }
- }
- this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {
- position: [l, m]
- }).during(n).done(i).start()
- }
- c || t && t()
- }
- }, o.prototype.iconLibrary.legendLineIcon = i, h.inherits(t, n), e("../chart").define("line", t), t
- }), i("echarts/util/shape/HalfSmoothPolygon", ["require", "zrender/shape/Base", "zrender/shape/util/smoothBezier", "zrender/tool/util", "zrender/shape/Polygon"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/shape/util/smoothBezier"),
- a = e("zrender/tool/util");
- return t.prototype = {
- type: "half-smooth-polygon",
- buildPath: function(t, i) {
- var a = i.pointList;
- if(!(a.length < 2))
- if(i.smooth) {
- var o = n(a.slice(0, -2), i.smooth, !1, i.smoothConstraint);
- t.moveTo(a[0][0], a[0][1]);
- for(var r, s, l, h = a.length, m = 0; h - 3 > m; m++) r = o[2 * m], s = o[2 * m + 1], l = a[m + 1], t.bezierCurveTo(r[0], r[1], s[0], s[1], l[0], l[1]);
- t.lineTo(a[h - 2][0], a[h - 2][1]), t.lineTo(a[h - 1][0], a[h - 1][1]), t.lineTo(a[0][0], a[0][1])
- } else e("zrender/shape/Polygon").prototype.buildPath(t, i)
- }
- }, a.inherits(t, i), t
- }), i("echarts/chart/bar", ["require", "./base", "zrender/shape/Rectangle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Rectangle");
- e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
- var a = e("../config");
- a.bar = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- xAxisIndex: 0,
- yAxisIndex: 0,
- barMinHeight: 0,
- barGap: "30%",
- barCategoryGap: "20%",
- itemStyle: {
- normal: {
- barBorderColor: "#fff",
- barBorderRadius: 0,
- barBorderWidth: 0,
- label: {
- show: !1
- }
- },
- emphasis: {
- barBorderColor: "#fff",
- barBorderRadius: 0,
- barBorderWidth: 0,
- label: {
- show: !1
- }
- }
- }
- };
- var o = e("../util/ecData"),
- r = e("zrender/tool/util"),
- s = e("zrender/tool/color");
- return t.prototype = {
- type: a.CHART_TYPE_BAR,
- _buildShape: function() {
- this._buildPosition()
- },
- _buildNormal: function(e, t, i, o, r) {
- for(var s, l, h, m, V, U, d, p, c, u, y, g, b = this.series, f = i[0][0], k = b[f], x = "horizontal" == r, _ = this.component.xAxis, L = this.component.yAxis, W = x ? _.getAxis(k.xAxisIndex) : L.getAxis(k.yAxisIndex), X = this._mapSize(W, i), v = X.gap, w = X.barGap, K = X.barWidthMap, I = X.barMaxWidthMap, J = X.barWidth, C = X.barMinHeightMap, S = X.interval, E = this.deepQuery([this.ecTheme, a], "island.r"), F = 0, T = t; T > F && null != W.getNameByIndex(F); F++) {
- x ? m = W.getCoordByIndex(F) - v / 2 : V = W.getCoordByIndex(F) + v / 2;
- for(var z = 0, A = i.length; A > z; z++) {
- var M = b[i[z][0]].yAxisIndex || 0,
- O = b[i[z][0]].xAxisIndex || 0;
- s = x ? L.getAxis(M) : _.getAxis(O), d = U = c = p = s.getCoord(0);
- for(var P = 0, D = i[z].length; D > P; P++) f = i[z][P], k = b[f], y = k.data[F], g = this.getDataFromOption(y, "-"), o[f] = o[f] || {
- min: Number.POSITIVE_INFINITY,
- max: Number.NEGATIVE_INFINITY,
- sum: 0,
- counter: 0,
- average: 0
- }, h = Math.min(I[f] || Number.MAX_VALUE, K[f] || J), "-" !== g && (g > 0 ? (l = P > 0 ? s.getCoordSize(g) : x ? d - s.getCoord(g) : s.getCoord(g) - d, 1 === D && C[f] > l && (l = C[f]), x ? (U -= l, V = U) : (m = U, U += l)) : 0 > g ? (l = P > 0 ? s.getCoordSize(g) : x ? s.getCoord(g) - c : c - s.getCoord(g), 1 === D && C[f] > l && (l = C[f]), x ? (V = p, p += l) : (p -= l, m = p)) : (l = 0, x ? (U -= l, V = U) : (m = U, U += l)), o[f][F] = x ? m + h / 2 : V - h / 2, o[f].min > g && (o[f].min = g, x ? (o[f].minY = V, o[f].minX = o[f][F]) : (o[f].minX = m + l, o[f].minY = o[f][F])), o[f].max < g && (o[f].max = g, x ? (o[f].maxY = V, o[f].maxX = o[f][F]) : (o[f].maxX = m + l, o[f].maxY = o[f][F])), o[f].sum += g, o[f].counter++, F % S === 0 && (u = this._getBarItem(f, F, W.getNameByIndex(F), m, V - (x ? 0 : h), x ? h : l, x ? l : h, x ? "vertical" : "horizontal"), this.shapeList.push(new n(u))));
- for(var P = 0, D = i[z].length; D > P; P++) f = i[z][P], k = b[f], y = k.data[F], g = this.getDataFromOption(y, "-"), h = Math.min(I[f] || Number.MAX_VALUE, K[f] || J), "-" == g && this.deepQuery([y, k, this.option], "calculable") && (x ? (U -= E, V = U) : (m = U, U += E), u = this._getBarItem(f, F, W.getNameByIndex(F), m, V - (x ? 0 : h), x ? h : E, x ? E : h, x ? "vertical" : "horizontal"), u.hoverable = !1, u.draggable = !1, u.style.lineWidth = 1, u.style.brushType = "stroke", u.style.strokeColor = k.calculableHolderColor || this.ecTheme.calculableHolderColor || a.calculableHolderColor, this.shapeList.push(new n(u)));
- x ? m += h + w : V -= h + w
- }
- }
- this._calculMarkMapXY(o, i, x ? "y" : "x")
- },
- _buildHorizontal: function(e, t, i, n) {
- return this._buildNormal(e, t, i, n, "horizontal")
- },
- _buildVertical: function(e, t, i, n) {
- return this._buildNormal(e, t, i, n, "vertical")
- },
- _buildOther: function(e, t, i, a) {
- for(var o = this.series, r = 0, s = i.length; s > r; r++)
- for(var l = 0, h = i[r].length; h > l; l++) {
- var m = i[r][l],
- V = o[m],
- U = V.xAxisIndex || 0,
- d = this.component.xAxis.getAxis(U),
- p = d.getCoord(0),
- c = V.yAxisIndex || 0,
- u = this.component.yAxis.getAxis(c),
- y = u.getCoord(0);
- a[m] = a[m] || {
- min0: Number.POSITIVE_INFINITY,
- min1: Number.POSITIVE_INFINITY,
- max0: Number.NEGATIVE_INFINITY,
- max1: Number.NEGATIVE_INFINITY,
- sum0: 0,
- sum1: 0,
- counter0: 0,
- counter1: 0,
- average0: 0,
- average1: 0
- };
- for(var g = 0, b = V.data.length; b > g; g++) {
- var f = V.data[g],
- k = this.getDataFromOption(f, "-");
- if(k instanceof Array) {
- var x, _, L = d.getCoord(k[0]),
- W = u.getCoord(k[1]),
- X = [f, V],
- v = this.deepQuery(X, "barWidth") || 10,
- w = this.deepQuery(X, "barHeight");
- null != w ? (x = "horizontal", k[0] > 0 ? (v = L - p, L -= v) : v = k[0] < 0 ? p - L : 0, _ = this._getBarItem(m, g, k[0], L, W - w / 2, v, w, x)) : (x = "vertical", k[1] > 0 ? w = y - W : k[1] < 0 ? (w = W - y, W -= w) : w = 0, _ = this._getBarItem(m, g, k[0], L - v / 2, W, v, w, x)), this.shapeList.push(new n(_)), L = d.getCoord(k[0]), W = u.getCoord(k[1]), a[m].min0 > k[0] && (a[m].min0 = k[0], a[m].minY0 = W, a[m].minX0 = L), a[m].max0 < k[0] && (a[m].max0 = k[0], a[m].maxY0 = W, a[m].maxX0 = L), a[m].sum0 += k[0], a[m].counter0++, a[m].min1 > k[1] && (a[m].min1 = k[1], a[m].minY1 = W, a[m].minX1 = L), a[m].max1 < k[1] && (a[m].max1 = k[1], a[m].maxY1 = W, a[m].maxX1 = L), a[m].sum1 += k[1], a[m].counter1++
- }
- }
- }
- this._calculMarkMapXY(a, i, "xy")
- },
- _mapSize: function(e, t, i) {
- var n, a, o = this._findSpecialBarSzie(t, i),
- r = o.barWidthMap,
- s = o.barMaxWidthMap,
- l = o.barMinHeightMap,
- h = o.sBarWidthCounter,
- m = o.sBarWidthTotal,
- V = o.barGap,
- U = o.barCategoryGap,
- d = 1;
- if(t.length != h) {
- if(i) n = e.getGap(), V = 0, a = +(n / t.length).toFixed(2), 0 >= a && (d = Math.floor(t.length / n), a = 1);
- else if(n = "string" == typeof U && U.match(/%$/) ? (e.getGap() * (100 - parseFloat(U)) / 100).toFixed(2) - 0 : e.getGap() - U, "string" == typeof V && V.match(/%$/) ? (V = parseFloat(V) / 100, a = +((n - m) / ((t.length - 1) * V + t.length - h)).toFixed(2), V = a * V) : (V = parseFloat(V), a = +((n - m - V * (t.length - 1)) / (t.length - h)).toFixed(2)), 0 >= a) return this._mapSize(e, t, !0)
- } else if(n = h > 1 ? "string" == typeof U && U.match(/%$/) ? +(e.getGap() * (100 - parseFloat(U)) / 100).toFixed(2) : e.getGap() - U : m, a = 0, V = h > 1 ? +((n - m) / (h - 1)).toFixed(2) : 0, 0 > V) return this._mapSize(e, t, !0);
- return this._recheckBarMaxWidth(t, r, s, l, n, a, V, d)
- },
- _findSpecialBarSzie: function(e, t) {
- for(var i, n, a, o, r = this.series, s = {}, l = {}, h = {}, m = 0, V = 0, U = 0, d = e.length; d > U; U++)
- for(var p = {
- barWidth: !1,
- barMaxWidth: !1
- }, c = 0, u = e[U].length; u > c; c++) {
- var y = e[U][c],
- g = r[y];
- if(!t) {
- if(p.barWidth) s[y] = i;
- else if(i = this.query(g, "barWidth"), null != i) {
- s[y] = i, V += i, m++, p.barWidth = !0;
- for(var b = 0, f = c; f > b; b++) {
- var k = e[U][b];
- s[k] = i
- }
- }
- if(p.barMaxWidth) l[y] = n;
- else if(n = this.query(g, "barMaxWidth"), null != n) {
- l[y] = n, p.barMaxWidth = !0;
- for(var b = 0, f = c; f > b; b++) {
- var k = e[U][b];
- l[k] = n
- }
- }
- }
- h[y] = this.query(g, "barMinHeight"), a = null != a ? a : this.query(g, "barGap"), o = null != o ? o : this.query(g, "barCategoryGap")
- }
- return {
- barWidthMap: s,
- barMaxWidthMap: l,
- barMinHeightMap: h,
- sBarWidth: i,
- sBarMaxWidth: n,
- sBarWidthCounter: m,
- sBarWidthTotal: V,
- barGap: a,
- barCategoryGap: o
- }
- },
- _recheckBarMaxWidth: function(e, t, i, n, a, o, r, s) {
- for(var l = 0, h = e.length; h > l; l++) {
- var m = e[l][0];
- i[m] && i[m] < o && (a -= o - i[m])
- }
- return {
- barWidthMap: t,
- barMaxWidthMap: i,
- barMinHeightMap: n,
- gap: a,
- barWidth: o,
- barGap: r,
- interval: s
- }
- },
- _getBarItem: function(e, t, i, n, a, r, l, h) {
- var m, V = this.series,
- U = V[e],
- d = U.data[t],
- p = this._sIndex2ColorMap[e],
- c = [d, U],
- u = this.deepMerge(c, "itemStyle.normal"),
- y = this.deepMerge(c, "itemStyle.emphasis"),
- g = u.barBorderWidth;
- m = {
- zlevel: U.zlevel,
- z: U.z,
- clickable: this.deepQuery(c, "clickable"),
- style: {
- x: n,
- y: a,
- width: r,
- height: l,
- brushType: "both",
- color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.normal.color") || p, e, t, d),
- radius: u.barBorderRadius,
- lineWidth: g,
- strokeColor: u.barBorderColor
- },
- highlightStyle: {
- color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.emphasis.color"), e, t, d),
- radius: y.barBorderRadius,
- lineWidth: y.barBorderWidth,
- strokeColor: y.barBorderColor
- },
- _orient: h
- };
- var b = m.style;
- m.highlightStyle.color = m.highlightStyle.color || ("string" == typeof b.color ? s.lift(b.color, -.3) : b.color), b.x = Math.floor(b.x), b.y = Math.floor(b.y), b.height = Math.ceil(b.height), b.width = Math.ceil(b.width), g > 0 && b.height > g && b.width > g ? (b.y += g / 2, b.height -= g, b.x += g / 2, b.width -= g) : b.brushType = "fill", m.highlightStyle.textColor = m.highlightStyle.color, m = this.addLabel(m, U, d, i, h);
- for(var f = [b, m.highlightStyle], k = 0, x = f.length; x > k; k++) {
- var _ = f[k].textPosition;
- if("insideLeft" === _ || "insideRight" === _ || "insideTop" === _ || "insideBottom" === _) {
- var L = 5;
- switch(_) {
- case "insideLeft":
- f[k].textX = b.x + L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "left", f[k].textBaseline = "middle";
- break;
- case "insideRight":
- f[k].textX = b.x + b.width - L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "right", f[k].textBaseline = "middle";
- break;
- case "insideTop":
- f[k].textX = b.x + b.width / 2, f[k].textY = b.y + L / 2, f[k].textAlign = "center", f[k].textBaseline = "top";
- break;
- case "insideBottom":
- f[k].textX = b.x + b.width / 2, f[k].textY = b.y + b.height - L / 2, f[k].textAlign = "center", f[k].textBaseline = "bottom"
- }
- f[k].textPosition = "specific", f[k].textColor = f[k].textColor || "#fff"
- }
- }
- return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(m), m.draggable = !0), o.pack(m, V[e], e, V[e].data[t], t, i), m
- },
- getMarkCoord: function(e, t) {
- var i, n, a = this.series[e],
- o = this.xMarkMap[e],
- r = this.component.xAxis.getAxis(a.xAxisIndex),
- s = this.component.yAxis.getAxis(a.yAxisIndex);
- if(!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type)
- if(o.isHorizontal) {
- i = "string" == typeof t.xAxis && r.getIndexByName ? r.getIndexByName(t.xAxis) : t.xAxis || 0;
- var l = o[i];
- l = null != l ? l : "string" != typeof t.xAxis && r.getCoordByIndex ? r.getCoordByIndex(t.xAxis || 0) : r.getCoord(t.xAxis || 0), n = [l, s.getCoord(t.yAxis || 0)]
- } else {
- i = "string" == typeof t.yAxis && s.getIndexByName ? s.getIndexByName(t.yAxis) : t.yAxis || 0;
- var h = o[i];
- h = null != h ? h : "string" != typeof t.yAxis && s.getCoordByIndex ? s.getCoordByIndex(t.yAxis || 0) : s.getCoord(t.yAxis || 0), n = [r.getCoord(t.xAxis || 0), h]
- }
- else {
- var m = null != t.valueIndex ? t.valueIndex : null != o.maxX0 ? "1" : "";
- n = [o[t.type + "X" + m], o[t.type + "Y" + m], o[t.type + "Line" + m], o[t.type + m]]
- }
- return n
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- },
- addDataAnimation: function(e, t) {
- function i() {
- c--, 0 === c && t && t()
- }
- for(var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r];
- for(var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--)
- if(d = o.get(this.shapeList[r], "seriesIndex"), a[d] && !a[d][3] && "rectangle" === this.shapeList[r].type) {
- if(p = o.get(this.shapeList[r], "dataIndex"), U = n[d], a[d][2] && p === U.data.length - 1) {
- this.zr.delShape(this.shapeList[r].id);
- continue
- }
- if(!a[d][2] && 0 === p) {
- this.zr.delShape(this.shapeList[r].id);
- continue
- }
- "horizontal" === this.shapeList[r]._orient ? (V = this.component.yAxis.getAxis(U.yAxisIndex || 0).getGap(), m = a[d][2] ? -V : V, l = 0) : (h = this.component.xAxis.getAxis(U.xAxisIndex || 0).getGap(), l = a[d][2] ? h : -h, m = 0), this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {
- position: [l, m]
- }).done(i).start()
- }
- c || t && t()
- }
- }, r.inherits(t, i), e("../chart").define("bar", t), t
- }), i("echarts/chart/scatter", ["require", "./base", "../util/shape/Symbol", "../component/axis", "../component/grid", "../component/dataZoom", "../component/dataRange", "../config", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("../util/shape/Symbol");
- e("../component/axis"), e("../component/grid"), e("../component/dataZoom"), e("../component/dataRange");
- var a = e("../config");
- a.scatter = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- xAxisIndex: 0,
- yAxisIndex: 0,
- symbolSize: 4,
- large: !1,
- largeThreshold: 2e3,
- itemStyle: {
- normal: {
- label: {
- show: !1
- }
- },
- emphasis: {
- label: {
- show: !1
- }
- }
- }
- };
- var o = e("zrender/tool/util"),
- r = e("zrender/tool/color");
- return t.prototype = {
- type: a.CHART_TYPE_SCATTER,
- _buildShape: function() {
- var e = this.series;
- this._sIndex2ColorMap = {}, this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this.selectedMap = {}, this.xMarkMap = {};
- for(var t, i, n, o, s = this.component.legend, l = [], h = 0, m = e.length; m > h; h++)
- if(t = e[h], i = t.name, t.type === a.CHART_TYPE_SCATTER) {
- if(e[h] = this.reformOption(e[h]), this.legendHoverLink = e[h].legendHoverLink || this.legendHoverLink, this._sIndex2ShapeMap[h] = this.query(t, "symbol") || this._symbol[h % this._symbol.length], s) {
- if(this.selectedMap[i] = s.isSelected(i), this._sIndex2ColorMap[h] = r.alpha(s.getColor(i), .5), n = s.getItemShape(i)) {
- var o = this._sIndex2ShapeMap[h];
- n.style.brushType = o.match("empty") ? "stroke" : "both", o = o.replace("empty", "").toLowerCase(), o.match("rectangle") && (n.style.x += Math.round((n.style.width - n.style.height) / 2), n.style.width = n.style.height), o.match("star") && (n.style.n = o.replace("star", "") - 0 || 5, o = "star"), o.match("image") && (n.style.image = o.replace(new RegExp("^image:\\/\\/"), ""), n.style.x += Math.round((n.style.width - n.style.height) / 2), n.style.width = n.style.height, o = "image"), n.style.iconType = o, s.setItemShape(i, n)
- }
- } else this.selectedMap[i] = !0, this._sIndex2ColorMap[h] = r.alpha(this.zr.getColor(h), .5);
- this.selectedMap[i] && l.push(h)
- }
- this._buildSeries(l), this.addShapeList()
- },
- _buildSeries: function(e) {
- if(0 !== e.length) {
- for(var t, i, n, a, o, r, s, l, h = this.series, m = {}, V = 0, U = e.length; U > V; V++)
- if(t = e[V], i = h[t], 0 !== i.data.length) {
- o = this.component.xAxis.getAxis(i.xAxisIndex || 0), r = this.component.yAxis.getAxis(i.yAxisIndex || 0), m[t] = [];
- for(var d = 0, p = i.data.length; p > d; d++) n = i.data[d], a = this.getDataFromOption(n, "-"), "-" === a || a.length < 2 || (s = o.getCoord(a[0]), l = r.getCoord(a[1]), m[t].push([s, l, d, n.name || ""]));
- this.xMarkMap[t] = this._markMap(o, r, i.data, m[t]), this.buildMark(t)
- }
- this._buildPointList(m)
- }
- },
- _markMap: function(e, t, i, n) {
- for(var a, o = {
- min0: Number.POSITIVE_INFINITY,
- max0: Number.NEGATIVE_INFINITY,
- sum0: 0,
- counter0: 0,
- average0: 0,
- min1: Number.POSITIVE_INFINITY,
- max1: Number.NEGATIVE_INFINITY,
- sum1: 0,
- counter1: 0,
- average1: 0
- }, r = 0, s = n.length; s > r; r++) a = i[n[r][2]].value || i[n[r][2]], o.min0 > a[0] && (o.min0 = a[0], o.minY0 = n[r][1], o.minX0 = n[r][0]), o.max0 < a[0] && (o.max0 = a[0], o.maxY0 = n[r][1], o.maxX0 = n[r][0]), o.sum0 += a[0], o.counter0++, o.min1 > a[1] && (o.min1 = a[1], o.minY1 = n[r][1], o.minX1 = n[r][0]), o.max1 < a[1] && (o.max1 = a[1], o.maxY1 = n[r][1], o.maxX1 = n[r][0]), o.sum1 += a[1], o.counter1++;
- var l = this.component.grid.getX(),
- h = this.component.grid.getXend(),
- m = this.component.grid.getY(),
- V = this.component.grid.getYend();
- o.average0 = o.sum0 / o.counter0;
- var U = e.getCoord(o.average0);
- o.averageLine0 = [
- [U, V],
- [U, m]
- ], o.minLine0 = [
- [o.minX0, V],
- [o.minX0, m]
- ], o.maxLine0 = [
- [o.maxX0, V],
- [o.maxX0, m]
- ], o.average1 = o.sum1 / o.counter1;
- var d = t.getCoord(o.average1);
- return o.averageLine1 = [
- [l, d],
- [h, d]
- ], o.minLine1 = [
- [l, o.minY1],
- [h, o.minY1]
- ], o.maxLine1 = [
- [l, o.maxY1],
- [h, o.maxY1]
- ], o
- },
- _buildPointList: function(e) {
- var t, i, n, a, o = this.series;
- for(var r in e)
- if(t = o[r], i = e[r], t.large && t.data.length > t.largeThreshold) this.shapeList.push(this._getLargeSymbol(t, i, this.getItemStyleColor(this.query(t, "itemStyle.normal.color"), r, -1) || this._sIndex2ColorMap[r]));
- else
- for(var s = 0, l = i.length; l > s; s++) n = i[s], a = this._getSymbol(r, n[2], n[3], n[0], n[1]), a && this.shapeList.push(a)
- },
- _getSymbol: function(e, t, i, n, a) {
- var o, r = this.series,
- s = r[e],
- l = s.data[t],
- h = this.component.dataRange;
- if(h) {
- if(o = isNaN(l[2]) ? this._sIndex2ColorMap[e] : h.getColor(l[2]), !o) return null
- } else o = this._sIndex2ColorMap[e];
- var m = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], o, "rgba(0,0,0,0)", "vertical");
- return m.zlevel = s.zlevel, m.z = s.z, m._main = !0, m
- },
- _getLargeSymbol: function(e, t, i) {
- return new n({
- zlevel: e.zlevel,
- z: e.z,
- _main: !0,
- hoverable: !1,
- style: {
- pointList: t,
- color: i,
- strokeColor: i
- },
- highlightStyle: {
- pointList: []
- }
- })
- },
- getMarkCoord: function(e, t) {
- var i, n = this.series[e],
- a = this.xMarkMap[e],
- o = this.component.xAxis.getAxis(n.xAxisIndex),
- r = this.component.yAxis.getAxis(n.yAxisIndex);
- if(!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type) i = ["string" != typeof t.xAxis && o.getCoordByIndex ? o.getCoordByIndex(t.xAxis || 0) : o.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && r.getCoordByIndex ? r.getCoordByIndex(t.yAxis || 0) : r.getCoord(t.yAxis || 0)];
- else {
- var s = null != t.valueIndex ? t.valueIndex : 1;
- i = [a[t.type + "X" + s], a[t.type + "Y" + s], a[t.type + "Line" + s], a[t.type + s]]
- }
- return i
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- },
- ondataRange: function(e, t) {
- this.component.dataRange && (this.refresh(), t.needRefresh = !0)
- }
- }, o.inherits(t, i), e("../chart").define("scatter", t), t
- }), i("echarts/component/dataRange", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "../util/shape/HandlePolygon", "../config", "zrender/tool/util", "zrender/tool/event", "zrender/tool/area", "zrender/tool/color", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o);
- var s = this;
- s._ondrift = function(e, t) {
- return s.__ondrift(this, e, t)
- }, s._ondragend = function() {
- return s.__ondragend()
- }, s._dataRangeSelected = function(e) {
- return s.__dataRangeSelected(e)
- }, s._dispatchHoverLink = function(e) {
- return s.__dispatchHoverLink(e)
- }, s._onhoverlink = function(e) {
- return s.__onhoverlink(e);
- }, this._selectedMap = {}, this._range = {}, this.refresh(a), t.bind(r.EVENT.HOVER, this._onhoverlink)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Rectangle"),
- o = e("../util/shape/HandlePolygon"),
- r = e("../config");
- r.dataRange = {
- zlevel: 0,
- z: 4,
- show: !0,
- orient: "vertical",
- x: "left",
- y: "bottom",
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- itemGap: 10,
- itemWidth: 20,
- itemHeight: 14,
- precision: 0,
- splitNumber: 5,
- splitList: null,
- calculable: !1,
- selectedMode: !0,
- hoverLink: !0,
- realtime: !0,
- color: ["#006edd", "#e0ffff"],
- textStyle: {
- color: "#333"
- }
- };
- var s = e("zrender/tool/util"),
- l = e("zrender/tool/event"),
- h = e("zrender/tool/area"),
- m = e("zrender/tool/color");
- return t.prototype = {
- type: r.COMPONENT_TYPE_DATARANGE,
- _textGap: 10,
- _buildShape: function() {
- if(this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._isContinuity() ? this._buildGradient() : this._buildItem(), this.dataRangeOption.show)
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]);
- this._syncShapeFromRange()
- },
- _buildItem: function() {
- var e, t, i, o, r = this._valueTextList,
- s = r.length,
- l = this.getFont(this.dataRangeOption.textStyle),
- m = this._itemGroupLocation.x,
- V = this._itemGroupLocation.y,
- U = this.dataRangeOption.itemWidth,
- d = this.dataRangeOption.itemHeight,
- p = this.dataRangeOption.itemGap,
- c = h.getTextHeight("国", l);
- "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (m = this._itemGroupLocation.x + this._itemGroupLocation.width - U);
- var u = !0;
- this.dataRangeOption.text && (u = !1, this.dataRangeOption.text[0] && (i = this._getTextShape(m, V, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? m += h.getTextWidth(this.dataRangeOption.text[0], l) + this._textGap : (V += c + this._textGap, i.style.y += c / 2 + this._textGap, i.style.textBaseline = "bottom"), this.shapeList.push(new n(i))));
- for(var y = 0; s > y; y++) e = r[y], o = this.getColorByIndex(y), t = this._getItemShape(m, V, U, d, this._selectedMap[y] ? o : "#ccc"), t._idx = y, t.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (t.clickable = !0, t.onclick = this._dataRangeSelected), this.shapeList.push(new a(t)), u && (i = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: m + U + 5,
- y: V,
- color: this._selectedMap[y] ? this.dataRangeOption.textStyle.color : "#ccc",
- text: r[y],
- textFont: l,
- textBaseline: "top"
- },
- highlightStyle: {
- brushType: "fill"
- }
- }, "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (i.style.x -= U + 10, i.style.textAlign = "right"), i._idx = y, i.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (i.clickable = !0, i.onclick = this._dataRangeSelected), this.shapeList.push(new n(i))), "horizontal" == this.dataRangeOption.orient ? m += U + (u ? 5 : 0) + (u ? h.getTextWidth(e, l) : 0) + p : V += d + p;
- !u && this.dataRangeOption.text[1] && ("horizontal" == this.dataRangeOption.orient ? m = m - p + this._textGap : V = V - p + this._textGap, i = this._getTextShape(m, V, this.dataRangeOption.text[1]), "horizontal" != this.dataRangeOption.orient && (i.style.y -= 5, i.style.textBaseline = "top"), this.shapeList.push(new n(i)))
- },
- _buildGradient: function() {
- var t, i, o = this.getFont(this.dataRangeOption.textStyle),
- r = this._itemGroupLocation.x,
- s = this._itemGroupLocation.y,
- l = this.dataRangeOption.itemWidth,
- m = this.dataRangeOption.itemHeight,
- V = h.getTextHeight("国", o),
- U = 10,
- d = !0;
- this.dataRangeOption.text && (d = !1, this.dataRangeOption.text[0] && (i = this._getTextShape(r, s, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? r += h.getTextWidth(this.dataRangeOption.text[0], o) + this._textGap : (s += V + this._textGap, i.style.y += V / 2 + this._textGap, i.style.textBaseline = "bottom"), this.shapeList.push(new n(i))));
- for(var p = e("zrender/tool/color"), c = 1 / (this.dataRangeOption.color.length - 1), u = [], y = 0, g = this.dataRangeOption.color.length; g > y; y++) u.push([y * c, this.dataRangeOption.color[y]]);
- "horizontal" == this.dataRangeOption.orient ? (t = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: r,
- y: s,
- width: l * U,
- height: m,
- color: p.getLinearGradient(r, s, r + l * U, s, u)
- },
- hoverable: !1
- }, r += l * U + this._textGap) : (t = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: r,
- y: s,
- width: l,
- height: m * U,
- color: p.getLinearGradient(r, s, r, s + m * U, u)
- },
- hoverable: !1
- }, s += m * U + this._textGap), this.shapeList.push(new a(t)), this._calculableLocation = t.style, this.dataRangeOption.calculable && (this._buildFiller(), this._bulidMask(), this._bulidHandle()), this._buildIndicator(), !d && this.dataRangeOption.text[1] && (i = this._getTextShape(r, s, this.dataRangeOption.text[1]), this.shapeList.push(new n(i)))
- },
- _buildIndicator: function() {
- var e, t, i = this._calculableLocation.x,
- n = this._calculableLocation.y,
- a = this._calculableLocation.width,
- r = this._calculableLocation.height,
- s = 5;
- "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [
- [i, n + r],
- [i - s, n + r + s],
- [i + s, n + r + s]
- ], t = "bottom") : (e = [
- [i, n],
- [i - s, n - s],
- [i + s, n - s]
- ], t = "top") : "right" != this.dataRangeOption.x ? (e = [
- [i + a, n],
- [i + a + s, n - s],
- [i + a + s, n + s]
- ], t = "right") : (e = [
- [i, n],
- [i - s, n - s],
- [i - s, n + s]
- ], t = "left"), this._indicatorShape = {
- style: {
- pointList: e,
- color: "#fff",
- __rect: {
- x: Math.min(e[0][0], e[1][0]),
- y: Math.min(e[0][1], e[1][1]),
- width: s * ("horizontal" == this.dataRangeOption.orient ? 2 : 1),
- height: s * ("horizontal" == this.dataRangeOption.orient ? 1 : 2)
- }
- },
- highlightStyle: {
- brushType: "fill",
- textPosition: t,
- textColor: this.dataRangeOption.textStyle.color
- },
- hoverable: !1
- }, this._indicatorShape = new o(this._indicatorShape)
- },
- _buildFiller: function() {
- this._fillerShape = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- style: {
- x: this._calculableLocation.x,
- y: this._calculableLocation.y,
- width: this._calculableLocation.width,
- height: this._calculableLocation.height,
- color: "rgba(255,255,255,0)"
- },
- highlightStyle: {
- strokeColor: "rgba(255,255,255,0.5)",
- lineWidth: 1
- },
- draggable: !0,
- ondrift: this._ondrift,
- ondragend: this._ondragend,
- onmousemove: this._dispatchHoverLink,
- _type: "filler"
- }, this._fillerShape = new a(this._fillerShape), this.shapeList.push(this._fillerShape)
- },
- _bulidHandle: function() {
- var e, t, i, n, a, r, s, l, m = this._calculableLocation.x,
- V = this._calculableLocation.y,
- U = this._calculableLocation.width,
- d = this._calculableLocation.height,
- p = this.getFont(this.dataRangeOption.textStyle),
- c = h.getTextHeight("国", p),
- u = Math.max(h.getTextWidth(this._textFormat(this.dataRangeOption.max), p), h.getTextWidth(this._textFormat(this.dataRangeOption.min), p)) + 2;
- "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [
- [m, V],
- [m, V + d + c],
- [m - c, V + d + c],
- [m - 1, V + d],
- [m - 1, V]
- ], t = m - u / 2 - c, i = V + d + c / 2 + 2, n = {
- x: m - u - c,
- y: V + d,
- width: u + c,
- height: c
- }, a = [
- [m + U, V],
- [m + U, V + d + c],
- [m + U + c, V + d + c],
- [m + U + 1, V + d],
- [m + U + 1, V]
- ], r = m + U + u / 2 + c, s = i, l = {
- x: m + U,
- y: V + d,
- width: u + c,
- height: c
- }) : (e = [
- [m, V + d],
- [m, V - c],
- [m - c, V - c],
- [m - 1, V],
- [m - 1, V + d]
- ], t = m - u / 2 - c, i = V - c / 2 - 2, n = {
- x: m - u - c,
- y: V - c,
- width: u + c,
- height: c
- }, a = [
- [m + U, V + d],
- [m + U, V - c],
- [m + U + c, V - c],
- [m + U + 1, V],
- [m + U + 1, V + d]
- ], r = m + U + u / 2 + c, s = i, l = {
- x: m + U,
- y: V - c,
- width: u + c,
- height: c
- }) : (u += c, "right" != this.dataRangeOption.x ? (e = [
- [m, V],
- [m + U + c, V],
- [m + U + c, V - c],
- [m + U, V - 1],
- [m, V - 1]
- ], t = m + U + u / 2 + c / 2, i = V - c / 2, n = {
- x: m + U,
- y: V - c,
- width: u + c,
- height: c
- }, a = [
- [m, V + d],
- [m + U + c, V + d],
- [m + U + c, V + c + d],
- [m + U, V + 1 + d],
- [m, V + d + 1]
- ], r = t, s = V + d + c / 2, l = {
- x: m + U,
- y: V + d,
- width: u + c,
- height: c
- }) : (e = [
- [m + U, V],
- [m - c, V],
- [m - c, V - c],
- [m, V - 1],
- [m + U, V - 1]
- ], t = m - u / 2 - c / 2, i = V - c / 2, n = {
- x: m - u - c,
- y: V - c,
- width: u + c,
- height: c
- }, a = [
- [m + U, V + d],
- [m - c, V + d],
- [m - c, V + c + d],
- [m, V + 1 + d],
- [m + U, V + d + 1]
- ], r = t, s = V + d + c / 2, l = {
- x: m - u - c,
- y: V + d,
- width: u + c,
- height: c
- })), this._startShape = {
- style: {
- pointList: e,
- text: this._textFormat(this.dataRangeOption.max),
- textX: t,
- textY: i,
- textFont: p,
- color: this.getColor(this.dataRangeOption.max),
- rect: n,
- x: e[0][0],
- y: e[0][1],
- _x: e[0][0],
- _y: e[0][1]
- }
- }, this._startShape.highlightStyle = {
- strokeColor: this._startShape.style.color,
- lineWidth: 1
- }, this._endShape = {
- style: {
- pointList: a,
- text: this._textFormat(this.dataRangeOption.min),
- textX: r,
- textY: s,
- textFont: p,
- color: this.getColor(this.dataRangeOption.min),
- rect: l,
- x: a[0][0],
- y: a[0][1],
- _x: a[0][0],
- _y: a[0][1]
- }
- }, this._endShape.highlightStyle = {
- strokeColor: this._endShape.style.color,
- lineWidth: 1
- }, this._startShape.zlevel = this._endShape.zlevel = this.getZlevelBase(), this._startShape.z = this._endShape.z = this.getZBase() + 1, this._startShape.draggable = this._endShape.draggable = !0, this._startShape.ondrift = this._endShape.ondrift = this._ondrift, this._startShape.ondragend = this._endShape.ondragend = this._ondragend, this._startShape.style.textColor = this._endShape.style.textColor = this.dataRangeOption.textStyle.color, this._startShape.style.textAlign = this._endShape.style.textAlign = "center", this._startShape.style.textPosition = this._endShape.style.textPosition = "specific", this._startShape.style.textBaseline = this._endShape.style.textBaseline = "middle", this._startShape.style.width = this._endShape.style.width = 0, this._startShape.style.height = this._endShape.style.height = 0, this._startShape.style.textPosition = this._endShape.style.textPosition = "specific", this._startShape = new o(this._startShape), this._endShape = new o(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape)
- },
- _bulidMask: function() {
- var e = this._calculableLocation.x,
- t = this._calculableLocation.y,
- i = this._calculableLocation.width,
- n = this._calculableLocation.height;
- this._startMask = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- style: {
- x: e,
- y: t,
- width: "horizontal" == this.dataRangeOption.orient ? 0 : i,
- height: "horizontal" == this.dataRangeOption.orient ? n : 0,
- color: "#ccc"
- },
- hoverable: !1
- }, this._endMask = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- style: {
- x: "horizontal" == this.dataRangeOption.orient ? e + i : e,
- y: "horizontal" == this.dataRangeOption.orient ? t : t + n,
- width: "horizontal" == this.dataRangeOption.orient ? 0 : i,
- height: "horizontal" == this.dataRangeOption.orient ? n : 0,
- color: "#ccc"
- },
- hoverable: !1
- }, this._startMask = new a(this._startMask), this._endMask = new a(this._endMask), this.shapeList.push(this._startMask), this.shapeList.push(this._endMask)
- },
- _buildBackground: function() {
- var e = this.reformCssArray(this.dataRangeOption.padding);
- this.shapeList.push(new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._itemGroupLocation.x - e[3],
- y: this._itemGroupLocation.y - e[0],
- width: this._itemGroupLocation.width + e[3] + e[1],
- height: this._itemGroupLocation.height + e[0] + e[2],
- brushType: 0 === this.dataRangeOption.borderWidth ? "fill" : "both",
- color: this.dataRangeOption.backgroundColor,
- strokeColor: this.dataRangeOption.borderColor,
- lineWidth: this.dataRangeOption.borderWidth
- }
- }))
- },
- _getItemGroupLocation: function() {
- var e = this._valueTextList,
- t = e.length,
- i = this.dataRangeOption.itemGap,
- n = this.dataRangeOption.itemWidth,
- a = this.dataRangeOption.itemHeight,
- o = 0,
- r = 0,
- s = this.getFont(this.dataRangeOption.textStyle),
- l = h.getTextHeight("国", s),
- m = 10;
- if("horizontal" == this.dataRangeOption.orient) {
- if(this.dataRangeOption.text || this._isContinuity()) o = (this._isContinuity() ? n * m + i : t * (n + i)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? h.getTextWidth(this.dataRangeOption.text[0], s) + this._textGap : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? h.getTextWidth(this.dataRangeOption.text[1], s) + this._textGap : 0);
- else {
- n += 5;
- for(var V = 0; t > V; V++) o += n + h.getTextWidth(e[V], s) + i
- }
- o -= i, r = Math.max(l, a)
- } else {
- var U;
- if(this.dataRangeOption.text || this._isContinuity()) r = (this._isContinuity() ? a * m + i : t * (a + i)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? this._textGap + l : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? this._textGap + l : 0), U = Math.max(h.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[0] || "", s), h.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[1] || "", s)), o = Math.max(n, U);
- else {
- r = (a + i) * t, n += 5, U = 0;
- for(var V = 0; t > V; V++) U = Math.max(U, h.getTextWidth(e[V], s));
- o = n + U
- }
- r -= i
- }
- var d, p = this.reformCssArray(this.dataRangeOption.padding),
- c = this.zr.getWidth();
- switch(this.dataRangeOption.x) {
- case "center":
- d = Math.floor((c - o) / 2);
- break;
- case "left":
- d = p[3] + this.dataRangeOption.borderWidth;
- break;
- case "right":
- d = c - o - p[1] - this.dataRangeOption.borderWidth;
- break;
- default:
- d = this.parsePercent(this.dataRangeOption.x, c), d = isNaN(d) ? 0 : d
- }
- var u, y = this.zr.getHeight();
- switch(this.dataRangeOption.y) {
- case "top":
- u = p[0] + this.dataRangeOption.borderWidth;
- break;
- case "bottom":
- u = y - r - p[2] - this.dataRangeOption.borderWidth;
- break;
- case "center":
- u = Math.floor((y - r) / 2);
- break;
- default:
- u = this.parsePercent(this.dataRangeOption.y, y), u = isNaN(u) ? 0 : u
- }
- if(this.dataRangeOption.calculable) {
- var g = Math.max(h.getTextWidth(this.dataRangeOption.max, s), h.getTextWidth(this.dataRangeOption.min, s)) + l;
- "horizontal" == this.dataRangeOption.orient ? (g > d && (d = g), d + o + g > c && (d -= g)) : (l > u && (u = l), u + r + l > y && (u -= l))
- }
- return {
- x: d,
- y: u,
- width: o,
- height: r
- }
- },
- _getTextShape: function(e, t, i) {
- return {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: "horizontal" == this.dataRangeOption.orient ? e : this._itemGroupLocation.x + this._itemGroupLocation.width / 2,
- y: "horizontal" == this.dataRangeOption.orient ? this._itemGroupLocation.y + this._itemGroupLocation.height / 2 : t,
- color: this.dataRangeOption.textStyle.color,
- text: i,
- textFont: this.getFont(this.dataRangeOption.textStyle),
- textBaseline: "horizontal" == this.dataRangeOption.orient ? "middle" : "top",
- textAlign: "horizontal" == this.dataRangeOption.orient ? "left" : "center"
- },
- hoverable: !1
- }
- },
- _getItemShape: function(e, t, i, n, a) {
- return {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: e,
- y: t + 1,
- width: i,
- height: n - 2,
- color: a
- },
- highlightStyle: {
- strokeColor: a,
- lineWidth: 1
- }
- }
- },
- __ondrift: function(e, t, i) {
- var n = this._calculableLocation.x,
- a = this._calculableLocation.y,
- o = this._calculableLocation.width,
- r = this._calculableLocation.height;
- return "horizontal" == this.dataRangeOption.orient ? e.style.x + t <= n ? e.style.x = n : e.style.x + t + e.style.width >= n + o ? e.style.x = n + o - e.style.width : e.style.x += t : e.style.y + i <= a ? e.style.y = a : e.style.y + i + e.style.height >= a + r ? e.style.y = a + r - e.style.height : e.style.y += i, "filler" == e._type ? this._syncHandleShape() : this._syncFillerShape(e), this.dataRangeOption.realtime && this._dispatchDataRange(), !0
- },
- __ondragend: function() {
- this.isDragend = !0
- },
- ondragend: function(e, t) {
- this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, this.dataRangeOption.realtime || this._dispatchDataRange(), t.needRefresh = !1, this.isDragend = !1)
- },
- _syncShapeFromRange: function() {
- var e = this.dataRangeOption.range || {},
- t = e.start,
- i = e.end;
- if(t > i && (t = [i, i = t][0]), this._range.end = null != t ? t : null != this._range.end ? this._range.end : 0, this._range.start = null != i ? i : null != this._range.start ? this._range.start : 100, 100 != this._range.start || 0 !== this._range.end) {
- if("horizontal" == this.dataRangeOption.orient) {
- var n = this._fillerShape.style.width;
- this._fillerShape.style.x += n * (100 - this._range.start) / 100, this._fillerShape.style.width = n * (this._range.start - this._range.end) / 100
- } else {
- var a = this._fillerShape.style.height;
- this._fillerShape.style.y += a * (100 - this._range.start) / 100, this._fillerShape.style.height = a * (this._range.start - this._range.end) / 100
- }
- this.zr.modShape(this._fillerShape.id), this._syncHandleShape()
- }
- },
- _syncHandleShape: function() {
- var e = this._calculableLocation.x,
- t = this._calculableLocation.y,
- i = this._calculableLocation.width,
- n = this._calculableLocation.height;
- "horizontal" == this.dataRangeOption.orient ? (this._startShape.style.x = this._fillerShape.style.x, this._startMask.style.width = this._startShape.style.x - e, this._endShape.style.x = this._fillerShape.style.x + this._fillerShape.style.width, this._endMask.style.x = this._endShape.style.x, this._endMask.style.width = e + i - this._endShape.style.x, this._range.start = Math.ceil(100 - (this._startShape.style.x - e) / i * 100), this._range.end = Math.floor(100 - (this._endShape.style.x - e) / i * 100)) : (this._startShape.style.y = this._fillerShape.style.y, this._startMask.style.height = this._startShape.style.y - t, this._endShape.style.y = this._fillerShape.style.y + this._fillerShape.style.height, this._endMask.style.y = this._endShape.style.y, this._endMask.style.height = t + n - this._endShape.style.y, this._range.start = Math.ceil(100 - (this._startShape.style.y - t) / n * 100), this._range.end = Math.floor(100 - (this._endShape.style.y - t) / n * 100)), this._syncShape()
- },
- _syncFillerShape: function(e) {
- var t, i, n = this._calculableLocation.x,
- a = this._calculableLocation.y,
- o = this._calculableLocation.width,
- r = this._calculableLocation.height;
- "horizontal" == this.dataRangeOption.orient ? (t = this._startShape.style.x, i = this._endShape.style.x, e.id == this._startShape.id && t >= i ? (i = t, this._endShape.style.x = t) : e.id == this._endShape.id && t >= i && (t = i, this._startShape.style.x = t), this._fillerShape.style.x = t, this._fillerShape.style.width = i - t, this._startMask.style.width = t - n, this._endMask.style.x = i, this._endMask.style.width = n + o - i, this._range.start = Math.ceil(100 - (t - n) / o * 100), this._range.end = Math.floor(100 - (i - n) / o * 100)) : (t = this._startShape.style.y, i = this._endShape.style.y, e.id == this._startShape.id && t >= i ? (i = t, this._endShape.style.y = t) : e.id == this._endShape.id && t >= i && (t = i, this._startShape.style.y = t), this._fillerShape.style.y = t, this._fillerShape.style.height = i - t, this._startMask.style.height = t - a, this._endMask.style.y = i, this._endMask.style.height = a + r - i, this._range.start = Math.ceil(100 - (t - a) / r * 100), this._range.end = Math.floor(100 - (i - a) / r * 100)), this._syncShape()
- },
- _syncShape: function() {
- this._startShape.position = [this._startShape.style.x - this._startShape.style._x, this._startShape.style.y - this._startShape.style._y], this._startShape.style.text = this._textFormat(this._gap * this._range.start + this.dataRangeOption.min), this._startShape.style.color = this._startShape.highlightStyle.strokeColor = this.getColor(this._gap * this._range.start + this.dataRangeOption.min), this._endShape.position = [this._endShape.style.x - this._endShape.style._x, this._endShape.style.y - this._endShape.style._y], this._endShape.style.text = this._textFormat(this._gap * this._range.end + this.dataRangeOption.min), this._endShape.style.color = this._endShape.highlightStyle.strokeColor = this.getColor(this._gap * this._range.end + this.dataRangeOption.min), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.modShape(this._startMask.id), this.zr.modShape(this._endMask.id), this.zr.modShape(this._fillerShape.id), this.zr.refreshNextFrame()
- },
- _dispatchDataRange: function() {
- this.messageCenter.dispatch(r.EVENT.DATA_RANGE, null, {
- range: {
- start: this._range.end,
- end: this._range.start
- }
- }, this.myChart)
- },
- __dataRangeSelected: function(e) {
- if("single" === this.dataRangeOption.selectedMode)
- for(var t in this._selectedMap) this._selectedMap[t] = !1;
- var i = e.target._idx;
- this._selectedMap[i] = !this._selectedMap[i];
- var n, a;
- this._useCustomizedSplit() ? (n = this._splitList[i].max, a = this._splitList[i].min) : (n = (this._colorList.length - i) * this._gap + this.dataRangeOption.min, a = n - this._gap), this.messageCenter.dispatch(r.EVENT.DATA_RANGE_SELECTED, e.event, {
- selected: this._selectedMap,
- target: i,
- valueMax: n,
- valueMin: a
- }, this.myChart), this.messageCenter.dispatch(r.EVENT.REFRESH, null, null, this.myChart)
- },
- __dispatchHoverLink: function(e) {
- var t, i;
- if(this.dataRangeOption.calculable) {
- var n, a = this.dataRangeOption.max - this.dataRangeOption.min;
- n = "horizontal" == this.dataRangeOption.orient ? (1 - (l.getX(e.event) - this._calculableLocation.x) / this._calculableLocation.width) * a : (1 - (l.getY(e.event) - this._calculableLocation.y) / this._calculableLocation.height) * a, t = n - .05 * a, i = n + .05 * a
- } else if(this._useCustomizedSplit()) {
- var o = e.target._idx;
- i = this._splitList[o].max, t = this._splitList[o].min
- } else {
- var o = e.target._idx;
- i = (this._colorList.length - o) * this._gap + this.dataRangeOption.min, t = i - this._gap
- }
- this.messageCenter.dispatch(r.EVENT.DATA_RANGE_HOVERLINK, e.event, {
- valueMin: t,
- valueMax: i
- }, this.myChart)
- },
- __onhoverlink: function(e) {
- if(this.dataRangeOption.show && this.dataRangeOption.hoverLink && this._indicatorShape && e && null != e.seriesIndex && null != e.dataIndex) {
- var t = e.value;
- if("" === t || isNaN(t)) return;
- t < this.dataRangeOption.min ? t = this.dataRangeOption.min : t > this.dataRangeOption.max && (t = this.dataRangeOption.max), this._indicatorShape.position = "horizontal" == this.dataRangeOption.orient ? [(this.dataRangeOption.max - t) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.width, 0] : [0, (this.dataRangeOption.max - t) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.height], this._indicatorShape.style.text = this._textFormat(e.value), this._indicatorShape.style.color = this.getColor(t), this.zr.addHoverShape(this._indicatorShape)
- }
- },
- _textFormat: function(e, t) {
- var i = this.dataRangeOption;
- if(e !== -Number.MAX_VALUE && (e = (+e).toFixed(i.precision)), null != t && t !== Number.MAX_VALUE && (t = (+t).toFixed(i.precision)), i.formatter) {
- if("string" == typeof i.formatter) return i.formatter.replace("{value}", e === -Number.MAX_VALUE ? "min" : e).replace("{value2}", t === Number.MAX_VALUE ? "max" : t);
- if("function" == typeof i.formatter) return i.formatter.call(this.myChart, e, t)
- }
- return null == t ? e : e === -Number.MAX_VALUE ? "< " + t : t === Number.MAX_VALUE ? "> " + e : e + " - " + t
- },
- _isContinuity: function() {
- var e = this.dataRangeOption;
- return !(e.splitList ? e.splitList.length > 0 : e.splitNumber > 0) || e.calculable
- },
- _useCustomizedSplit: function() {
- var e = this.dataRangeOption;
- return e.splitList && e.splitList.length > 0
- },
- _buildColorList: function(e) {
- if(this._colorList = m.getGradientColors(this.dataRangeOption.color, Math.max((e - this.dataRangeOption.color.length) / (this.dataRangeOption.color.length - 1), 0) + 1), this._colorList.length > e) {
- for(var t = this._colorList.length, i = [this._colorList[0]], n = t / (e - 1), a = 1; e - 1 > a; a++) i.push(this._colorList[Math.floor(a * n)]);
- i.push(this._colorList[t - 1]), this._colorList = i
- }
- if(this._useCustomizedSplit())
- for(var o = this._splitList, a = 0, t = o.length; t > a; a++) o[a].color && (this._colorList[a] = o[a].color)
- },
- _buildGap: function(e) {
- if(!this._useCustomizedSplit()) {
- var t = this.dataRangeOption.precision;
- for(this._gap = (this.dataRangeOption.max - this.dataRangeOption.min) / e; this._gap.toFixed(t) - 0 != this._gap && 5 > t;) t++;
- this.dataRangeOption.precision = t, this._gap = ((this.dataRangeOption.max - this.dataRangeOption.min) / e).toFixed(t) - 0
- }
- },
- _buildDataList: function(e) {
- for(var t = this._valueTextList = [], i = this.dataRangeOption, n = this._useCustomizedSplit(), a = 0; e > a; a++) {
- this._selectedMap[a] = !0;
- var o = "";
- if(n) {
- var r = this._splitList[e - 1 - a];
- o = null != r.label ? r.label : null != r.single ? this._textFormat(r.single) : this._textFormat(r.min, r.max)
- } else o = this._textFormat(a * this._gap + i.min, (a + 1) * this._gap + i.min);
- t.unshift(o)
- }
- },
- _buildSplitList: function() {
- if(this._useCustomizedSplit())
- for(var e = this.dataRangeOption.splitList, t = this._splitList = [], i = 0, n = e.length; n > i; i++) {
- var a = e[i];
- if(!a || null == a.start && null == a.end) throw new Error("Empty item exists in splitList!");
- var o = {
- label: a.label,
- color: a.color
- };
- o.min = a.start, o.max = a.end, o.min > o.max && (o.min = [o.max, o.max = o.min][0]), o.min === o.max && (o.single = o.max), null == o.min && (o.min = -Number.MAX_VALUE), null == o.max && (o.max = Number.MAX_VALUE), t.push(o)
- }
- },
- refresh: function(e) {
- if(e) {
- this.option = e, this.option.dataRange = this.reformOption(this.option.dataRange);
- var t = this.dataRangeOption = this.option.dataRange;
- if(!this._useCustomizedSplit() && (null == t.min || null == t.max)) throw new Error("option.dataRange.min or option.dataRange.max has not been defined.");
- this.myChart.canvasSupported || (t.realtime = !1);
- var i = this._isContinuity() ? 100 : this._useCustomizedSplit() ? t.splitList.length : t.splitNumber;
- this._buildSplitList(), this._buildColorList(i), this._buildGap(i), this._buildDataList(i)
- }
- this.clear(), this._buildShape()
- },
- getColor: function(e) {
- if(isNaN(e)) return null;
- var t;
- if(this._useCustomizedSplit()) {
- for(var i = this._splitList, n = 0, a = i.length; a > n; n++)
- if(i[n].min <= e && i[n].max >= e) {
- t = n;
- break
- }
- } else {
- if(this.dataRangeOption.min == this.dataRangeOption.max) return this._colorList[0];
- if(e < this.dataRangeOption.min ? e = this.dataRangeOption.min : e > this.dataRangeOption.max && (e = this.dataRangeOption.max), this.dataRangeOption.calculable && (e - (this._gap * this._range.start + this.dataRangeOption.min) > 5e-5 || e - (this._gap * this._range.end + this.dataRangeOption.min) < -5e-5)) return null;
- t = this._colorList.length - Math.ceil((e - this.dataRangeOption.min) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._colorList.length), t == this._colorList.length && t--
- }
- return this._selectedMap[t] ? this._colorList[t] : null
- },
- getColorByIndex: function(e) {
- return e >= this._colorList.length ? e = this._colorList.length - 1 : 0 > e && (e = 0), this._colorList[e]
- },
- onbeforDispose: function() {
- this.messageCenter.unbind(r.EVENT.HOVER, this._onhoverlink)
- }
- }, s.inherits(t, i), e("../component").define("dataRange", t), t
- }), i("echarts/util/shape/HandlePolygon", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/shape/Polygon"),
- a = e("zrender/tool/util");
- return t.prototype = {
- type: "handle-polygon",
- buildPath: function(e, t) {
- n.prototype.buildPath(e, t)
- },
- isCover: function(e, t) {
- var i = this.transformCoordToLocal(e, t);
- e = i[0], t = i[1];
- var n = this.style.rect;
- return e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height ? !0 : !1
- }
- }, a.inherits(t, i), t
- }), i("echarts/chart/k", ["require", "./base", "../util/shape/Candle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("../util/shape/Candle");
- e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
- var a = e("../config");
- a.k = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- hoverable: !0,
- legendHoverLink: !1,
- xAxisIndex: 0,
- yAxisIndex: 0,
- itemStyle: {
- normal: {
- color: "#fff",
- color0: "#00aa11",
- lineStyle: {
- width: 1,
- color: "#ff3200",
- color0: "#00aa11"
- },
- label: {
- show: !1
- }
- },
- emphasis: {
- label: {
- show: !1
- }
- }
- }
- };
- var o = e("../util/ecData"),
- r = e("zrender/tool/util");
- return t.prototype = {
- type: a.CHART_TYPE_K,
- _buildShape: function() {
- var e = this.series;
- this.selectedMap = {};
- for(var t, i = {
- top: [],
- bottom: []
- }, n = 0, o = e.length; o > n; n++) e[n].type === a.CHART_TYPE_K && (e[n] = this.reformOption(e[n]), this.legendHoverLink = e[n].legendHoverLink || this.legendHoverLink, t = this.component.xAxis.getAxis(e[n].xAxisIndex), t.type === a.COMPONENT_TYPE_AXIS_CATEGORY && i[t.getPosition()].push(n));
- for(var r in i) i[r].length > 0 && this._buildSinglePosition(r, i[r]);
- this.addShapeList()
- },
- _buildSinglePosition: function(e, t) {
- var i = this._mapData(t),
- n = i.locationMap,
- a = i.maxDataLength;
- if(0 !== a && 0 !== n.length) {
- this._buildHorizontal(t, a, n);
- for(var o = 0, r = t.length; r > o; o++) this.buildMark(t[o])
- }
- },
- _mapData: function(e) {
- for(var t, i, n = this.series, a = this.component.legend, o = [], r = 0, s = 0, l = e.length; l > s; s++) t = n[e[s]], i = t.name, this.selectedMap[i] = a ? a.isSelected(i) : !0, this.selectedMap[i] && o.push(e[s]), r = Math.max(r, t.data.length);
- return {
- locationMap: o,
- maxDataLength: r
- }
- },
- _buildHorizontal: function(e, t, i) {
- for(var n, a, o, r, s, l, h, m, V, U, d = this.series, p = {}, c = 0, u = i.length; u > c; c++) {
- n = i[c], a = d[n], o = a.xAxisIndex || 0, r = this.component.xAxis.getAxis(o), h = a.barWidth || Math.floor(r.getGap() / 2), U = a.barMaxWidth, U && h > U && (h = U), s = a.yAxisIndex || 0, l = this.component.yAxis.getAxis(s), p[n] = [];
- for(var y = 0, g = t; g > y && null != r.getNameByIndex(y); y++) m = a.data[y], V = this.getDataFromOption(m, "-"), "-" !== V && 4 == V.length && p[n].push([r.getCoordByIndex(y), h, l.getCoord(V[0]), l.getCoord(V[1]), l.getCoord(V[2]), l.getCoord(V[3]), y, r.getNameByIndex(y)])
- }
- this._buildKLine(e, p)
- },
- _buildKLine: function(e, t) {
- for(var i, n, o, r, s, l, h, m, V, U, d, p, c, u, y, g, b, f = this.series, k = 0, x = e.length; x > k; k++)
- if(b = e[k], d = f[b], u = t[b], this._isLarge(u) && (u = this._getLargePointList(u)), d.type === a.CHART_TYPE_K && null != u) {
- p = d, i = this.query(p, "itemStyle.normal.lineStyle.width"), n = this.query(p, "itemStyle.normal.lineStyle.color"), o = this.query(p, "itemStyle.normal.lineStyle.color0"), r = this.query(p, "itemStyle.normal.color"), s = this.query(p, "itemStyle.normal.color0"), l = this.query(p, "itemStyle.emphasis.lineStyle.width"), h = this.query(p, "itemStyle.emphasis.lineStyle.color"), m = this.query(p, "itemStyle.emphasis.lineStyle.color0"), V = this.query(p, "itemStyle.emphasis.color"), U = this.query(p, "itemStyle.emphasis.color0");
- for(var _ = 0, L = u.length; L > _; _++) y = u[_], c = d.data[y[6]], p = c, g = y[3] < y[2], this.shapeList.push(this._getCandle(b, y[6], y[7], y[0], y[1], y[2], y[3], y[4], y[5], g ? this.query(p, "itemStyle.normal.color") || r : this.query(p, "itemStyle.normal.color0") || s, this.query(p, "itemStyle.normal.lineStyle.width") || i, g ? this.query(p, "itemStyle.normal.lineStyle.color") || n : this.query(p, "itemStyle.normal.lineStyle.color0") || o, g ? this.query(p, "itemStyle.emphasis.color") || V || r : this.query(p, "itemStyle.emphasis.color0") || U || s, this.query(p, "itemStyle.emphasis.lineStyle.width") || l || i, g ? this.query(p, "itemStyle.emphasis.lineStyle.color") || h || n : this.query(p, "itemStyle.emphasis.lineStyle.color0") || m || o))
- }
- },
- _isLarge: function(e) {
- return e[0][1] < .5
- },
- _getLargePointList: function(e) {
- for(var t = this.component.grid.getWidth(), i = e.length, n = [], a = 0; t > a; a++) n[a] = e[Math.floor(i / t * a)];
- return n
- },
- _getCandle: function(e, t, i, a, r, s, l, h, m, V, U, d, p, c, u) {
- var y = this.series,
- g = y[e],
- b = g.data[t],
- f = [b, g],
- k = {
- zlevel: g.zlevel,
- z: g.z,
- clickable: this.deepQuery(f, "clickable"),
- hoverable: this.deepQuery(f, "hoverable"),
- style: {
- x: a,
- y: [s, l, h, m],
- width: r,
- color: V,
- strokeColor: d,
- lineWidth: U,
- brushType: "both"
- },
- highlightStyle: {
- color: p,
- strokeColor: u,
- lineWidth: c
- },
- _seriesIndex: e
- };
- return k = this.addLabel(k, g, b, i), o.pack(k, g, e, b, t, i), k = new n(k)
- },
- getMarkCoord: function(e, t) {
- var i = this.series[e],
- n = this.component.xAxis.getAxis(i.xAxisIndex),
- a = this.component.yAxis.getAxis(i.yAxisIndex);
- return ["string" != typeof t.xAxis && n.getCoordByIndex ? n.getCoordByIndex(t.xAxis || 0) : n.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && a.getCoordByIndex ? a.getCoordByIndex(t.yAxis || 0) : a.getCoord(t.yAxis || 0)]
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- },
- addDataAnimation: function(e, t) {
- function i() {
- p--, 0 === p && t && t()
- }
- for(var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r];
- for(var l, h, m, V, U, d, p = 0, r = 0, s = this.shapeList.length; s > r; r++)
- if(U = this.shapeList[r]._seriesIndex, a[U] && !a[U][3] && "candle" === this.shapeList[r].type) {
- if(d = o.get(this.shapeList[r], "dataIndex"), V = n[U], a[U][2] && d === V.data.length - 1) {
- this.zr.delShape(this.shapeList[r].id);
- continue
- }
- if(!a[U][2] && 0 === d) {
- this.zr.delShape(this.shapeList[r].id);
- continue
- }
- h = this.component.xAxis.getAxis(V.xAxisIndex || 0).getGap(), l = a[U][2] ? h : -h, m = 0, p++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {
- position: [l, m]
- }).done(i).start()
- }
- p || t && t()
- }
- }, r.inherits(t, i), e("../chart").define("k", t), t
- }), i("echarts/chart/pie", ["require", "./base", "zrender/shape/Text", "zrender/shape/Ring", "zrender/shape/Circle", "zrender/shape/Sector", "zrender/shape/Polyline", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/math", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o);
- var r = this;
- r.shapeHandler.onmouseover = function(e) {
- var t = e.target,
- i = h.get(t, "seriesIndex"),
- n = h.get(t, "dataIndex"),
- a = h.get(t, "special"),
- o = [t.style.x, t.style.y],
- s = t.style.startAngle,
- l = t.style.endAngle,
- m = ((l + s) / 2 + 360) % 360,
- V = t.highlightStyle.color,
- U = r.getLabel(i, n, a, o, m, V, !0);
- U && r.zr.addHoverShape(U);
- var d = r.getLabelLine(i, n, o, t.style.r0, t.style.r, m, V, !0);
- d && r.zr.addHoverShape(d)
- }, this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Ring"),
- o = e("zrender/shape/Circle"),
- r = e("zrender/shape/Sector"),
- s = e("zrender/shape/Polyline"),
- l = e("../config");
- l.pie = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- center: ["50%", "50%"],
- radius: [0, "75%"],
- clockWise: !0,
- startAngle: 90,
- minAngle: 0,
- selectedOffset: 10,
- itemStyle: {
- normal: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- label: {
- show: !0,
- position: "outer"
- },
- labelLine: {
- show: !0,
- length: 20,
- lineStyle: {
- width: 1,
- type: "solid"
- }
- }
- },
- emphasis: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- label: {
- show: !1
- },
- labelLine: {
- show: !1,
- length: 20,
- lineStyle: {
- width: 1,
- type: "solid"
- }
- }
- }
- }
- };
- var h = e("../util/ecData"),
- m = e("zrender/tool/util"),
- V = e("zrender/tool/math"),
- U = e("zrender/tool/color");
- return t.prototype = {
- type: l.CHART_TYPE_PIE,
- _buildShape: function() {
- var e = this.series,
- t = this.component.legend;
- this.selectedMap = {}, this._selected = {};
- var i, n, r;
- this._selectedMode = !1;
- for(var s, m = 0, V = e.length; V > m; m++)
- if(e[m].type === l.CHART_TYPE_PIE) {
- if(e[m] = this.reformOption(e[m]), this.legendHoverLink = e[m].legendHoverLink || this.legendHoverLink, s = e[m].name || "", this.selectedMap[s] = t ? t.isSelected(s) : !0, !this.selectedMap[s]) continue;
- i = this.parseCenter(this.zr, e[m].center), n = this.parseRadius(this.zr, e[m].radius), this._selectedMode = this._selectedMode || e[m].selectedMode, this._selected[m] = [], this.deepQuery([e[m], this.option], "calculable") && (r = {
- zlevel: e[m].zlevel,
- z: e[m].z,
- hoverable: !1,
- style: {
- x: i[0],
- y: i[1],
- r0: n[0] <= 10 ? 0 : n[0] - 10,
- r: n[1] + 10,
- brushType: "stroke",
- lineWidth: 1,
- strokeColor: e[m].calculableHolderColor || this.ecTheme.calculableHolderColor || l.calculableHolderColor
- }
- }, h.pack(r, e[m], m, void 0, -1), this.setCalculable(r), r = n[0] <= 10 ? new o(r) : new a(r), this.shapeList.push(r)), this._buildSinglePie(m), this.buildMark(m)
- }
- this.addShapeList()
- },
- _buildSinglePie: function(e) {
- for(var t, i = this.series, n = i[e], a = n.data, o = this.component.legend, r = 0, s = 0, l = 0, h = Number.NEGATIVE_INFINITY, m = [], V = 0, U = a.length; U > V; V++) t = a[V].name,
- this.selectedMap[t] = o ? o.isSelected(t) : !0, this.selectedMap[t] && !isNaN(a[V].value) && (0 !== +a[V].value ? r++ : s++, l += +a[V].value, h = Math.max(h, +a[V].value));
- if(0 !== l) {
- for(var d, p, c, u, y, g, b = 100, f = n.clockWise, k = (n.startAngle.toFixed(2) - 0 + 360) % 360, x = n.minAngle || .01, _ = 360 - x * r - .01 * s, L = n.roseType, V = 0, U = a.length; U > V; V++)
- if(t = a[V].name, this.selectedMap[t] && !isNaN(a[V].value)) {
- if(p = o ? o.getColor(t) : this.zr.getColor(V), b = a[V].value / l, d = "area" != L ? f ? k - b * _ - (0 !== b ? x : .01) : b * _ + k + (0 !== b ? x : .01) : f ? k - 360 / U : 360 / U + k, d = d.toFixed(2) - 0, b = (100 * b).toFixed(2), c = this.parseCenter(this.zr, n.center), u = this.parseRadius(this.zr, n.radius), y = +u[0], g = +u[1], "radius" === L ? g = a[V].value / h * (g - y) * .8 + .2 * (g - y) + y : "area" === L && (g = Math.sqrt(a[V].value / h) * (g - y) + y), f) {
- var W;
- W = k, k = d, d = W
- }
- this._buildItem(m, e, V, b, a[V].selected, c, y, g, k, d, p), f || (k = d)
- }
- this._autoLabelLayout(m, c, g);
- for(var V = 0, U = m.length; U > V; V++) this.shapeList.push(m[V]);
- m = null
- }
- },
- _buildItem: function(e, t, i, n, a, o, r, s, l, m, V) {
- var U = this.series,
- d = ((m + l) / 2 + 360) % 360,
- p = this.getSector(t, i, n, a, o, r, s, l, m, V);
- h.pack(p, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(p);
- var c = this.getLabel(t, i, n, o, d, V, !1),
- u = this.getLabelLine(t, i, o, r, s, d, V, !1);
- u && (h.pack(u, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(u)), c && (h.pack(c, U[t], t, U[t].data[i], i, U[t].data[i].name, n), c._labelLine = u, e.push(c))
- },
- getSector: function(e, t, i, n, a, o, s, l, h, m) {
- var d = this.series,
- p = d[e],
- c = p.data[t],
- u = [c, p],
- y = this.deepMerge(u, "itemStyle.normal") || {},
- g = this.deepMerge(u, "itemStyle.emphasis") || {},
- b = this.getItemStyleColor(y.color, e, t, c) || m,
- f = this.getItemStyleColor(g.color, e, t, c) || ("string" == typeof b ? U.lift(b, -.2) : b),
- k = {
- zlevel: p.zlevel,
- z: p.z,
- clickable: this.deepQuery(u, "clickable"),
- style: {
- x: a[0],
- y: a[1],
- r0: o,
- r: s,
- startAngle: l,
- endAngle: h,
- brushType: "both",
- color: b,
- lineWidth: y.borderWidth,
- strokeColor: y.borderColor,
- lineJoin: "round"
- },
- highlightStyle: {
- color: f,
- lineWidth: g.borderWidth,
- strokeColor: g.borderColor,
- lineJoin: "round"
- },
- _seriesIndex: e,
- _dataIndex: t
- };
- if(n) {
- var x = ((k.style.startAngle + k.style.endAngle) / 2).toFixed(2) - 0;
- k.style._hasSelected = !0, k.style._x = k.style.x, k.style._y = k.style.y;
- var _ = this.query(p, "selectedOffset");
- k.style.x += V.cos(x, !0) * _, k.style.y -= V.sin(x, !0) * _, this._selected[e][t] = !0
- } else this._selected[e][t] = !1;
- return this._selectedMode && (k.onclick = this.shapeHandler.onclick), this.deepQuery([c, p, this.option], "calculable") && (this.setCalculable(k), k.draggable = !0), (this._needLabel(p, c, !0) || this._needLabelLine(p, c, !0)) && (k.onmouseover = this.shapeHandler.onmouseover), k = new r(k)
- },
- getLabel: function(e, t, i, a, o, r, s) {
- var l = this.series,
- h = l[e],
- U = h.data[t];
- if(this._needLabel(h, U, s)) {
- var d, p, c, u = s ? "emphasis" : "normal",
- y = m.merge(m.clone(U.itemStyle) || {}, h.itemStyle),
- g = y[u].label,
- b = g.textStyle || {},
- f = a[0],
- k = a[1],
- x = this.parseRadius(this.zr, h.radius),
- _ = "middle";
- g.position = g.position || y.normal.label.position, "center" === g.position ? (d = f, p = k, c = "center") : "inner" === g.position || "inside" === g.position ? (x = (x[0] + x[1]) * (g.distance || .5), d = Math.round(f + x * V.cos(o, !0)), p = Math.round(k - x * V.sin(o, !0)), r = "#fff", c = "center") : (x = x[1] - -y[u].labelLine.length, d = Math.round(f + x * V.cos(o, !0)), p = Math.round(k - x * V.sin(o, !0)), c = o >= 90 && 270 >= o ? "right" : "left"), "center" != g.position && "inner" != g.position && "inside" != g.position && (d += "left" === c ? 20 : -20), U.__labelX = d - ("left" === c ? 5 : -5), U.__labelY = p;
- var L = new n({
- zlevel: h.zlevel,
- z: h.z + 1,
- hoverable: !1,
- style: {
- x: d,
- y: p,
- color: b.color || r,
- text: this.getLabelText(e, t, i, u),
- textAlign: b.align || c,
- textBaseline: b.baseline || _,
- textFont: this.getFont(b)
- },
- highlightStyle: {
- brushType: "fill"
- }
- });
- return L._radius = x, L._labelPosition = g.position || "outer", L._rect = L.getRect(L.style), L._seriesIndex = e, L._dataIndex = t, L
- }
- },
- getLabelText: function(e, t, i, n) {
- var a = this.series,
- o = a[e],
- r = o.data[t],
- s = this.deepQuery([r, o], "itemStyle." + n + ".label.formatter");
- return s ? "function" == typeof s ? s.call(this.myChart, {
- seriesIndex: e,
- seriesName: o.name || "",
- series: o,
- dataIndex: t,
- data: r,
- name: r.name,
- value: r.value,
- percent: i
- }) : "string" == typeof s ? (s = s.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}"), s = s.replace("{a0}", o.name).replace("{b0}", r.name).replace("{c0}", r.value).replace("{d0}", i)) : void 0 : r.name
- },
- getLabelLine: function(e, t, i, n, a, o, r, l) {
- var h = this.series,
- U = h[e],
- d = U.data[t];
- if(this._needLabelLine(U, d, l)) {
- var p = l ? "emphasis" : "normal",
- c = m.merge(m.clone(d.itemStyle) || {}, U.itemStyle),
- u = c[p].labelLine,
- y = u.lineStyle || {},
- g = i[0],
- b = i[1],
- f = a,
- k = this.parseRadius(this.zr, U.radius)[1] - -u.length,
- x = V.cos(o, !0),
- _ = V.sin(o, !0);
- return new s({
- zlevel: U.zlevel,
- z: U.z + 1,
- hoverable: !1,
- style: {
- pointList: [
- [g + f * x, b - f * _],
- [g + k * x, b - k * _],
- [d.__labelX, d.__labelY]
- ],
- strokeColor: y.color || r,
- lineType: y.type,
- lineWidth: y.width
- },
- _seriesIndex: e,
- _dataIndex: t
- })
- }
- },
- _needLabel: function(e, t, i) {
- return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show")
- },
- _needLabelLine: function(e, t, i) {
- return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show")
- },
- _autoLabelLayout: function(e, t, i) {
- for(var n = [], a = [], o = 0, r = e.length; r > o; o++)("outer" === e[o]._labelPosition || "outside" === e[o]._labelPosition) && (e[o]._rect._y = e[o]._rect.y, e[o]._rect.x < t[0] ? n.push(e[o]) : a.push(e[o]));
- this._layoutCalculate(n, t, i, -1), this._layoutCalculate(a, t, i, 1)
- },
- _layoutCalculate: function(e, t, i, n) {
- function a(t, i, n) {
- for(var a = t; i > a; a++)
- if(e[a]._rect.y += n, e[a].style.y += n, e[a]._labelLine && (e[a]._labelLine.style.pointList[1][1] += n, e[a]._labelLine.style.pointList[2][1] += n), a > t && i > a + 1 && e[a + 1]._rect.y > e[a]._rect.y + e[a]._rect.height) return void o(a, n / 2);
- o(i - 1, n / 2)
- }
- function o(t, i) {
- for(var n = t; n >= 0 && (e[n]._rect.y -= i, e[n].style.y -= i, e[n]._labelLine && (e[n]._labelLine.style.pointList[1][1] -= i, e[n]._labelLine.style.pointList[2][1] -= i), !(n > 0 && e[n]._rect.y > e[n - 1]._rect.y + e[n - 1]._rect.height)); n--);
- }
- function r(e, t, i, n, a) {
- for(var o, r, s, l = i[0], h = i[1], m = a > 0 ? t ? Number.MAX_VALUE : 0 : t ? Number.MAX_VALUE : 0, V = 0, U = e.length; U > V; V++) r = Math.abs(e[V]._rect.y - h), s = e[V]._radius - n, o = n + s > r ? Math.sqrt((n + s + 20) * (n + s + 20) - Math.pow(e[V]._rect.y - h, 2)) : Math.abs(e[V]._rect.x + (a > 0 ? 0 : e[V]._rect.width) - l), t && o >= m && (o = m - 10), !t && m >= o && (o = m + 10), e[V]._rect.x = e[V].style.x = l + o * a, e[V]._labelLine && (e[V]._labelLine.style.pointList[2][0] = l + (o - 5) * a, e[V]._labelLine.style.pointList[1][0] = l + (o - 20) * a), m = o
- }
- e.sort(function(e, t) {
- return e._rect.y - t._rect.y
- });
- for(var s, l = 0, h = e.length, m = [], V = [], U = 0; h > U; U++) s = e[U]._rect.y - l, 0 > s && a(U, h, -s, n), l = e[U]._rect.y + e[U]._rect.height;
- this.zr.getHeight() - l < 0 && o(h - 1, l - this.zr.getHeight());
- for(var U = 0; h > U; U++) e[U]._rect.y >= t[1] ? V.push(e[U]) : m.push(e[U]);
- r(V, !0, t, i, n), r(m, !1, t, i, n)
- },
- reformOption: function(e) {
- var t = m.merge;
- return e = t(t(e || {}, m.clone(this.ecTheme.pie || {})), m.clone(l.pie)), e.itemStyle.normal.label.textStyle = this.getTextStyle(e.itemStyle.normal.label.textStyle), e.itemStyle.emphasis.label.textStyle = this.getTextStyle(e.itemStyle.emphasis.label.textStyle), this.z = e.z, this.zlevel = e.zlevel, e
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- },
- addDataAnimation: function(e, t) {
- function i() {
- s--, 0 === s && t && t()
- }
- for(var n = this.series, a = {}, o = 0, r = e.length; r > o; o++) a[e[o][0]] = e[o];
- var s = 0,
- h = {},
- m = {},
- V = {},
- U = this.shapeList;
- this.shapeList = [];
- for(var d, p, c, u = {}, o = 0, r = e.length; r > o; o++) d = e[o][0], p = e[o][2], c = e[o][3], n[d] && n[d].type === l.CHART_TYPE_PIE && (p ? (c || (h[d + "_" + n[d].data.length] = "delete"), u[d] = 1) : c ? u[d] = 0 : (h[d + "_-1"] = "delete", u[d] = -1), this._buildSinglePie(d));
- for(var y, g, o = 0, r = this.shapeList.length; r > o; o++) switch(d = this.shapeList[o]._seriesIndex, y = this.shapeList[o]._dataIndex, g = d + "_" + y, this.shapeList[o].type) {
- case "sector":
- h[g] = this.shapeList[o];
- break;
- case "text":
- m[g] = this.shapeList[o];
- break;
- case "polyline":
- V[g] = this.shapeList[o]
- }
- this.shapeList = [];
- for(var b, o = 0, r = U.length; r > o; o++)
- if(d = U[o]._seriesIndex, a[d]) {
- if(y = U[o]._dataIndex + u[d], g = d + "_" + y, b = h[g], !b) continue;
- if("sector" === U[o].type) "delete" != b ? (s++, this.zr.animate(U[o].id, "style").when(400, {
- startAngle: b.style.startAngle,
- endAngle: b.style.endAngle
- }).done(i).start()) : (s++, this.zr.animate(U[o].id, "style").when(400, u[d] < 0 ? {
- startAngle: U[o].style.startAngle
- } : {
- endAngle: U[o].style.endAngle
- }).done(i).start());
- else if("text" === U[o].type || "polyline" === U[o].type)
- if("delete" === b) this.zr.delShape(U[o].id);
- else switch(U[o].type) {
- case "text":
- s++, b = m[g], this.zr.animate(U[o].id, "style").when(400, {
- x: b.style.x,
- y: b.style.y
- }).done(i).start();
- break;
- case "polyline":
- s++, b = V[g], this.zr.animate(U[o].id, "style").when(400, {
- pointList: b.style.pointList
- }).done(i).start()
- }
- }
- this.shapeList = U, s || t && t()
- },
- onclick: function(e) {
- var t = this.series;
- if(this.isClick && e.target) {
- this.isClick = !1;
- for(var i, n = e.target, a = n.style, o = h.get(n, "seriesIndex"), r = h.get(n, "dataIndex"), s = 0, m = this.shapeList.length; m > s; s++)
- if(this.shapeList[s].id === n.id) {
- if(o = h.get(n, "seriesIndex"), r = h.get(n, "dataIndex"), a._hasSelected) n.style.x = n.style._x, n.style.y = n.style._y, n.style._hasSelected = !1, this._selected[o][r] = !1;
- else {
- var U = ((a.startAngle + a.endAngle) / 2).toFixed(2) - 0;
- n.style._hasSelected = !0, this._selected[o][r] = !0, n.style._x = n.style.x, n.style._y = n.style.y, i = this.query(t[o], "selectedOffset"), n.style.x += V.cos(U, !0) * i, n.style.y -= V.sin(U, !0) * i
- }
- this.zr.modShape(n.id)
- } else this.shapeList[s].style._hasSelected && "single" === this._selectedMode && (o = h.get(this.shapeList[s], "seriesIndex"), r = h.get(this.shapeList[s], "dataIndex"), this.shapeList[s].style.x = this.shapeList[s].style._x, this.shapeList[s].style.y = this.shapeList[s].style._y, this.shapeList[s].style._hasSelected = !1, this._selected[o][r] = !1, this.zr.modShape(this.shapeList[s].id));
- this.messageCenter.dispatch(l.EVENT.PIE_SELECTED, e.event, {
- selected: this._selected,
- target: h.get(n, "name")
- }, this.myChart), this.zr.refreshNextFrame()
- }
- }
- }, m.inherits(t, i), e("../chart").define("pie", t), t
- }), i("echarts/chart/radar", ["require", "./base", "zrender/shape/Polygon", "../component/polar", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../util/accMath", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Polygon");
- e("../component/polar");
- var a = e("../config");
- a.radar = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- polarIndex: 0,
- itemStyle: {
- normal: {
- label: {
- show: !1
- },
- lineStyle: {
- width: 2,
- type: "solid"
- }
- },
- emphasis: {
- label: {
- show: !1
- }
- }
- },
- symbolSize: 2
- };
- var o = e("../util/ecData"),
- r = e("zrender/tool/util"),
- s = e("zrender/tool/color");
- return t.prototype = {
- type: a.CHART_TYPE_RADAR,
- _buildShape: function() {
- this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._radarDataCounter = 0;
- for(var e, t = this.series, i = this.component.legend, n = 0, o = t.length; o > n; n++) t[n].type === a.CHART_TYPE_RADAR && (this.serie = this.reformOption(t[n]), this.legendHoverLink = t[n].legendHoverLink || this.legendHoverLink, e = this.serie.name || "", this.selectedMap[e] = i ? i.isSelected(e) : !0, this.selectedMap[e] && (this._queryTarget = [this.serie, this.option], this.deepQuery(this._queryTarget, "calculable") && this._addDropBox(n), this._buildSingleRadar(n), this.buildMark(n)));
- this.addShapeList()
- },
- _buildSingleRadar: function(e) {
- for(var t, i, n, a, o = this.component.legend, r = this.serie.data, s = this.deepQuery(this._queryTarget, "calculable"), l = 0; l < r.length; l++) n = r[l].name || "", this.selectedMap[n] = o ? o.isSelected(n) : !0, this.selectedMap[n] && (o ? (i = o.getColor(n), t = o.getItemShape(n), t && (t.style.brushType = this.deepQuery([r[l], this.serie], "itemStyle.normal.areaStyle") ? "both" : "stroke", o.setItemShape(n, t))) : i = this.zr.getColor(l), a = this._getPointList(this.serie.polarIndex, r[l]), this._addSymbol(a, i, l, e, this.serie.polarIndex), this._addDataShape(a, i, r[l], e, l, s), this._radarDataCounter++)
- },
- _getPointList: function(e, t) {
- for(var i, n, a = [], o = this.component.polar, r = 0, s = t.value.length; s > r; r++) n = this.getDataFromOption(t.value[r]), i = "-" != n ? o.getVector(e, r, n) : !1, i && a.push(i);
- return a
- },
- _addSymbol: function(e, t, i, n, a) {
- for(var r, s = this.series, l = this.component.polar, h = 0, m = e.length; m > h; h++) r = this.getSymbolShape(this.deepMerge([s[n].data[i], s[n]]), n, s[n].data[i].value[h], h, l.getIndicatorText(a, h), e[h][0], e[h][1], this._symbol[this._radarDataCounter % this._symbol.length], t, "#fff", "vertical"), r.zlevel = this.getZlevelBase(), r.z = this.getZBase() + 1, o.set(r, "data", s[n].data[i]), o.set(r, "value", s[n].data[i].value), o.set(r, "dataIndex", i), o.set(r, "special", h), this.shapeList.push(r)
- },
- _addDataShape: function(e, t, i, a, r, l) {
- var h = this.series,
- m = [i, this.serie],
- V = this.getItemStyleColor(this.deepQuery(m, "itemStyle.normal.color"), a, r, i),
- U = this.deepQuery(m, "itemStyle.normal.lineStyle.width"),
- d = this.deepQuery(m, "itemStyle.normal.lineStyle.type"),
- p = this.deepQuery(m, "itemStyle.normal.areaStyle.color"),
- c = this.deepQuery(m, "itemStyle.normal.areaStyle"),
- u = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- pointList: e,
- brushType: c ? "both" : "stroke",
- color: p || V || ("string" == typeof t ? s.alpha(t, .5) : t),
- strokeColor: V || t,
- lineWidth: U,
- lineType: d
- },
- highlightStyle: {
- brushType: this.deepQuery(m, "itemStyle.emphasis.areaStyle") || c ? "both" : "stroke",
- color: this.deepQuery(m, "itemStyle.emphasis.areaStyle.color") || p || V || ("string" == typeof t ? s.alpha(t, .5) : t),
- strokeColor: this.getItemStyleColor(this.deepQuery(m, "itemStyle.emphasis.color"), a, r, i) || V || t,
- lineWidth: this.deepQuery(m, "itemStyle.emphasis.lineStyle.width") || U,
- lineType: this.deepQuery(m, "itemStyle.emphasis.lineStyle.type") || d
- }
- };
- o.pack(u, h[a], a, i, r, i.name, this.component.polar.getIndicator(h[a].polarIndex)), l && (u.draggable = !0, this.setCalculable(u)), u = new n(u), this.shapeList.push(u)
- },
- _addDropBox: function(e) {
- var t = this.series,
- i = this.deepQuery(this._queryTarget, "polarIndex");
- if(!this._dropBoxList[i]) {
- var n = this.component.polar.getDropBox(i);
- n.zlevel = this.getZlevelBase(), n.z = this.getZBase(), this.setCalculable(n), o.pack(n, t, e, void 0, -1), this.shapeList.push(n), this._dropBoxList[i] = !0
- }
- },
- ondragend: function(e, t) {
- var i = this.series;
- if(this.isDragend && e.target) {
- var n = e.target,
- a = o.get(n, "seriesIndex"),
- r = o.get(n, "dataIndex");
- this.component.legend && this.component.legend.del(i[a].data[r].name), i[a].data.splice(r, 1), t.dragOut = !0, t.needRefresh = !0, this.isDragend = !1
- }
- },
- ondrop: function(t, i) {
- var n = this.series;
- if(this.isDrop && t.target) {
- var a, r, s = t.target,
- l = t.dragged,
- h = o.get(s, "seriesIndex"),
- m = o.get(s, "dataIndex"),
- V = this.component.legend;
- if(-1 === m) a = {
- value: o.get(l, "value"),
- name: o.get(l, "name")
- }, n[h].data.push(a), V && V.add(a.name, l.style.color || l.style.strokeColor);
- else {
- var U = e("../util/accMath");
- a = n[h].data[m], V && V.del(a.name), a.name += this.option.nameConnector + o.get(l, "name"), r = o.get(l, "value");
- for(var d = 0; d < r.length; d++) a.value[d] = U.accAdd(a.value[d], r[d]);
- V && V.add(a.name, l.style.color || l.style.strokeColor)
- }
- i.dragIn = i.dragIn || !0, this.isDrop = !1
- }
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- }
- }, r.inherits(t, i), e("../chart").define("radar", t), t
- }), i("echarts/component/polar", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Polygon", "zrender/shape/Circle", "zrender/shape/Ring", "../config", "zrender/tool/util", "../util/coordinates", "../util/accMath", "../util/smartSteps", "../component"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Line"),
- o = e("zrender/shape/Polygon"),
- r = e("zrender/shape/Circle"),
- s = e("zrender/shape/Ring"),
- l = e("../config");
- l.polar = {
- zlevel: 0,
- z: 0,
- center: ["50%", "50%"],
- radius: "75%",
- startAngle: 90,
- boundaryGap: [0, 0],
- splitNumber: 5,
- name: {
- show: !0,
- textStyle: {
- color: "#333"
- }
- },
- axisLine: {
- show: !0,
- lineStyle: {
- color: "#ccc",
- width: 1,
- type: "solid"
- }
- },
- axisLabel: {
- show: !1,
- textStyle: {
- color: "#333"
- }
- },
- splitArea: {
- show: !0,
- areaStyle: {
- color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"]
- }
- },
- splitLine: {
- show: !0,
- lineStyle: {
- width: 1,
- color: "#ccc"
- }
- },
- type: "polygon"
- };
- var h = e("zrender/tool/util"),
- m = e("../util/coordinates");
- return t.prototype = {
- type: l.COMPONENT_TYPE_POLAR,
- _buildShape: function() {
- for(var e = 0; e < this.polar.length; e++) this._index = e, this.reformOption(this.polar[e]), this._queryTarget = [this.polar[e], this.option], this._createVector(e), this._buildSpiderWeb(e), this._buildText(e), this._adjustIndicatorValue(e), this._addAxisLabel(e);
- for(var e = 0; e < this.shapeList.length; e++) this.zr.addShape(this.shapeList[e])
- },
- _createVector: function(e) {
- for(var t, i = this.polar[e], n = this.deepQuery(this._queryTarget, "indicator"), a = n.length, o = i.startAngle, r = 2 * Math.PI / a, s = this._getRadius(), l = i.__ecIndicator = [], h = 0; a > h; h++) t = m.polar2cartesian(s, o * Math.PI / 180 + r * h), l.push({
- vector: [t[1], -t[0]]
- })
- },
- _getRadius: function() {
- var e = this.polar[this._index];
- return this.parsePercent(e.radius, Math.min(this.zr.getWidth(), this.zr.getHeight()) / 2)
- },
- _buildSpiderWeb: function(e) {
- var t = this.polar[e],
- i = t.__ecIndicator,
- n = t.splitArea,
- a = t.splitLine,
- o = this.getCenter(e),
- r = t.splitNumber,
- s = a.lineStyle.color,
- l = a.lineStyle.width,
- h = a.show,
- m = this.deepQuery(this._queryTarget, "axisLine");
- this._addArea(i, r, o, n, s, l, h), m.show && this._addLine(i, o, m)
- },
- _addAxisLabel: function(t) {
- for(var i, a, o, r, a, s, l, m, V, U, d = e("../util/accMath"), p = this.polar[t], c = this.deepQuery(this._queryTarget, "indicator"), u = p.__ecIndicator, y = this.deepQuery(this._queryTarget, "splitNumber"), g = this.getCenter(t), b = 0; b < c.length; b++)
- if(i = this.deepQuery([c[b], p, this.option], "axisLabel"), i.show) {
- var f = this.deepQuery([i, p, this.option], "textStyle"),
- k = this.deepQuery([i, p], "formatter");
- if(o = {}, o.textFont = this.getFont(f), o.color = f.color, o = h.merge(o, i), o.lineWidth = o.width, a = u[b].vector, s = u[b].value, m = b / c.length * 2 * Math.PI, V = i.offset || 10, U = i.interval || 0, !s) return;
- for(var x = 1; y >= x; x += U + 1) r = h.merge({}, o), l = d.accAdd(s.min, d.accMul(s.step, x)), l = "function" == typeof k ? k(l) : "string" == typeof k ? k.replace("{a}", "{a0}").replace("{a0}", l) : this.numAddCommas(l), r.text = l, r.x = x * a[0] / y + Math.cos(m) * V + g[0], r.y = x * a[1] / y + Math.sin(m) * V + g[1], this.shapeList.push(new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: r,
- draggable: !1,
- hoverable: !1
- }))
- }
- },
- _buildText: function(e) {
- for(var t, i, a, o, r, s, l, h = this.polar[e], m = h.__ecIndicator, V = this.deepQuery(this._queryTarget, "indicator"), U = this.getCenter(e), d = 0, p = 0, c = 0; c < V.length; c++) o = this.deepQuery([V[c], h, this.option], "name"), o.show && (l = this.deepQuery([o, h, this.option], "textStyle"), i = {}, i.textFont = this.getFont(l), i.color = l.color, i.text = "function" == typeof o.formatter ? o.formatter.call(this.myChart, V[c].text, c) : "string" == typeof o.formatter ? o.formatter.replace("{value}", V[c].text) : V[c].text, m[c].text = i.text, t = m[c].vector, a = Math.round(t[0]) > 0 ? "left" : Math.round(t[0]) < 0 ? "right" : "center", null == o.margin ? t = this._mapVector(t, U, 1.1) : (s = o.margin, d = t[0] > 0 ? s : -s, p = t[1] > 0 ? s : -s, d = 0 === t[0] ? 0 : d, p = 0 === t[1] ? 0 : p, t = this._mapVector(t, U, 1)), i.textAlign = a, i.x = t[0] + d, i.y = t[1] + p, r = o.rotate ? [o.rotate / 180 * Math.PI, t[0], t[1]] : [0, 0, 0], this.shapeList.push(new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: i,
- draggable: !1,
- hoverable: !1,
- rotation: r
- })))
- },
- getIndicatorText: function(e, t) {
- return this.polar[e] && this.polar[e].__ecIndicator[t] && this.polar[e].__ecIndicator[t].text
- },
- getDropBox: function(e) {
- var t, i, e = e || 0,
- n = this.polar[e],
- a = this.getCenter(e),
- o = n.__ecIndicator,
- r = o.length,
- s = [],
- l = n.type;
- if("polygon" == l) {
- for(var h = 0; r > h; h++) t = o[h].vector, s.push(this._mapVector(t, a, 1.2));
- i = this._getShape(s, "fill", "rgba(0,0,0,0)", "", 1)
- } else "circle" == l && (i = this._getCircle("", 1, 1.2, a, "fill", "rgba(0,0,0,0)"));
- return i
- },
- _addArea: function(e, t, i, n, a, o, r) {
- for(var s, l, h, m, V = this.deepQuery(this._queryTarget, "type"), U = 0; t > U; U++) l = (t - U) / t, r && ("polygon" == V ? (m = this._getPointList(e, l, i), s = this._getShape(m, "stroke", "", a, o)) : "circle" == V && (s = this._getCircle(a, o, l, i, "stroke")), this.shapeList.push(s)), n.show && (h = (t - U - 1) / t, this._addSplitArea(e, n, l, h, i, U))
- },
- _getCircle: function(e, t, i, n, a, o) {
- var s = this._getRadius();
- return new r({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: n[0],
- y: n[1],
- r: s * i,
- brushType: a,
- strokeColor: e,
- lineWidth: t,
- color: o
- },
- hoverable: !1,
- draggable: !1
- })
- },
- _getRing: function(e, t, i, n) {
- var a = this._getRadius();
- return new s({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: n[0],
- y: n[1],
- r: t * a,
- r0: i * a,
- color: e,
- brushType: "fill"
- },
- hoverable: !1,
- draggable: !1
- })
- },
- _getPointList: function(e, t, i) {
- for(var n, a = [], o = e.length, r = 0; o > r; r++) n = e[r].vector, a.push(this._mapVector(n, i, t));
- return a
- },
- _getShape: function(e, t, i, n, a) {
- return new o({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- pointList: e,
- brushType: t,
- color: i,
- strokeColor: n,
- lineWidth: a
- },
- hoverable: !1,
- draggable: !1
- })
- },
- _addSplitArea: function(e, t, i, n, a, o) {
- var r, s, l, h, m, V = e.length,
- U = t.areaStyle.color,
- d = [],
- V = e.length,
- p = this.deepQuery(this._queryTarget, "type");
- if("string" == typeof U && (U = [U]), s = U.length, r = U[o % s], "polygon" == p)
- for(var c = 0; V > c; c++) d = [], l = e[c].vector, h = e[(c + 1) % V].vector, d.push(this._mapVector(l, a, i)), d.push(this._mapVector(l, a, n)), d.push(this._mapVector(h, a, n)), d.push(this._mapVector(h, a, i)), m = this._getShape(d, "fill", r, "", 1), this.shapeList.push(m);
- else "circle" == p && (m = this._getRing(r, i, n, a), this.shapeList.push(m))
- },
- _mapVector: function(e, t, i) {
- return [e[0] * i + t[0], e[1] * i + t[1]]
- },
- getCenter: function(e) {
- var e = e || 0;
- return this.parseCenter(this.zr, this.polar[e].center)
- },
- _addLine: function(e, t, i) {
- for(var n, a, o = e.length, r = i.lineStyle, s = r.color, l = r.width, h = r.type, m = 0; o > m; m++) a = e[m].vector, n = this._getLine(t[0], t[1], a[0] + t[0], a[1] + t[1], s, l, h), this.shapeList.push(n)
- },
- _getLine: function(e, t, i, n, o, r, s) {
- return new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- xStart: e,
- yStart: t,
- xEnd: i,
- yEnd: n,
- strokeColor: o,
- lineWidth: r,
- lineType: s
- },
- hoverable: !1
- })
- },
- _adjustIndicatorValue: function(t) {
- for(var i, n, a, o = this.polar[t], r = this.deepQuery(this._queryTarget, "indicator"), s = r.length, l = o.__ecIndicator, h = this._getSeriesData(t), m = o.boundaryGap, V = o.splitNumber, U = o.scale, d = e("../util/smartSteps"), p = 0; s > p; p++) {
- if("number" == typeof r[p].max) i = r[p].max, n = r[p].min || 0, a = {
- max: i,
- min: n
- };
- else {
- var c = this._findValue(h, p, V, m);
- n = c.min, i = c.max
- }!U && n >= 0 && i >= 0 && (n = 0), !U && 0 >= n && 0 >= i && (i = 0);
- var u = d(n, i, V, a);
- l[p].value = {
- min: u.min,
- max: u.max,
- step: u.step
- }
- }
- },
- _getSeriesData: function(e) {
- for(var t, i, n, a = [], o = this.component.legend, r = 0; r < this.series.length; r++)
- if(t = this.series[r], t.type == l.CHART_TYPE_RADAR) {
- i = t.data || [];
- for(var s = 0; s < i.length; s++) n = this.deepQuery([i[s], t, this.option], "polarIndex") || 0, n != e || o && !o.isSelected(i[s].name) || a.push(i[s])
- }
- return a
- },
- _findValue: function(e, t, i, n) {
- function a(e) {
- (e > o || void 0 === o) && (o = e), (r > e || void 0 === r) && (r = e)
- }
- var o, r, s;
- if(e && 0 !== e.length) {
- if(1 == e.length && (r = 0), 1 != e.length)
- for(var l = 0; l < e.length; l++) a(this.getDataFromOption(e[l].value[t]));
- else {
- s = e[0];
- for(var l = 0; l < s.value.length; l++) a(this.getDataFromOption(s.value[l]))
- }
- var h = Math.abs(o - r);
- return r -= Math.abs(h * n[0]), o += Math.abs(h * n[1]), r === o && (0 === o ? o = 1 : o > 0 ? r = o / i : o /= i), {
- max: o,
- min: r
- }
- }
- },
- getVector: function(e, t, i) {
- e = e || 0, t = t || 0;
- var n = this.polar[e].__ecIndicator;
- if(!(t >= n.length)) {
- var a, o = this.polar[e].__ecIndicator[t],
- r = this.getCenter(e),
- s = o.vector,
- l = o.value.max,
- h = o.value.min;
- if("undefined" == typeof i) return r;
- switch(i) {
- case "min":
- i = h;
- break;
- case "max":
- i = l;
- break;
- case "center":
- i = (l + h) / 2
- }
- return a = l != h ? (i - h) / (l - h) : .5, this._mapVector(s, r, a)
- }
- },
- isInside: function(e) {
- var t = this.getNearestIndex(e);
- return t ? t.polarIndex : -1
- },
- getNearestIndex: function(e) {
- for(var t, i, n, a, o, r, s, l, h, V = 0; V < this.polar.length; V++) {
- if(t = this.polar[V], i = this.getCenter(V), e[0] == i[0] && e[1] == i[1]) return {
- polarIndex: V,
- valueIndex: 0
- };
- if(n = this._getRadius(), o = t.startAngle, r = t.indicator, s = r.length, l = 2 * Math.PI / s, a = m.cartesian2polar(e[0] - i[0], i[1] - e[1]), e[0] - i[0] < 0 && (a[1] += Math.PI), a[1] < 0 && (a[1] += 2 * Math.PI), h = a[1] - o / 180 * Math.PI + 2 * Math.PI, Math.abs(Math.cos(h % (l / 2))) * n > a[0]) return {
- polarIndex: V,
- valueIndex: Math.floor((h + l / 2) / l) % s
- }
- }
- },
- getIndicator: function(e) {
- var e = e || 0;
- return this.polar[e].indicator
- },
- refresh: function(e) {
- e && (this.option = e, this.polar = this.option.polar, this.series = this.option.series), this.clear(), this._buildShape()
- }
- }, h.inherits(t, i), e("../component").define("polar", t), t
- }), i("echarts/util/coordinates", ["require", "zrender/tool/math"], function(e) {
- function t(e, t) {
- return [e * n.sin(t), e * n.cos(t)]
- }
- function i(e, t) {
- return [Math.sqrt(e * e + t * t), Math.atan(t / e)]
- }
- var n = e("zrender/tool/math");
- return {
- polar2cartesian: t,
- cartesian2polar: i
- }
- }), i("echarts/chart/chord", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Sector", "../util/shape/Ribbon", "../util/shape/Icon", "zrender/shape/BezierCurve", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/vector", "../data/Graph", "../layout/Chord", "../chart"], function(e) {
- "use strict";
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.scaleLineLength = 4, this.scaleUnitAngle = 4, this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Line"),
- o = e("zrender/shape/Sector"),
- r = e("../util/shape/Ribbon"),
- s = e("../util/shape/Icon"),
- l = e("zrender/shape/BezierCurve"),
- h = e("../config");
- h.chord = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- radius: ["65%", "75%"],
- center: ["50%", "50%"],
- padding: 2,
- sort: "none",
- sortSub: "none",
- startAngle: 90,
- clockWise: !0,
- ribbonType: !0,
- minRadius: 10,
- maxRadius: 20,
- symbol: "circle",
- showScale: !1,
- showScaleText: !1,
- itemStyle: {
- normal: {
- borderWidth: 0,
- borderColor: "#000",
- label: {
- show: !0,
- rotate: !1,
- distance: 5
- },
- chordStyle: {
- width: 1,
- color: "black",
- borderWidth: 1,
- borderColor: "#999",
- opacity: .5
- }
- },
- emphasis: {
- borderWidth: 0,
- borderColor: "#000",
- chordStyle: {
- width: 1,
- color: "black",
- borderWidth: 1,
- borderColor: "#999"
- }
- }
- }
- };
- var m = e("../util/ecData"),
- V = e("zrender/tool/util"),
- U = e("zrender/tool/vector"),
- d = e("../data/Graph"),
- p = e("../layout/Chord");
- return t.prototype = {
- type: h.CHART_TYPE_CHORD,
- _init: function() {
- var e = this.series;
- this.selectedMap = {};
- for(var t = {}, i = {}, n = 0, a = e.length; a > n; n++)
- if(e[n].type === this.type) {
- var o = this.isSelected(e[n].name);
- this.selectedMap[e[n].name] = o, o && this.buildMark(n), this.reformOption(e[n]), t[e[n].name] = e[n]
- }
- for(var n = 0, a = e.length; a > n; n++)
- if(e[n].type === this.type)
- if(e[n].insertToSerie) {
- var r = t[e[n].insertToSerie];
- e[n]._referenceSerie = r
- } else i[e[n].name] = [e[n]];
- for(var n = 0, a = e.length; a > n; n++)
- if(e[n].type === this.type && e[n].insertToSerie) {
- for(var s = e[n]._referenceSerie; s && s._referenceSerie;) s = s._referenceSerie;
- i[s.name] && this.selectedMap[e[n].name] && i[s.name].push(e[n])
- }
- for(var l in i) this._buildChords(i[l]);
- this.addShapeList()
- },
- _getNodeCategory: function(e, t) {
- return e.categories && e.categories[t.category || 0]
- },
- _getNodeQueryTarget: function(e, t) {
- var i = this._getNodeCategory(e, t);
- return [t, i, e]
- },
- _getEdgeQueryTarget: function(e, t, i) {
- return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].chordStyle]
- },
- _buildChords: function(e) {
- for(var t = [], i = e[0], n = function(e) {
- return e.layout.size > 0
- }, a = function(e) {
- return function(t) {
- return e.getEdge(t.node2, t.node1)
- }
- }, o = 0; o < e.length; o++) {
- var r = e[o];
- if(this.selectedMap[r.name]) {
- var s;
- r.matrix ? s = this._getSerieGraphFromDataMatrix(r, i) : r.links && (s = this._getSerieGraphFromNodeLinks(r, i)), s.filterNode(n, this), r.ribbonType && s.filterEdge(a(s)), t.push(s), s.__serie = r
- }
- }
- if(t.length) {
- var l = t[0];
- if(!i.ribbonType) {
- var h = i.minRadius,
- m = i.maxRadius,
- V = 1 / 0,
- U = -(1 / 0);
- l.eachNode(function(e) {
- U = Math.max(e.layout.size, U), V = Math.min(e.layout.size, V)
- });
- var d = (m - h) / (U - V);
- l.eachNode(function(e) {
- var t = this._getNodeQueryTarget(i, e),
- n = this.query(t, "symbolSize");
- e.layout.size = U === V ? n || V : n || (e.layout.size - V) * d + h
- }, this)
- }
- var c = new p;
- c.clockWise = i.clockWise, c.startAngle = i.startAngle * Math.PI / 180, c.clockWise || (c.startAngle = -c.startAngle), c.padding = i.padding * Math.PI / 180, c.sort = i.sort, c.sortSub = i.sortSub, c.directed = i.ribbonType, c.run(t);
- var u = this.query(i, "itemStyle.normal.label.show");
- if(i.ribbonType) {
- this._buildSectors(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t);
- for(var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildRibbons(e, o, t[y++], i);
- i.showScale && this._buildScales(i, 0, l)
- } else {
- this._buildNodeIcons(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t);
- for(var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildEdgeCurves(e, o, t[y++], i, l)
- }
- this._initHoverHandler(e, t)
- }
- },
- _getSerieGraphFromDataMatrix: function(e, t) {
- for(var i = [], n = 0, a = [], o = 0; o < e.matrix.length; o++) a[o] = e.matrix[o].slice();
- for(var r = e.data || e.nodes, o = 0; o < r.length; o++) {
- var s = {},
- l = r[o];
- l.rawIndex = o;
- for(var h in l) "name" === h ? s.id = l.name : s[h] = l[h];
- var m = this._getNodeCategory(t, l),
- V = m ? m.name : l.name;
- if(this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) i.push(s), n++;
- else {
- a.splice(n, 1);
- for(var U = 0; U < a.length; U++) a[U].splice(n, 1)
- }
- }
- var p = d.fromMatrix(i, a, !0);
- return p.eachNode(function(e) {
- e.layout = {
- size: e.data.outValue
- }, e.rawIndex = e.data.rawIndex
- }), p.eachEdge(function(e) {
- e.layout = {
- weight: e.data.weight
- }
- }), p
- },
- _getSerieGraphFromNodeLinks: function(e, t) {
- for(var i = new d(!0), n = e.data || e.nodes, a = 0, o = n.length; o > a; a++) {
- var r = n[a];
- if(r && !r.ignore) {
- var s = this._getNodeCategory(t, r),
- l = s ? s.name : r.name;
- if(this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) {
- var h = i.addNode(r.name, r);
- h.rawIndex = a
- }
- }
- }
- for(var a = 0, o = e.links.length; o > a; a++) {
- var m = e.links[a],
- V = m.source,
- U = m.target;
- "number" == typeof V && (V = n[V], V && (V = V.name)), "number" == typeof U && (U = n[U], U && (U = U.name));
- var p = i.addEdge(V, U, m);
- p && (p.rawIndex = a)
- }
- return i.eachNode(function(e) {
- var i = e.data.value;
- if(null == i)
- if(i = 0, t.ribbonType)
- for(var n = 0; n < e.outEdges.length; n++) i += e.outEdges[n].data.weight || 0;
- else
- for(var n = 0; n < e.edges.length; n++) i += e.edges[n].data.weight || 0;
- e.layout = {
- size: i
- }
- }), i.eachEdge(function(e) {
- e.layout = {
- weight: null == e.data.weight ? 1 : e.data.weight
- }
- }), i
- },
- _initHoverHandler: function(e, t) {
- var i = e[0],
- n = t[0],
- a = this;
- n.eachNode(function(e) {
- e.shape.onmouseover = function() {
- n.eachNode(function(e) {
- e.shape.style.opacity = .1, e.labelShape && (e.labelShape.style.opacity = .1, e.labelShape.modSelf()), e.shape.modSelf()
- });
- for(var i = 0; i < t.length; i++)
- for(var o = 0; o < t[i].edges.length; o++) {
- var r = t[i].edges[o],
- s = a._getEdgeQueryTarget(t[i].__serie, r.data);
- r.shape.style.opacity = .1 * a.deepQuery(s, "opacity"), r.shape.modSelf()
- }
- e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1);
- for(var i = 0; i < t.length; i++) {
- var l = t[i].getNodeById(e.id);
- if(l)
- for(var o = 0; o < l.outEdges.length; o++) {
- var r = l.outEdges[o],
- s = a._getEdgeQueryTarget(t[i].__serie, r.data);
- r.shape.style.opacity = a.deepQuery(s, "opacity");
- var h = t[0].getNodeById(r.node2.id);
- h && (h.shape && (h.shape.style.opacity = 1), h.labelShape && (h.labelShape.style.opacity = 1))
- }
- }
- a.zr.refreshNextFrame()
- }, e.shape.onmouseout = function() {
- n.eachNode(function(e) {
- e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1, e.labelShape.modSelf()), e.shape.modSelf()
- });
- for(var e = 0; e < t.length; e++)
- for(var o = 0; o < t[e].edges.length; o++) {
- var r = t[e].edges[o],
- s = [r.data, i];
- r.shape.style.opacity = a.deepQuery(s, "itemStyle.normal.chordStyle.opacity"), r.shape.modSelf()
- }
- a.zr.refreshNextFrame()
- }
- })
- },
- _buildSectors: function(e, t, i, n) {
- var a = this.parseCenter(this.zr, n.center),
- r = this.parseRadius(this.zr, n.radius),
- s = n.clockWise,
- l = s ? 1 : -1;
- i.eachNode(function(i) {
- var h = this._getNodeCategory(n, i.data),
- V = this.getColor(h ? h.name : i.id),
- U = i.layout.startAngle / Math.PI * 180 * l,
- d = i.layout.endAngle / Math.PI * 180 * l,
- p = new o({
- zlevel: e.zlevel,
- z: e.z,
- style: {
- x: a[0],
- y: a[1],
- r0: r[0],
- r: r[1],
- startAngle: U,
- endAngle: d,
- brushType: "fill",
- opacity: 1,
- color: V,
- clockWise: s
- },
- clickable: n.clickable,
- highlightStyle: {
- brushType: "fill"
- }
- });
- p.style.lineWidth = this.deepQuery([i.data, n], "itemStyle.normal.borderWidth"), p.highlightStyle.lineWidth = this.deepQuery([i.data, n], "itemStyle.emphasis.borderWidth"), p.style.strokeColor = this.deepQuery([i.data, n], "itemStyle.normal.borderColor"), p.highlightStyle.strokeColor = this.deepQuery([i.data, n], "itemStyle.emphasis.borderColor"), p.style.lineWidth > 0 && (p.style.brushType = "both"), p.highlightStyle.lineWidth > 0 && (p.highlightStyle.brushType = "both"), m.pack(p, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(p), i.shape = p
- }, this)
- },
- _buildNodeIcons: function(e, t, i, n) {
- var a = this.parseCenter(this.zr, n.center),
- o = this.parseRadius(this.zr, n.radius),
- r = o[1];
- i.eachNode(function(i) {
- var o = i.layout.startAngle,
- l = i.layout.endAngle,
- h = (o + l) / 2,
- V = r * Math.cos(h),
- U = r * Math.sin(h),
- d = this._getNodeQueryTarget(n, i.data),
- p = this._getNodeCategory(n, i.data),
- c = this.deepQuery(d, "itemStyle.normal.color");
- c || (c = this.getColor(p ? p.name : i.id));
- var u = new s({
- zlevel: e.zlevel,
- z: e.z + 1,
- style: {
- x: -i.layout.size,
- y: -i.layout.size,
- width: 2 * i.layout.size,
- height: 2 * i.layout.size,
- iconType: this.deepQuery(d, "symbol"),
- color: c,
- brushType: "both",
- lineWidth: this.deepQuery(d, "itemStyle.normal.borderWidth"),
- strokeColor: this.deepQuery(d, "itemStyle.normal.borderColor")
- },
- highlightStyle: {
- color: this.deepQuery(d, "itemStyle.emphasis.color"),
- lineWidth: this.deepQuery(d, "itemStyle.emphasis.borderWidth"),
- strokeColor: this.deepQuery(d, "itemStyle.emphasis.borderColor")
- },
- clickable: n.clickable,
- position: [V + a[0], U + a[1]]
- });
- m.pack(u, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(u), i.shape = u
- }, this)
- },
- _buildLabels: function(e, t, i, a) {
- var o = this.query(a, "itemStyle.normal.label.rotate"),
- r = this.query(a, "itemStyle.normal.label.distance"),
- s = this.parseCenter(this.zr, a.center),
- l = this.parseRadius(this.zr, a.radius),
- h = a.clockWise,
- m = h ? 1 : -1;
- i.eachNode(function(t) {
- var i = t.layout.startAngle / Math.PI * 180 * m,
- h = t.layout.endAngle / Math.PI * 180 * m,
- V = (i * -m + h * -m) / 2;
- V %= 360, 0 > V && (V += 360);
- var d = 90 >= V || V >= 270;
- V = V * Math.PI / 180;
- var p = [Math.cos(V), -Math.sin(V)],
- c = 0;
- c = a.ribbonType ? a.showScaleText ? 35 + r : r : r + t.layout.size;
- var u = U.scale([], p, l[1] + c);
- U.add(u, u, s);
- var y = {
- zlevel: e.zlevel,
- z: e.z + 1,
- hoverable: !1,
- style: {
- text: null == t.data.label ? t.id : t.data.label,
- textAlign: d ? "left" : "right"
- }
- };
- o ? (y.rotation = d ? V : Math.PI + V, y.style.x = d ? l[1] + c : -l[1] - c, y.style.y = 0, y.position = s.slice()) : (y.style.x = u[0], y.style.y = u[1]), y.style.color = this.deepQuery([t.data, a], "itemStyle.normal.label.textStyle.color") || "#000000", y.style.textFont = this.getFont(this.deepQuery([t.data, a], "itemStyle.normal.label.textStyle")), y = new n(y), this.shapeList.push(y), t.labelShape = y
- }, this)
- },
- _buildRibbons: function(e, t, i, n) {
- var a = e[t],
- o = this.parseCenter(this.zr, n.center),
- s = this.parseRadius(this.zr, n.radius);
- i.eachEdge(function(l, h) {
- var V, U = i.getEdge(l.node2, l.node1);
- if(U && !l.shape) {
- if(U.shape) return void(l.shape = U.shape);
- var d = l.layout.startAngle / Math.PI * 180,
- p = l.layout.endAngle / Math.PI * 180,
- c = U.layout.startAngle / Math.PI * 180,
- u = U.layout.endAngle / Math.PI * 180;
- V = this.getColor(1 === e.length ? l.layout.weight <= U.layout.weight ? l.node1.id : l.node2.id : a.name);
- var y, g, b = this._getEdgeQueryTarget(a, l.data),
- f = this._getEdgeQueryTarget(a, l.data, "emphasis"),
- k = new r({
- zlevel: a.zlevel,
- z: a.z,
- style: {
- x: o[0],
- y: o[1],
- r: s[0],
- source0: d,
- source1: p,
- target0: c,
- target1: u,
- brushType: "both",
- opacity: this.deepQuery(b, "opacity"),
- color: V,
- lineWidth: this.deepQuery(b, "borderWidth"),
- strokeColor: this.deepQuery(b, "borderColor"),
- clockWise: n.clockWise
- },
- clickable: n.clickable,
- highlightStyle: {
- brushType: "both",
- opacity: this.deepQuery(f, "opacity"),
- lineWidth: this.deepQuery(f, "borderWidth"),
- strokeColor: this.deepQuery(f, "borderColor")
- }
- });
- l.layout.weight <= U.layout.weight ? (y = U.node1, g = U.node2) : (y = l.node1, g = l.node2), m.pack(k, a, t, l.data, null == l.rawIndex ? h : l.rawIndex, l.data.name || y.id + "-" + g.id, y.id, g.id), this.shapeList.push(k), l.shape = k
- }
- }, this)
- },
- _buildEdgeCurves: function(e, t, i, n, a) {
- var o = e[t],
- r = this.parseCenter(this.zr, n.center);
- i.eachEdge(function(e, i) {
- var n = a.getNodeById(e.node1.id),
- s = a.getNodeById(e.node2.id),
- h = n.shape,
- V = s.shape,
- U = this._getEdgeQueryTarget(o, e.data),
- d = this._getEdgeQueryTarget(o, e.data, "emphasis"),
- p = new l({
- zlevel: o.zlevel,
- z: o.z,
- style: {
- xStart: h.position[0],
- yStart: h.position[1],
- xEnd: V.position[0],
- yEnd: V.position[1],
- cpX1: r[0],
- cpY1: r[1],
- lineWidth: this.deepQuery(U, "width"),
- strokeColor: this.deepQuery(U, "color"),
- opacity: this.deepQuery(U, "opacity")
- },
- highlightStyle: {
- lineWidth: this.deepQuery(d, "width"),
- strokeColor: this.deepQuery(d, "color"),
- opacity: this.deepQuery(d, "opacity")
- }
- });
- m.pack(p, o, t, e.data, null == e.rawIndex ? i : e.rawIndex, e.data.name || e.node1.id + "-" + e.node2.id, e.node1.id, e.node2.id), this.shapeList.push(p), e.shape = p
- }, this)
- },
- _buildScales: function(e, t, i) {
- var o, r, s = e.clockWise,
- l = this.parseCenter(this.zr, e.center),
- h = this.parseRadius(this.zr, e.radius),
- m = s ? 1 : -1,
- V = 0,
- d = -(1 / 0);
- e.showScaleText && (i.eachNode(function(e) {
- var t = e.data.value;
- t > d && (d = t), V += t
- }), d > 1e10 ? (o = "b", r = 1e-9) : d > 1e7 ? (o = "m", r = 1e-6) : d > 1e4 ? (o = "k", r = .001) : (o = "", r = 1));
- var p = V / (360 - e.padding);
- i.eachNode(function(t) {
- for(var i = t.layout.startAngle / Math.PI * 180, V = t.layout.endAngle / Math.PI * 180, d = i;;) {
- if(s && d > V || !s && V > d) break;
- var c = d / 180 * Math.PI,
- u = [Math.cos(c), Math.sin(c)],
- y = U.scale([], u, h[1] + 1);
- U.add(y, y, l);
- var g = U.scale([], u, h[1] + this.scaleLineLength);
- U.add(g, g, l);
- var b = new a({
- zlevel: e.zlevel,
- z: e.z - 1,
- hoverable: !1,
- style: {
- xStart: y[0],
- yStart: y[1],
- xEnd: g[0],
- yEnd: g[1],
- lineCap: "round",
- brushType: "stroke",
- strokeColor: "#666",
- lineWidth: 1
- }
- });
- this.shapeList.push(b), d += m * this.scaleUnitAngle
- }
- if(e.showScaleText)
- for(var f = i, k = 5 * p * this.scaleUnitAngle, x = 0;;) {
- if(s && f > V || !s && V > f) break;
- var c = f;
- c %= 360, 0 > c && (c += 360);
- var _ = 90 >= c || c >= 270,
- L = new n({
- zlevel: e.zlevel,
- z: e.z - 1,
- hoverable: !1,
- style: {
- x: _ ? h[1] + this.scaleLineLength + 4 : -h[1] - this.scaleLineLength - 4,
- y: 0,
- text: Math.round(10 * x) / 10 + o,
- textAlign: _ ? "left" : "right"
- },
- position: l.slice(),
- rotation: _ ? [-c / 180 * Math.PI, 0, 0] : [-(c + 180) / 180 * Math.PI, 0, 0]
- });
- this.shapeList.push(L), x += k * r, f += m * this.scaleUnitAngle * 5
- }
- }, this)
- },
- refresh: function(e) {
- if(e && (this.option = e, this.series = e.series), this.legend = this.component.legend, this.legend) this.getColor = function(e) {
- return this.legend.getColor(e)
- }, this.isSelected = function(e) {
- return this.legend.isSelected(e)
- };
- else {
- var t = {},
- i = 0;
- this.getColor = function(e) {
- return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e])
- }, this.isSelected = function() {
- return !0
- }
- }
- this.backupShapeList(), this._init()
- },
- reformOption: function(e) {
- var t = V.merge;
- e = t(t(e || {}, this.ecTheme.chord), h.chord), e.itemStyle.normal.label.textStyle = this.getTextStyle(e.itemStyle.normal.label.textStyle), this.z = e.z, this.zlevel = e.zlevel
- }
- }, V.inherits(t, i), e("../chart").define("chord", t), t
- }), i("echarts/util/shape/Ribbon", ["require", "zrender/shape/Base", "zrender/shape/util/PathProxy", "zrender/tool/util", "zrender/tool/area"], function(e) {
- function t(e) {
- i.call(this, e), this._pathProxy = new n
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/shape/util/PathProxy"),
- a = e("zrender/tool/util"),
- o = e("zrender/tool/area");
- return t.prototype = {
- type: "ribbon",
- buildPath: function(e, t) {
- var i = t.clockWise || !1,
- n = this._pathProxy;
- n.begin(e);
- var a = t.x,
- o = t.y,
- r = t.r,
- s = t.source0 / 180 * Math.PI,
- l = t.source1 / 180 * Math.PI,
- h = t.target0 / 180 * Math.PI,
- m = t.target1 / 180 * Math.PI,
- V = a + Math.cos(s) * r,
- U = o + Math.sin(s) * r,
- d = a + Math.cos(l) * r,
- p = o + Math.sin(l) * r,
- c = a + Math.cos(h) * r,
- u = o + Math.sin(h) * r,
- y = a + Math.cos(m) * r,
- g = o + Math.sin(m) * r;
- n.moveTo(V, U), n.arc(a, o, t.r, s, l, !i), n.bezierCurveTo(.7 * (a - d) + d, .7 * (o - p) + p, .7 * (a - c) + c, .7 * (o - u) + u, c, u), (t.source0 !== t.target0 || t.source1 !== t.target1) && (n.arc(a, o, t.r, h, m, !i), n.bezierCurveTo(.7 * (a - y) + y, .7 * (o - g) + g, .7 * (a - V) + V, .7 * (o - U) + U, V, U))
- },
- getRect: function(e) {
- return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect())
- },
- isCover: function(e, t) {
- var i = this.getRect(this.style);
- return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? o.isInsidePath(this._pathProxy.pathCommands, 0, "fill", e, t) : void 0
- }
- }, a.inherits(t, i), t
- }), i("echarts/data/Graph", ["require", "zrender/tool/util"], function(e) {
- var t = e("zrender/tool/util"),
- i = function(e) {
- this._directed = e || !1, this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {}
- };
- i.prototype.isDirected = function() {
- return this._directed
- }, i.prototype.addNode = function(e, t) {
- if(this._nodesMap[e]) return this._nodesMap[e];
- var n = new i.Node(e, t);
- return this.nodes.push(n), this._nodesMap[e] = n, n
- }, i.prototype.getNodeById = function(e) {
- return this._nodesMap[e]
- }, i.prototype.addEdge = function(e, t, n) {
- if("string" == typeof e && (e = this._nodesMap[e]), "string" == typeof t && (t = this._nodesMap[t]), e && t) {
- var a = e.id + "-" + t.id;
- if(this._edgesMap[a]) return this._edgesMap[a];
- var o = new i.Edge(e, t, n);
- return this._directed && (e.outEdges.push(o), t.inEdges.push(o)), e.edges.push(o), e !== t && t.edges.push(o), this.edges.push(o), this._edgesMap[a] = o, o
- }
- }, i.prototype.removeEdge = function(e) {
- var i = e.node1,
- n = e.node2,
- a = i.id + "-" + n.id;
- this._directed && (i.outEdges.splice(t.indexOf(i.outEdges, e), 1), n.inEdges.splice(t.indexOf(n.inEdges, e), 1)), i.edges.splice(t.indexOf(i.edges, e), 1), i !== n && n.edges.splice(t.indexOf(n.edges, e), 1), delete this._edgesMap[a], this.edges.splice(t.indexOf(this.edges, e), 1)
- }, i.prototype.getEdge = function(e, t) {
- return "string" != typeof e && (e = e.id), "string" != typeof t && (t = t.id), this._directed ? this._edgesMap[e + "-" + t] : this._edgesMap[e + "-" + t] || this._edgesMap[t + "-" + e]
- }, i.prototype.removeNode = function(e) {
- if("string" != typeof e || (e = this._nodesMap[e])) {
- delete this._nodesMap[e.id], this.nodes.splice(t.indexOf(this.nodes, e), 1);
- for(var i = 0; i < this.edges.length;) {
- var n = this.edges[i];
- n.node1 === e || n.node2 === e ? this.removeEdge(n) : i++
- }
- }
- }, i.prototype.filterNode = function(e, t) {
- for(var i = this.nodes.length, n = 0; i > n;) e.call(t, this.nodes[n], n) ? n++ : (this.removeNode(this.nodes[n]), i--)
- }, i.prototype.filterEdge = function(e, t) {
- for(var i = this.edges.length, n = 0; i > n;) e.call(t, this.edges[n], n) ? n++ : (this.removeEdge(this.edges[n]), i--)
- }, i.prototype.eachNode = function(e, t) {
- for(var i = this.nodes.length, n = 0; i > n; n++) this.nodes[n] && e.call(t, this.nodes[n], n)
- }, i.prototype.eachEdge = function(e, t) {
- for(var i = this.edges.length, n = 0; i > n; n++) this.edges[n] && e.call(t, this.edges[n], n)
- }, i.prototype.clear = function() {
- this.nodes.length = 0, this.edges.length = 0, this._nodesMap = {}, this._edgesMap = {}
- }, i.prototype.breadthFirstTraverse = function(e, t, i, n) {
- if("string" == typeof t && (t = this._nodesMap[t]), t) {
- var a = "edges";
- "out" === i ? a = "outEdges" : "in" === i && (a = "inEdges");
- for(var o = 0; o < this.nodes.length; o++) this.nodes[o].__visited = !1;
- if(!e.call(n, t, null))
- for(var r = [t]; r.length;)
- for(var s = r.shift(), l = s[a], o = 0; o < l.length; o++) {
- var h = l[o],
- m = h.node1 === s ? h.node2 : h.node1;
- if(!m.__visited) {
- if(e.call(m, m, s)) return;
- r.push(m), m.__visited = !0
- }
- }
- }
- }, i.prototype.clone = function() {
- for(var e = new i(this._directed), t = 0; t < this.nodes.length; t++) e.addNode(this.nodes[t].id, this.nodes[t].data);
- for(var t = 0; t < this.edges.length; t++) {
- var n = this.edges[t];
- e.addEdge(n.node1.id, n.node2.id, n.data)
- }
- return e
- };
- var n = function(e, t) {
- this.id = e, this.data = t || null, this.inEdges = [], this.outEdges = [], this.edges = []
- };
- n.prototype.degree = function() {
- return this.edges.length
- }, n.prototype.inDegree = function() {
- return this.inEdges.length
- }, n.prototype.outDegree = function() {
- return this.outEdges.length
- };
- var a = function(e, t, i) {
- this.node1 = e, this.node2 = t, this.data = i || null
- };
- return i.Node = n, i.Edge = a, i.fromMatrix = function(e, t, n) {
- if(t && t.length && t[0].length === t.length && e.length === t.length) {
- for(var a = t.length, o = new i(n), r = 0; a > r; r++) {
- var s = o.addNode(e[r].id, e[r]);
- s.data.value = 0, n && (s.data.outValue = s.data.inValue = 0)
- }
- for(var r = 0; a > r; r++)
- for(var l = 0; a > l; l++) {
- var h = t[r][l];
- n && (o.nodes[r].data.outValue += h, o.nodes[l].data.inValue += h), o.nodes[r].data.value += h, o.nodes[l].data.value += h
- }
- for(var r = 0; a > r; r++)
- for(var l = r; a > l; l++) {
- var h = t[r][l];
- if(0 !== h) {
- var m = o.nodes[r],
- V = o.nodes[l],
- U = o.addEdge(m, V, {});
- if(U.data.weight = h, r !== l && n && t[l][r]) {
- var d = o.addEdge(V, m, {});
- d.data.weight = t[l][r]
- }
- }
- }
- return o
- }
- }, i
- }), i("echarts/layout/Chord", ["require"], function() {
- var e = function(e) {
- e = e || {}, this.sort = e.sort || null, this.sortSub = e.sortSub || null, this.padding = .05, this.startAngle = e.startAngle || 0, this.clockWise = null == e.clockWise ? !1 : e.clockWise, this.center = e.center || [0, 0], this.directed = !0
- };
- e.prototype.run = function(e) {
- e instanceof Array || (e = [e]);
- var n = e.length;
- if(n) {
- for(var a = e[0], o = a.nodes.length, r = [], s = 0, l = 0; o > l; l++) {
- var h = a.nodes[l],
- m = {
- size: 0,
- subGroups: [],
- node: h
- };
- r.push(m);
- for(var V = 0, U = 0; U < e.length; U++) {
- var d = e[U],
- p = d.getNodeById(h.id);
- if(p) {
- m.size += p.layout.size;
- for(var c = this.directed ? p.outEdges : p.edges, u = 0; u < c.length; u++) {
- var y = c[u],
- g = y.layout.weight;
- m.subGroups.push({
- weight: g,
- edge: y,
- graph: d
- }), V += g
- }
- }
- }
- s += m.size;
- for(var b = m.size / V, u = 0; u < m.subGroups.length; u++) m.subGroups[u].weight *= b;
- "ascending" === this.sortSub ? m.subGroups.sort(t) : "descending" === this.sort && (m.subGroups.sort(t), m.subGroups.reverse())
- }
- "ascending" === this.sort ? r.sort(i) : "descending" === this.sort && (r.sort(i), r.reverse());
- for(var b = (2 * Math.PI - this.padding * o) / s, f = this.startAngle, k = this.clockWise ? 1 : -1, l = 0; o > l; l++) {
- var m = r[l];
- m.node.layout.startAngle = f, m.node.layout.endAngle = f + k * m.size * b, m.node.layout.subGroups = [];
- for(var u = 0; u < m.subGroups.length; u++) {
- var x = m.subGroups[u];
- x.edge.layout.startAngle = f, f += k * x.weight * b, x.edge.layout.endAngle = f
- }
- f = m.node.layout.endAngle + k * this.padding
- }
- }
- };
- var t = function(e, t) {
- return e.weight - t.weight
- },
- i = function(e, t) {
- return e.size - t.size
- };
- return e
- }), i("echarts/chart/force", ["require", "./base", "../data/Graph", "../layout/Force", "zrender/shape/Line", "zrender/shape/BezierCurve", "zrender/shape/Image", "../util/shape/Icon", "../config", "../util/ecData", "zrender/tool/util", "zrender/config", "zrender/tool/vector", "../chart"], function(e) {
- "use strict";
- function t(e, t, o, h, m) {
- var V = this;
- r.call(this, e, t, o, h, m), this.__nodePositionMap = {}, this._graph = new s(!0), this._layout = new l, this._layout.onupdate = function() {
- V._step()
- }, this._steps = 1, this.ondragstart = function() {
- i.apply(V, arguments)
- }, this.ondragend = function() {
- a.apply(V, arguments)
- }, this.ondrop = function() {}, this.shapeHandler.ondragstart = function() {
- V.isDragstart = !0
- }, this.onmousemove = function() {
- n.apply(V, arguments)
- }, this.refresh(h)
- }
- function i(e) {
- if(this.isDragstart && e.target) {
- var t = e.target;
- t.fixed = !0, this.isDragstart = !1, this.zr.on(u.EVENT.MOUSEMOVE, this.onmousemove)
- }
- }
- function n() {
- this._layout.temperature = .8, this._step()
- }
- function a(e, t) {
- if(this.isDragend && e.target) {
- var i = e.target;
- i.fixed = !1, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this.zr.un(u.EVENT.MOUSEMOVE, this.onmousemove)
- }
- }
- function o(e, t, i) {
- var n = y.create();
- return n[0] = (Math.random() - .5) * i + e, n[1] = (Math.random() - .5) * i + t, n
- }
- var r = e("./base"),
- s = e("../data/Graph"),
- l = e("../layout/Force"),
- h = e("zrender/shape/Line"),
- m = e("zrender/shape/BezierCurve"),
- V = e("zrender/shape/Image"),
- U = e("../util/shape/Icon"),
- d = e("../config");
- d.force = {
- zlevel: 1,
- z: 2,
- center: ["50%", "50%"],
- size: "100%",
- preventOverlap: !1,
- coolDown: .99,
- minRadius: 10,
- maxRadius: 20,
- ratioScaling: !1,
- large: !1,
- useWorker: !1,
- steps: 1,
- scaling: 1,
- gravity: 1,
- symbol: "circle",
- symbolSize: 0,
- linkSymbol: null,
- linkSymbolSize: [10, 15],
- draggable: !0,
- clickable: !0,
- roam: !1,
- itemStyle: {
- normal: {
- label: {
- show: !1,
- position: "inside"
- },
- nodeStyle: {
- brushType: "both",
- borderColor: "#5182ab",
- borderWidth: 1
- },
- linkStyle: {
- color: "#5182ab",
- width: 1,
- type: "line"
- }
- },
- emphasis: {
- label: {
- show: !1
- },
- nodeStyle: {},
- linkStyle: {
- opacity: 0
- }
- }
- }
- };
- var p = e("../util/ecData"),
- c = e("zrender/tool/util"),
- u = e("zrender/config"),
- y = e("zrender/tool/vector");
- return t.prototype = {
- constructor: t,
- type: d.CHART_TYPE_FORCE,
- _init: function() {
- this.selectedMap = {};
- var e, t = this.component.legend,
- i = this.series;
- this.clear();
- for(var n = 0, a = i.length; a > n; n++) {
- var o = i[n];
- if(o.type === d.CHART_TYPE_FORCE) {
- if(i[n] = this.reformOption(i[n]), e = i[n].name || "", this.selectedMap[e] = t ? t.isSelected(e) : !0, !this.selectedMap[e]) continue;
- this.buildMark(n), this._initSerie(o, n);
- break
- }
- }
- this.animationEffect()
- },
- _getNodeCategory: function(e, t) {
- return e.categories && e.categories[t.category || 0]
- },
- _getNodeQueryTarget: function(e, t, i) {
- i = i || "normal";
- var n = this._getNodeCategory(e, t) || {};
- return [t.itemStyle && t.itemStyle[i], n && n.itemStyle && n.itemStyle[i], e.itemStyle[i].nodeStyle]
- },
- _getEdgeQueryTarget: function(e, t, i) {
- return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].linkStyle]
- },
- _initSerie: function(e, t) {
- this._temperature = 1, e.matrix ? this._graph = this._getSerieGraphFromDataMatrix(e) : e.links && (this._graph = this._getSerieGraphFromNodeLinks(e)), this._buildLinkShapes(e, t), this._buildNodeShapes(e, t);
- var i = e.roam === !0 || "move" === e.roam,
- n = e.roam === !0 || "scale" === e.roam;
- this.zr.modLayer(this.getZlevelBase(), {
- panable: i,
- zoomable: n
- }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(d.EFFECT_ZLEVEL, {
- panable: i,
- zoomable: n
- }), this._initLayout(e), this._step()
- },
- _getSerieGraphFromDataMatrix: function(e) {
- for(var t = [], i = 0, n = [], a = 0; a < e.matrix.length; a++) n[a] = e.matrix[a].slice();
- for(var o = e.data || e.nodes, a = 0; a < o.length; a++) {
- var r = {},
- l = o[a];
- for(var h in l) "name" === h ? r.id = l.name : r[h] = l[h];
- var m = this._getNodeCategory(e, l),
- V = m ? m.name : l.name;
- if(this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) t.push(r), i++;
- else {
- n.splice(i, 1);
- for(var U = 0; U < n.length; U++) n[U].splice(i, 1)
- }
- }
- var d = s.fromMatrix(t, n, !0);
- return d.eachNode(function(e, t) {
- e.layout = {
- size: e.data.value,
- mass: 0
- }, e.rawIndex = t
- }), d.eachEdge(function(e) {
- e.layout = {
- weight: e.data.weight
- }
- }), d
- },
- _getSerieGraphFromNodeLinks: function(e) {
- for(var t = new s(!0), i = e.data || e.nodes, n = 0, a = i.length; a > n; n++) {
- var o = i[n];
- if(o && !o.ignore) {
- var r = this._getNodeCategory(e, o),
- l = r ? r.name : o.name;
- if(this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) {
- var h = t.addNode(o.name, o);
- h.rawIndex = n
- }
- }
- }
- for(var n = 0, a = e.links.length; a > n; n++) {
- var m = e.links[n],
- V = m.source,
- U = m.target;
- "number" == typeof V && (V = i[V], V && (V = V.name)), "number" == typeof U && (U = i[U], U && (U = U.name));
- var d = t.addEdge(V, U, m);
- d && (d.rawIndex = n)
- }
- return t.eachNode(function(e) {
- var t = e.data.value;
- if(null == t) {
- t = 0;
- for(var i = 0; i < e.edges.length; i++) t += e.edges[i].data.weight || 0
- }
- e.layout = {
- size: t,
- mass: 0
- }
- }), t.eachEdge(function(e) {
- e.layout = {
- weight: null == e.data.weight ? 1 : e.data.weight
- }
- }), t
- },
- _initLayout: function(e) {
- var t = this._graph,
- i = t.nodes.length,
- n = this.query(e, "minRadius"),
- a = this.query(e, "maxRadius");
- this._steps = e.steps || 1;
- var r = this._layout;
- r.center = this.parseCenter(this.zr, e.center), r.width = this.parsePercent(e.size, this.zr.getWidth()), r.height = this.parsePercent(e.size, this.zr.getHeight()), r.large = e.large, r.scaling = e.scaling, r.ratioScaling = e.ratioScaling, r.gravity = e.gravity, r.temperature = 1, r.coolDown = e.coolDown, r.preventNodeEdgeOverlap = e.preventOverlap, r.preventNodeOverlap = e.preventOverlap;
- for(var s = 1 / 0, l = -(1 / 0), h = 0; i > h; h++) {
- var m = t.nodes[h];
- l = Math.max(m.layout.size, l), s = Math.min(m.layout.size, s)
- }
- for(var V = l - s, h = 0; i > h; h++) {
- var m = t.nodes[h];
- V > 0 ? (m.layout.size = (m.layout.size - s) * (a - n) / V + n, m.layout.mass = m.layout.size / a) : (m.layout.size = (a - n) / 2, m.layout.mass = .5)
- }
- for(var h = 0; i > h; h++) {
- var m = t.nodes[h];
- if("undefined" != typeof this.__nodePositionMap[m.id]) m.layout.position = y.create(), y.copy(m.layout.position, this.__nodePositionMap[m.id]);
- else if("undefined" != typeof m.data.initial) m.layout.position = y.create(), y.copy(m.layout.position, m.data.initial);
- else {
- var U = this._layout.center,
- d = Math.min(this._layout.width, this._layout.height);
- m.layout.position = o(U[0], U[1], .8 * d)
- }
- var p = m.shape.style,
- c = m.layout.size;
- p.width = p.width || 2 * c, p.height = p.height || 2 * c, p.x = -p.width / 2, p.y = -p.height / 2, y.copy(m.shape.position, m.layout.position)
- }
- i = t.edges.length, l = -(1 / 0);
- for(var h = 0; i > h; h++) {
- var u = t.edges[h];
- u.layout.weight > l && (l = u.layout.weight)
- }
- for(var h = 0; i > h; h++) {
- var u = t.edges[h];
- u.layout.weight /= l
- }
- this._layout.init(t, e.useWorker)
- },
- _buildNodeShapes: function(e, t) {
- var i = this._graph,
- n = this.query(e, "categories");
- i.eachNode(function(i) {
- var a = this._getNodeCategory(e, i.data),
- o = [i.data, a, e],
- r = this._getNodeQueryTarget(e, i.data),
- s = this._getNodeQueryTarget(e, i.data, "emphasis"),
- l = new U({
- style: {
- x: 0,
- y: 0,
- color: this.deepQuery(r, "color"),
- brushType: "both",
- strokeColor: this.deepQuery(r, "strokeColor") || this.deepQuery(r, "borderColor"),
- lineWidth: this.deepQuery(r, "lineWidth") || this.deepQuery(r, "borderWidth")
- },
- highlightStyle: {
- color: this.deepQuery(s, "color"),
- strokeColor: this.deepQuery(s, "strokeColor") || this.deepQuery(s, "borderColor"),
- lineWidth: this.deepQuery(s, "lineWidth") || this.deepQuery(s, "borderWidth")
- },
- clickable: e.clickable,
- zlevel: this.getZlevelBase(),
- z: this.getZBase()
- });
- l.style.color || (l.style.color = this.getColor(a ? a.name : i.id)), l.style.iconType = this.deepQuery(o, "symbol");
- var h = this.deepQuery(o, "symbolSize") || 0;
- "number" == typeof h && (h = [h, h]), l.style.width = 2 * h[0], l.style.height = 2 * h[1], l.style.iconType.match("image") && (l.style.image = l.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), l = new V({
- style: l.style,
- highlightStyle: l.highlightStyle,
- clickable: l.clickable,
- zlevel: this.getZlevelBase(),
- z: this.getZBase()
- })), this.deepQuery(o, "itemStyle.normal.label.show") && (l.style.text = null == i.data.label ? i.id : i.data.label, l.style.textPosition = this.deepQuery(o, "itemStyle.normal.label.position"), l.style.textColor = this.deepQuery(o, "itemStyle.normal.label.textStyle.color"), l.style.textFont = this.getFont(this.deepQuery(o, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(o, "itemStyle.emphasis.label.show") && (l.highlightStyle.textPosition = this.deepQuery(o, "itemStyle.emphasis.label.position"), l.highlightStyle.textColor = this.deepQuery(o, "itemStyle.emphasis.label.textStyle.color"), l.highlightStyle.textFont = this.getFont(this.deepQuery(o, "itemStyle.emphasis.label.textStyle") || {})), this.deepQuery(o, "draggable") && (this.setCalculable(l), l.dragEnableTime = 0, l.draggable = !0, l.ondragstart = this.shapeHandler.ondragstart, l.ondragover = null);
- var m = "";
- if("undefined" != typeof i.category) {
- var a = n[i.category];
- m = a && a.name || ""
- }
- p.pack(l, e, t, i.data, i.rawIndex, i.data.name || "", i.category), this.shapeList.push(l), this.zr.addShape(l), i.shape = l
- }, this)
- },
- _buildLinkShapes: function(e, t) {
- for(var i = this._graph, n = i.edges.length, a = 0; n > a; a++) {
- var o = i.edges[a],
- r = o.data,
- s = o.node1,
- l = o.node2,
- V = i.getEdge(l, s),
- d = this._getEdgeQueryTarget(e, r),
- u = this.deepQuery(d, "type");
- e.linkSymbol && "none" !== e.linkSymbol && (u = "line");
- var y = "line" === u ? h : m,
- g = new y({
- style: {
- xStart: 0,
- yStart: 0,
- xEnd: 0,
- yEnd: 0
- },
- clickable: this.query(e, "clickable"),
- highlightStyle: {},
- zlevel: this.getZlevelBase(),
- z: this.getZBase()
- });
- if(V && V.shape && (g.style.offset = 4, V.shape.style.offset = 4), c.merge(g.style, this.query(e, "itemStyle.normal.linkStyle"), !0), c.merge(g.highlightStyle, this.query(e, "itemStyle.emphasis.linkStyle"), !0), "undefined" != typeof r.itemStyle && (r.itemStyle.normal && c.merge(g.style, r.itemStyle.normal, !0), r.itemStyle.emphasis && c.merge(g.highlightStyle, r.itemStyle.emphasis, !0)), g.style.lineWidth = g.style.lineWidth || g.style.width, g.style.strokeColor = g.style.strokeColor || g.style.color, g.highlightStyle.lineWidth = g.highlightStyle.lineWidth || g.highlightStyle.width, g.highlightStyle.strokeColor = g.highlightStyle.strokeColor || g.highlightStyle.color, p.pack(g, e, t, o.data, null == o.rawIndex ? a : o.rawIndex, o.data.name || s.id + " - " + l.id, s.id, l.id), this.shapeList.push(g), this.zr.addShape(g), o.shape = g, e.linkSymbol && "none" !== e.linkSymbol) {
- var b = new U({
- style: {
- x: -5,
- y: 0,
- width: e.linkSymbolSize[0],
- height: e.linkSymbolSize[1],
- iconType: e.linkSymbol,
- brushType: "fill",
- color: g.style.strokeColor
- },
- highlightStyle: {
- brushType: "fill"
- },
- position: [0, 0],
- rotation: 0,
- zlevel: this.getZlevelBase(),
- z: this.getZBase()
- });
- g._symbolShape = b, this.shapeList.push(b), this.zr.addShape(b)
- }
- }
- },
- _updateLinkShapes: function() {
- for(var e = y.create(), t = y.create(), i = y.create(), n = y.create(), a = this._graph.edges, o = 0, r = a.length; r > o; o++) {
- var s = a[o],
- l = s.node1.shape,
- h = s.node2.shape;
- y.copy(i, l.position), y.copy(n, h.position);
- var m = s.shape.style;
- if(y.sub(e, i, n), y.normalize(e, e), m.offset ? (t[0] = e[1], t[1] = -e[0], y.scaleAndAdd(i, i, t, m.offset), y.scaleAndAdd(n, n, t, m.offset)) : "bezier-curve" === s.shape.type && (m.cpX1 = (i[0] + n[0]) / 2 - (n[1] - i[1]) / 4, m.cpY1 = (i[1] + n[1]) / 2 - (i[0] - n[0]) / 4), m.xStart = i[0], m.yStart = i[1], m.xEnd = n[0], m.yEnd = n[1], s.shape.modSelf(), s.shape._symbolShape) {
- var V = s.shape._symbolShape;
- y.copy(V.position, n), y.scaleAndAdd(V.position, V.position, e, h.style.width / 2 + 2);
- var U = Math.atan2(e[1], e[0]);
- V.rotation = Math.PI / 2 - U, V.modSelf()
- }
- }
- },
- _syncNodePositions: function() {
- for(var e = this._graph, t = 0; t < e.nodes.length; t++) {
- var i = e.nodes[t],
- n = i.layout.position,
- a = i.data,
- o = i.shape,
- r = o.fixed || a.fixX,
- s = o.fixed || a.fixY;
- r === !0 ? r = 1 : isNaN(r) && (r = 0), s === !0 ? s = 1 : isNaN(s) && (s = 0), o.position[0] += (n[0] - o.position[0]) * (1 - r), o.position[1] += (n[1] - o.position[1]) * (1 - s), y.copy(n, o.position);
- var l = a.name;
- if(l) {
- var h = this.__nodePositionMap[l];
- h || (h = this.__nodePositionMap[l] = y.create()), y.copy(h, n)
- }
- o.modSelf()
- }
- },
- _step: function() {
- this._syncNodePositions(), this._updateLinkShapes(), this.zr.refreshNextFrame(), this._layout.temperature > .01 ? this._layout.step(this._steps) : this.messageCenter.dispatch(d.EVENT.FORCE_LAYOUT_END, {}, {}, this.myChart)
- },
- refresh: function(e) {
- if(e && (this.option = e, this.series = this.option.series), this.legend = this.component.legend, this.legend) this.getColor = function(e) {
- return this.legend.getColor(e)
- }, this.isSelected = function(e) {
- return this.legend.isSelected(e)
- };
- else {
- var t = {},
- i = 0;
- this.getColor = function(e) {
- return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e])
- }, this.isSelected = function() {
- return !0
- }
- }
- this._init()
- },
- dispose: function() {
- this.clear(), this.shapeList = null, this.effectList = null, this._layout.dispose(), this._layout = null, this.__nodePositionMap = {}
- },
- getPosition: function() {
- var e = [];
- return this._graph.eachNode(function(t) {
- t.layout && e.push({
- name: t.data.name,
- position: Array.prototype.slice.call(t.layout.position)
- })
- }), e
- }
- }, c.inherits(t, r), e("../chart").define("force", t), t
- }), i("echarts/layout/Force", ["require", "./forceLayoutWorker", "zrender/tool/vector"], function(e) {
- function t() {
- if("undefined" != typeof Worker && "undefined" != typeof Blob) try {
- var e = new Blob([n.getWorkerCode()]);
- i = window.URL.createObjectURL(e)
- } catch(t) {
- i = ""
- }
- return i
- }
- var i, n = e("./forceLayoutWorker"),
- a = e("zrender/tool/vector"),
- o = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(e) {
- setTimeout(e, 16)
- },
- r = "undefined" == typeof Float32Array ? Array : Float32Array,
- s = function(e) {
- "undefined" == typeof i && t(), e = e || {}, this.width = e.width || 500, this.height = e.height || 500, this.center = e.center || [this.width / 2, this.height / 2], this.ratioScaling = e.ratioScaling || !1, this.scaling = e.scaling || 1, this.gravity = "undefined" != typeof e.gravity ? e.gravity : 1, this.large = e.large || !1, this.preventNodeOverlap = e.preventNodeOverlap || !1, this.preventNodeEdgeOverlap = e.preventNodeEdgeOverlap || !1, this.maxSpeedIncrease = e.maxSpeedIncrease || 1, this.onupdate = e.onupdate || function() {}, this.temperature = e.temperature || 1, this.coolDown = e.coolDown || .99, this._layout = null, this._layoutWorker = null;
- var n = this,
- a = this._$onupdate;
- this._$onupdate = function(e) {
- a.call(n, e)
- }
- };
- return s.prototype.updateConfig = function() {
- var e = this.width,
- t = this.height,
- i = Math.min(e, t),
- n = {
- center: this.center,
- width: this.ratioScaling ? e : i,
- height: this.ratioScaling ? t : i,
- scaling: this.scaling || 1,
- gravity: this.gravity || 1,
- barnesHutOptimize: this.large,
- preventNodeOverlap: this.preventNodeOverlap,
- preventNodeEdgeOverlap: this.preventNodeEdgeOverlap,
- maxSpeedIncrease: this.maxSpeedIncrease
- };
- if(this._layoutWorker) this._layoutWorker.postMessage({
- cmd: "updateConfig",
- config: n
- });
- else
- for(var a in n) this._layout[a] = n[a]
- }, s.prototype.init = function(e, t) {
- if(this._layoutWorker && (this._layoutWorker.terminate(), this._layoutWorker = null), i && t) try {
- this._layoutWorker || (this._layoutWorker = new Worker(i), this._layoutWorker.onmessage = this._$onupdate), this._layout = null
- } catch(a) {
- this._layoutWorker = null, this._layout || (this._layout = new n)
- } else this._layout || (this._layout = new n);
- this.temperature = 1, this.graph = e;
- for(var o = e.nodes.length, s = new r(2 * o), l = new r(o), h = new r(o), m = 0; o > m; m++) {
- var V = e.nodes[m];
- s[2 * m] = V.layout.position[0], s[2 * m + 1] = V.layout.position[1], l[m] = "undefined" == typeof V.layout.mass ? 1 : V.layout.mass, h[m] = "undefined" == typeof V.layout.size ? 1 : V.layout.size, V.layout.__index = m
- }
- o = e.edges.length;
- for(var U = new r(2 * o), d = new r(o), m = 0; o > m; m++) {
- var p = e.edges[m];
- U[2 * m] = p.node1.layout.__index, U[2 * m + 1] = p.node2.layout.__index, d[m] = p.layout.weight || 1
- }
- this._layoutWorker ? this._layoutWorker.postMessage({
- cmd: "init",
- nodesPosition: s,
- nodesMass: l,
- nodesSize: h,
- edges: U,
- edgesWeight: d
- }) : (this._layout.initNodes(s, l, h), this._layout.initEdges(U, d)), this.updateConfig()
- }, s.prototype.step = function(e) {
- var t = this.graph.nodes;
- if(this._layoutWorker) {
- for(var i = new r(2 * t.length), n = 0; n < t.length; n++) {
- var s = t[n];
- i[2 * n] = s.layout.position[0], i[2 * n + 1] = s.layout.position[1]
- }
- this._layoutWorker.postMessage(i.buffer, [i.buffer]), this._layoutWorker.postMessage({
- cmd: "update",
- steps: e,
- temperature: this.temperature,
- coolDown: this.coolDown
- });
- for(var n = 0; e > n; n++) this.temperature *= this.coolDown
- } else {
- o(this._$onupdate);
- for(var n = 0; n < t.length; n++) {
- var s = t[n];
- a.copy(this._layout.nodes[n].position, s.layout.position)
- }
- for(var n = 0; e > n; n++) this._layout.temperature = this.temperature, this._layout.update(), this.temperature *= this.coolDown
- }
- }, s.prototype._$onupdate = function(e) {
- if(this._layoutWorker) {
- for(var t = new Float32Array(e.data), i = 0; i < this.graph.nodes.length; i++) {
- var n = this.graph.nodes[i];
- n.layout.position[0] = t[2 * i], n.layout.position[1] = t[2 * i + 1]
- }
- this.onupdate && this.onupdate()
- } else if(this._layout) {
- for(var i = 0; i < this.graph.nodes.length; i++) {
- var n = this.graph.nodes[i];
- a.copy(n.layout.position, this._layout.nodes[i].position)
- }
- this.onupdate && this.onupdate()
- }
- }, s.prototype.dispose = function() {
- this._layoutWorker && this._layoutWorker.terminate(), this._layoutWorker = null, this._layout = null
- }, s
- }), i("echarts/layout/forceLayoutWorker", ["require", "zrender/tool/vector"], function o(e) {
- "use strict";
- function t() {
- this.subRegions = [], this.nSubRegions = 0, this.node = null, this.mass = 0, this.centerOfMass = null, this.bbox = new l(4), this.size = 0
- }
- function i() {
- this.position = r.create(), this.force = r.create(), this.forcePrev = r.create(), this.speed = r.create(), this.speedPrev = r.create(), this.mass = 1, this.inDegree = 0, this.outDegree = 0
- }
- function n(e, t) {
- this.node1 = e, this.node2 = t, this.weight = 1
- }
- function a() {
- this.barnesHutOptimize = !1, this.barnesHutTheta = 1.5, this.repulsionByDegree = !1, this.preventNodeOverlap = !1, this.preventNodeEdgeOverlap = !1, this.strongGravity = !0, this.gravity = 1, this.scaling = 1, this.edgeWeightInfluence = 1, this.center = [0, 0], this.width = 500, this.height = 500, this.maxSpeedIncrease = 1, this.nodes = [], this.edges = [], this.bbox = new l(4), this._rootRegion = new t, this._rootRegion.centerOfMass = r.create(), this._massArr = null, this._k = 0
- }
- var r, s = "undefined" == typeof window && "undefined" == typeof e;
- r = s ? {
- create: function(e, t) {
- var i = new Float32Array(2);
- return i[0] = e || 0, i[1] = t || 0, i
- },
- dist: function(e, t) {
- var i = t[0] - e[0],
- n = t[1] - e[1];
- return Math.sqrt(i * i + n * n)
- },
- len: function(e) {
- var t = e[0],
- i = e[1];
- return Math.sqrt(t * t + i * i)
- },
- scaleAndAdd: function(e, t, i, n) {
- return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e
- },
- scale: function(e, t, i) {
- return e[0] = t[0] * i, e[1] = t[1] * i, e
- },
- add: function(e, t, i) {
- return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e
- },
- sub: function(e, t, i) {
- return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e
- },
- dot: function(e, t) {
- return e[0] * t[0] + e[1] * t[1]
- },
- normalize: function(e, t) {
- var i = t[0],
- n = t[1],
- a = i * i + n * n;
- return a > 0 && (a = 1 / Math.sqrt(a), e[0] = t[0] * a, e[1] = t[1] * a), e
- },
- negate: function(e, t) {
- return e[0] = -t[0], e[1] = -t[1], e
- },
- copy: function(e, t) {
- return e[0] = t[0], e[1] = t[1], e
- },
- set: function(e, t, i) {
- return e[0] = t, e[1] = i, e
- }
- } : e("zrender/tool/vector");
- var l = "undefined" == typeof Float32Array ? Array : Float32Array;
- if(t.prototype.beforeUpdate = function() {
- for(var e = 0; e < this.nSubRegions; e++) this.subRegions[e].beforeUpdate();
- this.mass = 0, this.centerOfMass && (this.centerOfMass[0] = 0, this.centerOfMass[1] = 0), this.nSubRegions = 0, this.node = null
- }, t.prototype.afterUpdate = function() {
- this.subRegions.length = this.nSubRegions;
- for(var e = 0; e < this.nSubRegions; e++) this.subRegions[e].afterUpdate()
- }, t.prototype.addNode = function(e) {
- if(0 === this.nSubRegions) {
- if(null == this.node) return void(this.node = e);
- this._addNodeToSubRegion(this.node), this.node = null
- }
- this._addNodeToSubRegion(e), this._updateCenterOfMass(e)
- }, t.prototype.findSubRegion = function(e, t) {
- for(var i = 0; i < this.nSubRegions; i++) {
- var n = this.subRegions[i];
- if(n.contain(e, t)) return n
- }
- }, t.prototype.contain = function(e, t) {
- return this.bbox[0] <= e && this.bbox[2] >= e && this.bbox[1] <= t && this.bbox[3] >= t
- }, t.prototype.setBBox = function(e, t, i, n) {
- this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n, this.size = (i - e + n - t) / 2
- }, t.prototype._newSubRegion = function() {
- var e = this.subRegions[this.nSubRegions];
- return e || (e = new t, this.subRegions[this.nSubRegions] = e), this.nSubRegions++, e
- }, t.prototype._addNodeToSubRegion = function(e) {
- var t = this.findSubRegion(e.position[0], e.position[1]),
- i = this.bbox;
- if(!t) {
- var n = (i[0] + i[2]) / 2,
- a = (i[1] + i[3]) / 2,
- o = (i[2] - i[0]) / 2,
- r = (i[3] - i[1]) / 2,
- s = e.position[0] >= n ? 1 : 0,
- l = e.position[1] >= a ? 1 : 0,
- t = this._newSubRegion();
- t.setBBox(s * o + i[0], l * r + i[1], (s + 1) * o + i[0], (l + 1) * r + i[1])
- }
- t.addNode(e)
- }, t.prototype._updateCenterOfMass = function(e) {
- null == this.centerOfMass && (this.centerOfMass = r.create());
- var t = this.centerOfMass[0] * this.mass,
- i = this.centerOfMass[1] * this.mass;
- t += e.position[0] * e.mass, i += e.position[1] * e.mass, this.mass += e.mass, this.centerOfMass[0] = t / this.mass, this.centerOfMass[1] = i / this.mass
- }, a.prototype.nodeToNodeRepulsionFactor = function(e, t, i) {
- return i * i * e / t
- }, a.prototype.edgeToNodeRepulsionFactor = function(e, t, i) {
- return i * e / t
- }, a.prototype.attractionFactor = function(e, t, i) {
- return e * t / i
- }, a.prototype.initNodes = function(e, t, n) {
- this.temperature = 1;
- var a = e.length / 2;
- this.nodes.length = 0;
- for(var o = "undefined" != typeof n, r = 0; a > r; r++) {
- var s = new i;
- s.position[0] = e[2 * r], s.position[1] = e[2 * r + 1], s.mass = t[r], o && (s.size = n[r]), this.nodes.push(s)
- }
- this._massArr = t, o && (this._sizeArr = n)
- }, a.prototype.initEdges = function(e, t) {
- var i = e.length / 2;
- this.edges.length = 0;
- for(var a = "undefined" != typeof t, o = 0; i > o; o++) {
- var r = e[2 * o],
- s = e[2 * o + 1],
- l = this.nodes[r],
- h = this.nodes[s];
- if(l && h) {
- l.outDegree++, h.inDegree++;
- var m = new n(l, h);
- a && (m.weight = t[o]), this.edges.push(m)
- }
- }
- }, a.prototype.update = function() {
- var e = this.nodes.length;
- if(this.updateBBox(), this._k = .4 * this.scaling * Math.sqrt(this.width * this.height / e), this.barnesHutOptimize) {
- this._rootRegion.setBBox(this.bbox[0], this.bbox[1], this.bbox[2], this.bbox[3]), this._rootRegion.beforeUpdate();
- for(var t = 0; e > t; t++) this._rootRegion.addNode(this.nodes[t]);
- this._rootRegion.afterUpdate()
- } else {
- var i = 0,
- n = this._rootRegion.centerOfMass;
- r.set(n, 0, 0);
- for(var t = 0; e > t; t++) {
- var a = this.nodes[t];
- i += a.mass, r.scaleAndAdd(n, n, a.position, a.mass);
- }
- i > 0 && r.scale(n, n, 1 / i)
- }
- this.updateForce(), this.updatePosition()
- }, a.prototype.updateForce = function() {
- for(var e = this.nodes.length, t = 0; e > t; t++) {
- var i = this.nodes[t];
- r.copy(i.forcePrev, i.force), r.copy(i.speedPrev, i.speed), r.set(i.force, 0, 0)
- }
- this.updateNodeNodeForce(), this.gravity > 0 && this.updateGravityForce(), this.updateEdgeForce(), this.preventNodeEdgeOverlap && this.updateNodeEdgeForce()
- }, a.prototype.updatePosition = function() {
- for(var e = this.nodes.length, t = r.create(), i = 0; e > i; i++) {
- var n = this.nodes[i],
- a = n.speed;
- r.scale(n.force, n.force, 1 / 30);
- var o = r.len(n.force) + .1,
- s = Math.min(o, 500) / o;
- r.scale(n.force, n.force, s), r.add(a, a, n.force), r.scale(a, a, this.temperature), r.sub(t, a, n.speedPrev);
- var l = r.len(t);
- if(l > 0) {
- r.scale(t, t, 1 / l);
- var h = r.len(n.speedPrev);
- h > 0 && (l = Math.min(l / h, this.maxSpeedIncrease) * h, r.scaleAndAdd(a, n.speedPrev, t, l))
- }
- var m = r.len(a),
- s = Math.min(m, 100) / (m + .1);
- r.scale(a, a, s), r.add(n.position, n.position, a)
- }
- }, a.prototype.updateNodeNodeForce = function() {
- for(var e = this.nodes.length, t = 0; e > t; t++) {
- var i = this.nodes[t];
- if(this.barnesHutOptimize) this.applyRegionToNodeRepulsion(this._rootRegion, i);
- else
- for(var n = t + 1; e > n; n++) {
- var a = this.nodes[n];
- this.applyNodeToNodeRepulsion(i, a, !1)
- }
- }
- }, a.prototype.updateGravityForce = function() {
- for(var e = 0; e < this.nodes.length; e++) this.applyNodeGravity(this.nodes[e])
- }, a.prototype.updateEdgeForce = function() {
- for(var e = 0; e < this.edges.length; e++) this.applyEdgeAttraction(this.edges[e])
- }, a.prototype.updateNodeEdgeForce = function() {
- for(var e = 0; e < this.nodes.length; e++)
- for(var t = 0; t < this.edges.length; t++) this.applyEdgeToNodeRepulsion(this.edges[t], this.nodes[e])
- }, a.prototype.applyRegionToNodeRepulsion = function() {
- var e = r.create();
- return function(t, i) {
- if(t.node) this.applyNodeToNodeRepulsion(t.node, i, !0);
- else {
- if(0 === t.mass && 0 === i.mass) return;
- r.sub(e, i.position, t.centerOfMass);
- var n = e[0] * e[0] + e[1] * e[1];
- if(n > this.barnesHutTheta * t.size * t.size) {
- var a = this._k * this._k * (i.mass + t.mass) / (n + 1);
- r.scaleAndAdd(i.force, i.force, e, 2 * a)
- } else
- for(var o = 0; o < t.nSubRegions; o++) this.applyRegionToNodeRepulsion(t.subRegions[o], i)
- }
- }
- }(), a.prototype.applyNodeToNodeRepulsion = function() {
- var e = r.create();
- return function(t, i, n) {
- if(t !== i && (0 !== t.mass || 0 !== i.mass)) {
- r.sub(e, t.position, i.position);
- var a = e[0] * e[0] + e[1] * e[1];
- if(0 !== a) {
- var o, s = t.mass + i.mass,
- l = Math.sqrt(a);
- r.scale(e, e, 1 / l), this.preventNodeOverlap ? (l = l - t.size - i.size, l > 0 ? o = this.nodeToNodeRepulsionFactor(s, l, this._k) : 0 >= l && (o = this._k * this._k * 10 * s)) : o = this.nodeToNodeRepulsionFactor(s, l, this._k), n || r.scaleAndAdd(t.force, t.force, e, 2 * o), r.scaleAndAdd(i.force, i.force, e, 2 * -o)
- }
- }
- }
- }(), a.prototype.applyEdgeAttraction = function() {
- var e = r.create();
- return function(t) {
- var i = t.node1,
- n = t.node2;
- r.sub(e, i.position, n.position);
- var a, o = r.len(e);
- a = 0 === this.edgeWeightInfluence ? 1 : 1 == this.edgeWeightInfluence ? t.weight : Math.pow(t.weight, this.edgeWeightInfluence);
- var s;
- if(!(this.preventOverlap && (o = o - i.size - n.size, 0 >= o))) {
- var s = this.attractionFactor(a, o, this._k);
- r.scaleAndAdd(i.force, i.force, e, -s), r.scaleAndAdd(n.force, n.force, e, s)
- }
- }
- }(), a.prototype.applyNodeGravity = function() {
- var e = r.create();
- return function(t) {
- r.sub(e, this.center, t.position), this.width > this.height ? e[1] *= this.width / this.height : e[0] *= this.height / this.width;
- var i = r.len(e) / 100;
- this.strongGravity ? r.scaleAndAdd(t.force, t.force, e, i * this.gravity * t.mass) : r.scaleAndAdd(t.force, t.force, e, this.gravity * t.mass / (i + 1))
- }
- }(), a.prototype.applyEdgeToNodeRepulsion = function() {
- var e = r.create(),
- t = r.create(),
- i = r.create();
- return function(n, a) {
- var o = n.node1,
- s = n.node2;
- if(o !== a && s !== a) {
- r.sub(e, s.position, o.position), r.sub(t, a.position, o.position);
- var l = r.len(e);
- r.scale(e, e, 1 / l);
- var h = r.dot(e, t);
- if(!(0 > h || h > l)) {
- r.scaleAndAdd(i, o.position, e, h);
- var m = r.dist(i, a.position) - a.size,
- V = this.edgeToNodeRepulsionFactor(a.mass, Math.max(m, .1), 100);
- r.sub(e, a.position, i), r.normalize(e, e), r.scaleAndAdd(a.force, a.force, e, V), r.scaleAndAdd(o.force, o.force, e, -V), r.scaleAndAdd(s.force, s.force, e, -V)
- }
- }
- }
- }(), a.prototype.updateBBox = function() {
- for(var e = 1 / 0, t = 1 / 0, i = -(1 / 0), n = -(1 / 0), a = 0; a < this.nodes.length; a++) {
- var o = this.nodes[a].position;
- e = Math.min(e, o[0]), t = Math.min(t, o[1]), i = Math.max(i, o[0]), n = Math.max(n, o[1])
- }
- this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n
- }, a.getWorkerCode = function() {
- var e = o.toString();
- return e.slice(e.indexOf("{") + 1, e.lastIndexOf("return"))
- }, s) {
- var h = null;
- self.onmessage = function(e) {
- if(e.data instanceof ArrayBuffer) {
- if(!h) return;
- for(var t = new Float32Array(e.data), i = t.length / 2, n = 0; i > n; n++) {
- var o = h.nodes[n];
- o.position[0] = t[2 * n], o.position[1] = t[2 * n + 1]
- }
- } else switch(e.data.cmd) {
- case "init":
- h || (h = new a), h.initNodes(e.data.nodesPosition, e.data.nodesMass, e.data.nodesSize), h.initEdges(e.data.edges, e.data.edgesWeight);
- break;
- case "updateConfig":
- if(h)
- for(var r in e.data.config) h[r] = e.data.config[r];
- break;
- case "update":
- var s = e.data.steps;
- if(h) {
- var i = h.nodes.length,
- t = new Float32Array(2 * i);
- h.temperature = e.data.temperature;
- for(var n = 0; s > n; n++) h.update(), h.temperature *= e.data.coolDown;
- for(var n = 0; i > n; n++) {
- var o = h.nodes[n];
- t[2 * n] = o.position[0], t[2 * n + 1] = o.position[1]
- }
- self.postMessage(t.buffer, [t.buffer])
- } else {
- var l = new Float32Array;
- self.postMessage(l.buffer, [l.buffer])
- }
- }
- }
- }
- return a
- }), i("echarts/chart/map", ["require", "./base", "zrender/shape/Text", "zrender/shape/Path", "zrender/shape/Circle", "zrender/shape/Rectangle", "zrender/shape/Line", "zrender/shape/Polygon", "zrender/shape/Ellipse", "zrender/shape/Image", "../component/dataRange", "../component/roamController", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/config", "zrender/tool/event", "../util/mapData/params", "../util/mapData/textFixed", "../util/mapData/geoCoord", "../util/projection/svg", "../util/projection/normal", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o);
- var r = this;
- r._onmousewheel = function(e) {
- return r.__onmousewheel(e)
- }, r._onmousedown = function(e) {
- return r.__onmousedown(e)
- }, r._onmousemove = function(e) {
- return r.__onmousemove(e)
- }, r._onmouseup = function(e) {
- return r.__onmouseup(e)
- }, r._onroamcontroller = function(e) {
- return r.__onroamcontroller(e)
- }, r._ondrhoverlink = function(e) {
- return r.__ondrhoverlink(e)
- }, this._isAlive = !0, this._selectedMode = {}, this._activeMapType = {}, this._clickable = {}, this._hoverable = {}, this._showLegendSymbol = {}, this._selected = {}, this._mapTypeMap = {}, this._mapDataMap = {}, this._nameMap = {}, this._specialArea = {}, this._refreshDelayTicket, this._mapDataRequireCounter, this._markAnimation = !1, this._hoverLinkMap = {}, this._roamMap = {}, this._scaleLimitMap = {}, this._mx, this._my, this._mousedown, this._justMove, this._curMapType, this.refresh(a), this.zr.on(c.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.on(c.EVENT.MOUSEDOWN, this._onmousedown), t.bind(U.EVENT.ROAMCONTROLLER, this._onroamcontroller), t.bind(U.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Path"),
- o = e("zrender/shape/Circle"),
- r = e("zrender/shape/Rectangle"),
- s = e("zrender/shape/Line"),
- l = e("zrender/shape/Polygon"),
- h = e("zrender/shape/Ellipse"),
- m = e("zrender/shape/Image");
- e("../component/dataRange"), e("../component/roamController");
- var V = e("../layer/heatmap"),
- U = e("../config");
- U.map = {
- zlevel: 0,
- z: 2,
- mapType: "china",
- showLegendSymbol: !0,
- dataRangeHoverLink: !0,
- hoverable: !0,
- clickable: !0,
- itemStyle: {
- normal: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- areaStyle: {
- color: "#ccc"
- },
- label: {
- show: !1,
- textStyle: {
- color: "rgb(139,69,19)"
- }
- }
- },
- emphasis: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- areaStyle: {
- color: "rgba(255,215,0,0.8)"
- },
- label: {
- show: !1,
- textStyle: {
- color: "rgb(100,0,0)"
- }
- }
- }
- }
- };
- var d = e("../util/ecData"),
- p = e("zrender/tool/util"),
- c = e("zrender/config"),
- u = e("zrender/tool/event"),
- y = e("../util/mapData/params").params,
- g = e("../util/mapData/textFixed"),
- b = e("../util/mapData/geoCoord");
- return t.prototype = {
- type: U.CHART_TYPE_MAP,
- _buildShape: function() {
- var e = this.series;
- this.selectedMap = {}, this._activeMapType = {};
- for(var t, i, n, a, o = this.component.legend, r = {}, s = {}, l = {}, h = {}, m = 0, V = e.length; V > m; m++)
- if(e[m].type == U.CHART_TYPE_MAP && (e[m] = this.reformOption(e[m]), i = e[m].mapType, s[i] = s[i] || {}, s[i][m] = !0, l[i] = l[i] || e[m].mapValuePrecision, this._scaleLimitMap[i] = this._scaleLimitMap[i] || {}, e[m].scaleLimit && p.merge(this._scaleLimitMap[i], e[m].scaleLimit, !0), this._roamMap[i] = e[m].roam || this._roamMap[i], (null == this._hoverLinkMap[i] || this._hoverLinkMap[i]) && (this._hoverLinkMap[i] = e[m].dataRangeHoverLink), this._nameMap[i] = this._nameMap[i] || {}, e[m].nameMap && p.merge(this._nameMap[i], e[m].nameMap, !0), this._activeMapType[i] = !0, e[m].textFixed && p.merge(g, e[m].textFixed, !0), e[m].geoCoord && p.merge(b, e[m].geoCoord, !0), this._selectedMode[i] = this._selectedMode[i] || e[m].selectedMode, (null == this._hoverable[i] || this._hoverable[i]) && (this._hoverable[i] = e[m].hoverable), (null == this._clickable[i] || this._clickable[i]) && (this._clickable[i] = e[m].clickable), (null == this._showLegendSymbol[i] || this._showLegendSymbol[i]) && (this._showLegendSymbol[i] = e[m].showLegendSymbol), h[i] = h[i] || e[m].mapValueCalculation, t = e[m].name, this.selectedMap[t] = o ? o.isSelected(t) : !0, this.selectedMap[t])) {
- r[i] = r[i] || {}, n = e[m].data;
- for(var d = 0, c = n.length; c > d; d++) {
- a = this._nameChange(i, n[d].name), r[i][a] = r[i][a] || {
- seriesIndex: [],
- valueMap: {},
- precision: 0
- };
- for(var u in n[d]) "value" != u ? r[i][a][u] = n[d][u] : isNaN(n[d].value) || (null == r[i][a].value && (r[i][a].value = 0), r[i][a].precision = Math.max(this.getPrecision(+n[d].value), r[i][a].precision), r[i][a].value += +n[d].value, r[i][a].valueMap[m] = +n[d].value);
- r[i][a].seriesIndex.push(m)
- }
- }
- this._mapDataRequireCounter = 0;
- for(var f in r) this._mapDataRequireCounter++;
- this._clearSelected(), 0 === this._mapDataRequireCounter && (this.clear(), this.zr && this.zr.delShape(this.lastShapeList), this.lastShapeList = []);
- for(var f in r) {
- for(var c in r[f]) {
- "average" == h[f] && (r[f][c].value /= r[f][c].seriesIndex.length);
- var k = r[f][c].value;
- null != k && (r[f][c].value = k.toFixed(null == l[f] ? r[f][c].precision : l[f]) - 0)
- }
- this._mapDataMap[f] = this._mapDataMap[f] || {}, this._mapDataMap[f].mapData ? this._mapDataCallback(f, r[f], s[f])(this._mapDataMap[f].mapData) : y[f.replace(/\|.*/, "")].getGeoJson && (this._specialArea[f] = y[f.replace(/\|.*/, "")].specialArea || this._specialArea[f], y[f.replace(/\|.*/, "")].getGeoJson(this._mapDataCallback(f, r[f], s[f])))
- }
- },
- _mapDataCallback: function(t, i, n) {
- var a = this;
- return function(o) {
- a._isAlive && null != a._activeMapType[t] && (-1 != t.indexOf("|") && (o = a._getSubMapData(t, o)), a._mapDataMap[t].mapData = o, o.firstChild ? (a._mapDataMap[t].rate = 1, a._mapDataMap[t].projection = e("../util/projection/svg")) : (a._mapDataMap[t].rate = .75, a._mapDataMap[t].projection = e("../util/projection/normal")), a._buildMap(t, a._getProjectionData(t, o, n), i, n), a._buildMark(t, n), --a._mapDataRequireCounter <= 0 && (a.addShapeList(), a.zr.refreshNextFrame()), a._buildHeatmap(t))
- }
- },
- _clearSelected: function() {
- for(var e in this._selected) this._activeMapType[this._mapTypeMap[e]] || (delete this._selected[e], delete this._mapTypeMap[e])
- },
- _getSubMapData: function(e, t) {
- for(var i = e.replace(/^.*\|/, ""), n = t.features, a = 0, o = n.length; o > a; a++)
- if(n[a].properties && n[a].properties.name == i) {
- n = n[a], "United States of America" == i && n.geometry.coordinates.length > 1 && (n = {
- geometry: {
- coordinates: n.geometry.coordinates.slice(5, 6),
- type: n.geometry.type
- },
- id: n.id,
- properties: n.properties,
- type: n.type
- });
- break
- }
- return {
- type: "FeatureCollection",
- features: [n]
- }
- },
- _getProjectionData: function(e, t, i) {
- var n, a = this._mapDataMap[e].projection,
- o = [],
- r = this._mapDataMap[e].bbox || a.getBbox(t, this._specialArea[e]);
- n = this._mapDataMap[e].hasRoam ? this._mapDataMap[e].transform : this._getTransform(r, i, this._mapDataMap[e].rate);
- var s, l = this._mapDataMap[e].lastTransform || {
- scale: {}
- };
- n.left != l.left || n.top != l.top || n.scale.x != l.scale.x || n.scale.y != l.scale.y ? (s = a.geoJson2Path(t, n, this._specialArea[e]), l = p.clone(n)) : (n = this._mapDataMap[e].transform, s = this._mapDataMap[e].pathArray), this._mapDataMap[e].bbox = r, this._mapDataMap[e].transform = n, this._mapDataMap[e].lastTransform = l, this._mapDataMap[e].pathArray = s;
- for(var h = [n.left, n.top], m = 0, V = s.length; V > m; m++) o.push(this._getSingleProvince(e, s[m], h));
- if(this._specialArea[e])
- for(var U in this._specialArea[e]) o.push(this._getSpecialProjectionData(e, t, U, this._specialArea[e][U], h));
- if("china" == e) {
- var d = this.geo2pos(e, b["南海诸岛"] || y["南海诸岛"].textCoord),
- c = n.scale.x / 10.5,
- u = [32 * c + d[0], 83 * c + d[1]];
- g["南海诸岛"] && (u[0] += g["南海诸岛"][0], u[1] += g["南海诸岛"][1]), o.push({
- name: this._nameChange(e, "南海诸岛"),
- path: y["南海诸岛"].getPath(d, c),
- position: h,
- textX: u[0],
- textY: u[1]
- })
- }
- return o
- },
- _getSpecialProjectionData: function(t, i, n, a, o) {
- i = this._getSubMapData("x|" + n, i);
- var r = e("../util/projection/normal"),
- s = r.getBbox(i),
- l = this.geo2pos(t, [a.left, a.top]),
- h = this.geo2pos(t, [a.left + a.width, a.top + a.height]),
- m = Math.abs(h[0] - l[0]),
- V = Math.abs(h[1] - l[1]),
- U = s.width,
- d = s.height,
- p = m / .75 / U,
- c = V / d;
- p > c ? (p = .75 * c, m = U * p) : (c = p, p = .75 * c, V = d * c);
- var u = {
- OffsetLeft: l[0],
- OffsetTop: l[1],
- scale: {
- x: p,
- y: c
- }
- },
- y = r.geoJson2Path(i, u);
- return this._getSingleProvince(t, y[0], o)
- },
- _getSingleProvince: function(e, t, i) {
- var n, a = t.properties.name,
- o = g[a] || [0, 0];
- if(b[a]) n = this.geo2pos(e, b[a]);
- else if(t.cp) n = [t.cp[0] + o[0], t.cp[1] + o[1]];
- else {
- var r = this._mapDataMap[e].bbox;
- n = this.geo2pos(e, [r.left + r.width / 2, r.top + r.height / 2]), n[0] += o[0], n[1] += o[1]
- }
- return t.name = this._nameChange(e, a), t.position = i, t.textX = n[0], t.textY = n[1], t
- },
- _getTransform: function(e, t, i) {
- var n, a, o, r, s, l, h, m = this.series,
- V = this.zr.getWidth(),
- U = this.zr.getHeight(),
- d = Math.round(.02 * Math.min(V, U));
- for(var p in t) n = m[p].mapLocation || {}, o = n.x || o, s = n.y || s, l = n.width || l, h = n.height || h;
- a = this.parsePercent(o, V), a = isNaN(a) ? d : a, r = this.parsePercent(s, U), r = isNaN(r) ? d : r, l = null == l ? V - a - 2 * d : this.parsePercent(l, V), h = null == h ? U - r - 2 * d : this.parsePercent(h, U);
- var c = e.width,
- u = e.height,
- y = l / i / c,
- g = h / u;
- if(y > g ? (y = g * i, l = c * y) : (g = y, y = g * i, h = u * g), isNaN(o)) switch(o = o || "center", o + "") {
- case "center":
- a = Math.floor((V - l) / 2);
- break;
- case "right":
- a = V - l
- }
- if(isNaN(s)) switch(s = s || "center", s + "") {
- case "center":
- r = Math.floor((U - h) / 2);
- break;
- case "bottom":
- r = U - h
- }
- return {
- left: a,
- top: r,
- width: l,
- height: h,
- baseScale: 1,
- scale: {
- x: y,
- y: g
- }
- }
- },
- _buildMap: function(e, t, i, m) {
- for(var V, c, u, y, g, b, f, k, x, _, L, W = this.series, X = this.component.legend, v = this.component.dataRange, w = 0, K = t.length; K > w; w++) {
- if(k = p.clone(t[w]), x = {
- name: k.name,
- path: k.path,
- position: p.clone(k.position)
- }, c = k.name, u = i[c]) {
- g = [u], V = "";
- for(var I = 0, J = u.seriesIndex.length; J > I; I++) {
- var C = W[u.seriesIndex[I]];
- g.push(C), V += C.name + " ", X && this._showLegendSymbol[e] && X.hasColor(C.name) && this.shapeList.push(new o({
- zlevel: C.zlevel,
- z: C.z + 1,
- position: p.clone(k.position),
- _mapType: e,
- style: {
- x: k.textX + 3 + 7 * I,
- y: k.textY - 10,
- r: 3,
- color: X.getColor(C.name)
- },
- hoverable: !1
- }))
- }
- y = u.value
- } else {
- u = {
- name: c,
- value: "-"
- }, V = "", g = [];
- for(var S in m) g.push(W[S]);
- y = "-"
- }
- switch(this.ecTheme.map && g.push(this.ecTheme.map), g.push(U.map), b = v && !isNaN(y) ? v.getColor(y) : null, k.color = k.color || b || this.getItemStyleColor(this.deepQuery(g, "itemStyle.normal.color"), u.seriesIndex, -1, u) || this.deepQuery(g, "itemStyle.normal.areaStyle.color"), k.strokeColor = k.strokeColor || this.deepQuery(g, "itemStyle.normal.borderColor"), k.lineWidth = k.lineWidth || this.deepQuery(g, "itemStyle.normal.borderWidth"), x.color = this.getItemStyleColor(this.deepQuery(g, "itemStyle.emphasis.color"), u.seriesIndex, -1, u) || this.deepQuery(g, "itemStyle.emphasis.areaStyle.color") || k.color, x.strokeColor = this.deepQuery(g, "itemStyle.emphasis.borderColor") || k.strokeColor, x.lineWidth = this.deepQuery(g, "itemStyle.emphasis.borderWidth") || k.lineWidth, k.brushType = x.brushType = k.brushType || "both", k.lineJoin = x.lineJoin = "round", k._name = x._name = c, f = this.deepQuery(g, "itemStyle.normal.label.textStyle"), L = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- position: p.clone(k.position),
- _mapType: e,
- _geo: this.pos2geo(e, [k.textX, k.textY]),
- style: {
- brushType: "fill",
- x: k.textX,
- y: k.textY,
- text: this.getLabelText(c, y, g, "normal"),
- _name: c,
- textAlign: "center",
- color: this.deepQuery(g, "itemStyle.normal.label.show") ? this.deepQuery(g, "itemStyle.normal.label.textStyle.color") : "rgba(0,0,0,0)",
- textFont: this.getFont(f)
- }
- }, L._style = p.clone(L.style), L.highlightStyle = p.clone(L.style), this.deepQuery(g, "itemStyle.emphasis.label.show") ? (L.highlightStyle.text = this.getLabelText(c, y, g, "emphasis"), L.highlightStyle.color = this.deepQuery(g, "itemStyle.emphasis.label.textStyle.color") || L.style.color, f = this.deepQuery(g, "itemStyle.emphasis.label.textStyle") || f, L.highlightStyle.textFont = this.getFont(f)) : L.highlightStyle.color = "rgba(0,0,0,0)", _ = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- position: p.clone(k.position),
- style: k,
- highlightStyle: x,
- _style: p.clone(k),
- _mapType: e
- }, null != k.scale && (_.scale = p.clone(k.scale)), L = new n(L), _.style.shapeType) {
- case "rectangle":
- _ = new r(_);
- break;
- case "line":
- _ = new s(_);
- break;
- case "circle":
- _ = new o(_);
- break;
- case "polygon":
- _ = new l(_);
- break;
- case "ellipse":
- _ = new h(_);
- break;
- default:
- _ = new a(_), _.buildPathArray && (_.style.pathArray = _.buildPathArray(_.style.path))
- }(this._selectedMode[e] && this._selected[c] && u.selected !== !1 || u.selected === !0) && (L.style = L.highlightStyle, _.style = _.highlightStyle), L.clickable = _.clickable = this._clickable[e] && (null == u.clickable || u.clickable), this._selectedMode[e] && (this._selected[c] = null != this._selected[c] ? this._selected[c] : u.selected, this._mapTypeMap[c] = e, (null == u.selectable || u.selectable) && (_.clickable = L.clickable = !0, _.onclick = L.onclick = this.shapeHandler.onclick)), this._hoverable[e] && (null == u.hoverable || u.hoverable) ? (L.hoverable = _.hoverable = !0, _.hoverConnect = L.id, L.hoverConnect = _.id) : L.hoverable = _.hoverable = !1, d.pack(L, {
- name: V,
- tooltip: this.deepQuery(g, "tooltip")
- }, 0, u, 0, c), this.shapeList.push(L), d.pack(_, {
- name: V,
- tooltip: this.deepQuery(g, "tooltip")
- }, 0, u, 0, c), this.shapeList.push(_)
- }
- },
- _buildMark: function(e, t) {
- this._seriesIndexToMapType = this._seriesIndexToMapType || {}, this.markAttachStyle = this.markAttachStyle || {};
- var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top];
- "none" == e && (i = [0, 0]);
- for(var n in t) this._seriesIndexToMapType[n] = e, this.markAttachStyle[n] = {
- position: i,
- _mapType: e
- }, this.buildMark(n)
- },
- _buildHeatmap: function(e) {
- for(var t = this.series, i = 0, n = t.length; n > i; i++)
- if(t[i].heatmap) {
- var a = t[i].heatmap.data;
- if(t[i].heatmap.needsTransform === !1) {
- for(var o = [], r = 0, s = a.length; s > r; ++r) o.push([a[r][3], a[r][4], a[r][2]]);
- var l = [0, 0]
- } else {
- var h = t[i].heatmap._geoData;
- if(void 0 === h) {
- t[i].heatmap._geoData = [];
- for(var r = 0, s = a.length; s > r; ++r) t[i].heatmap._geoData[r] = a[r];
- h = t[i].heatmap._geoData
- }
- for(var s = a.length, U = 0; s > U; ++U) a[U] = this.geo2pos(e, [h[U][0], h[U][1]]);
- var l = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top]
- }
- var d = new V(t[i].heatmap),
- p = d.getCanvas(a[0][3] ? o : a, this.zr.getWidth(), this.zr.getHeight()),
- c = new m({
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- position: l,
- scale: [1, 1],
- hoverable: !1,
- style: {
- x: 0,
- y: 0,
- image: p,
- width: p.width,
- height: p.height
- }
- });
- c.type = "heatmap", c._mapType = e, this.shapeList.push(c), this.zr.addShape(c)
- }
- },
- getMarkCoord: function(e, t) {
- return t.geoCoord || b[t.name] ? this.geo2pos(this._seriesIndexToMapType[e], t.geoCoord || b[t.name]) : [0, 0]
- },
- getMarkGeo: function(e) {
- return e.geoCoord || b[e.name]
- },
- _nameChange: function(e, t) {
- return this._nameMap[e][t] || t
- },
- getLabelText: function(e, t, i, n) {
- var a = this.deepQuery(i, "itemStyle." + n + ".label.formatter");
- return a ? "function" == typeof a ? a.call(this.myChart, e, t) : "string" == typeof a ? (a = a.replace("{a}", "{a0}").replace("{b}", "{b0}"), a = a.replace("{a0}", e).replace("{b0}", t)) : void 0 : e
- },
- _findMapTypeByPos: function(e, t) {
- var i, n, a, o, r;
- for(var s in this._mapDataMap)
- if(i = this._mapDataMap[s].transform, i && this._roamMap[s] && this._activeMapType[s] && (n = i.left, a = i.top, o = i.width, r = i.height, e >= n && n + o >= e && t >= a && a + r >= t)) return s
- },
- __onmousewheel: function(e) {
- function t(e, t) {
- for(var i = 0; i < e.pointList.length; i++) {
- var n = e.pointList[i];
- n[0] *= t, n[1] *= t
- }
- var a = e.controlPointList;
- if(a)
- for(var i = 0; i < a.length; i++) {
- var n = a[i];
- n[0] *= t, n[1] *= t
- }
- }
- function i(e, t) {
- e.xStart *= t, e.yStart *= t, e.xEnd *= t, e.yEnd *= t, null != e.cpX1 && (e.cpX1 *= t, e.cpY1 *= t)
- }
- if(!(this.shapeList.length <= 0)) {
- for(var n = 0, a = this.shapeList.length; a > n; n++) {
- var o = this.shapeList[n];
- if(o.__animating) return
- }
- var r, s, l = e.event,
- h = u.getX(l),
- m = u.getY(l),
- V = u.getDelta(l),
- d = e.mapTypeControl;
- d || (d = {}, s = this._findMapTypeByPos(h, m), s && this._roamMap[s] && "move" != this._roamMap[s] && (d[s] = !0));
- var p = !1;
- for(s in d)
- if(d[s]) {
- p = !0;
- var c = this._mapDataMap[s].transform,
- y = c.left,
- g = c.top,
- b = c.width,
- f = c.height,
- k = this.pos2geo(s, [h - y, m - g]);
- if(V > 0) {
- if(r = 1.2, null != this._scaleLimitMap[s].max && c.baseScale >= this._scaleLimitMap[s].max) continue
- } else if(r = 1 / 1.2, null != this._scaleLimitMap[s].min && c.baseScale <= this._scaleLimitMap[s].min) continue;
- c.baseScale *= r, c.scale.x *= r, c.scale.y *= r, c.width = b * r, c.height = f * r, this._mapDataMap[s].hasRoam = !0, this._mapDataMap[s].transform = c, k = this.geo2pos(s, k), c.left -= k[0] - (h - y), c.top -= k[1] - (m - g), this._mapDataMap[s].transform = c, this.clearEffectShape(!0);
- for(var n = 0, a = this.shapeList.length; a > n; n++) {
- var o = this.shapeList[n];
- if(o._mapType == s) {
- var x = o.type,
- _ = o.style;
- switch(o.position[0] = c.left, o.position[1] = c.top, x) {
- case "path":
- case "symbol":
- case "circle":
- case "rectangle":
- case "polygon":
- case "line":
- case "ellipse":
- case "heatmap":
- o.scale[0] *= r, o.scale[1] *= r;
- break;
- case "mark-line":
- i(_, r);
- break;
- case "polyline":
- t(_, r);
- break;
- case "shape-bundle":
- for(var L = 0; L < _.shapeList.length; L++) {
- var W = _.shapeList[L];
- "mark-line" == W.type ? i(W.style, r) : "polyline" == W.type && t(W.style, r)
- }
- break;
- case "icon":
- case "image":
- k = this.geo2pos(s, o._geo), _.x = _._x = k[0] - _.width / 2, _.y = _._y = k[1] - _.height / 2;
- break;
- default:
- k = this.geo2pos(s, o._geo), _.x = k[0], _.y = k[1], "text" == x && (o._style.x = o.highlightStyle.x = k[0], o._style.y = o.highlightStyle.y = k[1])
- }
- this.zr.modShape(o.id)
- }
- }
- }
- if(p) {
- u.stop(l), this.zr.refreshNextFrame();
- var X = this;
- clearTimeout(this._refreshDelayTicket), this._refreshDelayTicket = setTimeout(function() {
- X && X.shapeList && X.animationEffect()
- }, 100), this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {
- type: "scale"
- }, this.myChart)
- }
- }
- },
- __onmousedown: function(e) {
- if(!(this.shapeList.length <= 0)) {
- var t = e.target;
- if(!t || !t.draggable) {
- var i = e.event,
- n = u.getX(i),
- a = u.getY(i),
- o = this._findMapTypeByPos(n, a);
- if(o && this._roamMap[o] && "scale" != this._roamMap[o]) {
- this._mousedown = !0, this._mx = n, this._my = a, this._curMapType = o, this.zr.on(c.EVENT.MOUSEUP, this._onmouseup);
- var r = this;
- setTimeout(function() {
- r.zr.on(c.EVENT.MOUSEMOVE, r._onmousemove)
- }, 100)
- }
- }
- }
- },
- __onmousemove: function(e) {
- if(this._mousedown && this._isAlive) {
- var t = e.event,
- i = u.getX(t),
- n = u.getY(t),
- a = this._mapDataMap[this._curMapType].transform;
- a.hasRoam = !0, a.left -= this._mx - i, a.top -= this._my - n, this._mx = i, this._my = n, this._mapDataMap[this._curMapType].transform = a;
- for(var o = 0, r = this.shapeList.length; r > o; o++) this.shapeList[o]._mapType == this._curMapType && (this.shapeList[o].position[0] = a.left, this.shapeList[o].position[1] = a.top, this.zr.modShape(this.shapeList[o].id));
- this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {
- type: "move"
- }, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), this._justMove = !0, u.stop(t)
- }
- },
- __onmouseup: function(e) {
- var t = e.event;
- this._mx = u.getX(t), this._my = u.getY(t), this._mousedown = !1;
- var i = this;
- setTimeout(function() {
- i._justMove && i.animationEffect(), i._justMove = !1, i.zr.un(c.EVENT.MOUSEMOVE, i._onmousemove), i.zr.un(c.EVENT.MOUSEUP, i._onmouseup)
- }, 120)
- },
- __onroamcontroller: function(e) {
- var t = e.event;
- t.zrenderX = this.zr.getWidth() / 2, t.zrenderY = this.zr.getHeight() / 2;
- var i = e.mapTypeControl,
- n = 0,
- a = 0,
- o = e.step;
- switch(e.roamType) {
- case "scaleUp":
- return t.zrenderDelta = 1, void this.__onmousewheel({
- event: t,
- mapTypeControl: i
- });
- case "scaleDown":
- return t.zrenderDelta = -1, void this.__onmousewheel({
- event: t,
- mapTypeControl: i
- });
- case "up":
- n = -o;
- break;
- case "down":
- n = o;
- break;
- case "left":
- a = -o;
- break;
- case "right":
- a = o
- }
- var r, s;
- for(s in i) this._mapDataMap[s] && this._activeMapType[s] && (r = this._mapDataMap[s].transform, r.hasRoam = !0, r.left -= a, r.top -= n, this._mapDataMap[s].transform = r);
- for(var l = 0, h = this.shapeList.length; h > l; l++) s = this.shapeList[l]._mapType, i[s] && this._activeMapType[s] && (r = this._mapDataMap[s].transform, this.shapeList[l].position[0] = r.left, this.shapeList[l].position[1] = r.top, this.zr.modShape(this.shapeList[l].id));
- this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {
- type: "move"
- }, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), clearTimeout(this.dircetionTimer);
- var m = this;
- this.dircetionTimer = setTimeout(function() {
- m.animationEffect()
- }, 150)
- },
- __ondrhoverlink: function(e) {
- for(var t, i, n = 0, a = this.shapeList.length; a > n; n++) t = this.shapeList[n]._mapType, this._hoverLinkMap[t] && this._activeMapType[t] && (i = d.get(this.shapeList[n], "value"), null != i && i >= e.valueMin && i <= e.valueMax && this.zr.addHoverShape(this.shapeList[n]))
- },
- onclick: function(e) {
- if(this.isClick && e.target && !this._justMove && "icon" != e.target.type) {
- this.isClick = !1;
- var t = e.target,
- i = t.style._name,
- n = this.shapeList.length,
- a = t._mapType || "";
- if("single" == this._selectedMode[a])
- for(var o in this._selected)
- if(this._selected[o] && this._mapTypeMap[o] == a) {
- for(var r = 0; n > r; r++) this.shapeList[r].style._name == o && this.shapeList[r]._mapType == a && (this.shapeList[r].style = this.shapeList[r]._style, this.zr.modShape(this.shapeList[r].id));
- o != i && (this._selected[o] = !1)
- }
- this._selected[i] = !this._selected[i];
- for(var r = 0; n > r; r++) this.shapeList[r].style._name == i && this.shapeList[r]._mapType == a && (this.shapeList[r].style = this._selected[i] ? this.shapeList[r].highlightStyle : this.shapeList[r]._style, this.zr.modShape(this.shapeList[r].id));
- this.messageCenter.dispatch(U.EVENT.MAP_SELECTED, e.event, {
- selected: this._selected,
- target: i
- }, this.myChart), this.zr.refreshNextFrame();
- var s = this;
- setTimeout(function() {
- s.zr.trigger(c.EVENT.MOUSEMOVE, e.event)
- }, 100)
- }
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this._mapDataRequireCounter > 0 ? this.clear() : this.backupShapeList(), this._buildShape(), this.zr.refreshHover()
- },
- ondataRange: function(e, t) {
- this.component.dataRange && (this.refresh(), t.needRefresh = !0)
- },
- pos2geo: function(e, t) {
- return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.pos2geo(this._mapDataMap[e].transform, t) : null
- },
- getGeoByPos: function(e, t) {
- if(!this._mapDataMap[e].transform) return null;
- var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top];
- return t instanceof Array ? (t[0] -= i[0], t[1] -= i[1]) : (t.x -= i[0], t.y -= i[1]), this.pos2geo(e, t)
- },
- geo2pos: function(e, t) {
- return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.geo2pos(this._mapDataMap[e].transform, t) : null
- },
- getPosByGeo: function(e, t) {
- if(!this._mapDataMap[e].transform) return null;
- var i = this.geo2pos(e, t);
- return i[0] += this._mapDataMap[e].transform.left, i[1] += this._mapDataMap[e].transform.top, i
- },
- getMapPosition: function(e) {
- return this._mapDataMap[e].transform ? [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top] : null
- },
- onbeforDispose: function() {
- this._isAlive = !1, this.zr.un(c.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.un(c.EVENT.MOUSEDOWN, this._onmousedown), this.messageCenter.unbind(U.EVENT.ROAMCONTROLLER, this._onroamcontroller), this.messageCenter.unbind(U.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink)
- }
- }, p.inherits(t, i), e("../chart").define("map", t), t
- }), i("zrender/shape/Path", ["require", "./Base", "./util/PathProxy", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = e("./util/PathProxy"),
- n = i.PathSegment,
- a = function(e) {
- return Math.sqrt(e[0] * e[0] + e[1] * e[1])
- },
- o = function(e, t) {
- return(e[0] * t[0] + e[1] * t[1]) / (a(e) * a(t))
- },
- r = function(e, t) {
- return(e[0] * t[1] < e[1] * t[0] ? -1 : 1) * Math.acos(o(e, t))
- },
- s = function(e) {
- t.call(this, e)
- };
- return s.prototype = {
- type: "path",
- buildPathArray: function(e, t, i) {
- if(!e) return [];
- t = t || 0, i = i || 0;
- var a = e,
- o = ["m", "M", "l", "L", "v", "V", "h", "H", "z", "Z", "c", "C", "q", "Q", "t", "T", "s", "S", "a", "A"];
- a = a.replace(/-/g, " -"), a = a.replace(/ /g, " "), a = a.replace(/ /g, ","), a = a.replace(/,,/g, ",");
- var r;
- for(r = 0; r < o.length; r++) a = a.replace(new RegExp(o[r], "g"), "|" + o[r]);
- var s = a.split("|"),
- l = [],
- h = 0,
- m = 0;
- for(r = 1; r < s.length; r++) {
- var V = s[r],
- U = V.charAt(0);
- V = V.slice(1), V = V.replace(new RegExp("e,-", "g"), "e-");
- var d = V.split(",");
- d.length > 0 && "" === d[0] && d.shift();
- for(var p = 0; p < d.length; p++) d[p] = parseFloat(d[p]);
- for(; d.length > 0 && !isNaN(d[0]);) {
- var c, u, y, g, b, f, k, x, _ = null,
- L = [],
- W = h,
- X = m;
- switch(U) {
- case "l":
- h += d.shift(), m += d.shift(), _ = "L", L.push(h, m);
- break;
- case "L":
- h = d.shift(), m = d.shift(), L.push(h, m);
- break;
- case "m":
- h += d.shift(), m += d.shift(), _ = "M", L.push(h, m), U = "l";
- break;
- case "M":
- h = d.shift(), m = d.shift(), _ = "M", L.push(h, m), U = "L";
- break;
- case "h":
- h += d.shift(), _ = "L", L.push(h, m);
- break;
- case "H":
- h = d.shift(), _ = "L", L.push(h, m);
- break;
- case "v":
- m += d.shift(), _ = "L", L.push(h, m);
- break;
- case "V":
- m = d.shift(), _ = "L", L.push(h, m);
- break;
- case "C":
- L.push(d.shift(), d.shift(), d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m);
- break;
- case "c":
- L.push(h + d.shift(), m + d.shift(), h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "C", L.push(h, m);
- break;
- case "S":
- c = h, u = m, y = l[l.length - 1], "C" === y.command && (c = h + (h - y.points[2]), u = m + (m - y.points[3])), L.push(c, u, d.shift(), d.shift()), h = d.shift(), m = d.shift(), _ = "C", L.push(h, m);
- break;
- case "s":
- c = h, u = m, y = l[l.length - 1], "C" === y.command && (c = h + (h - y.points[2]), u = m + (m - y.points[3])), L.push(c, u, h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "C", L.push(h, m);
- break;
- case "Q":
- L.push(d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m);
- break;
- case "q":
- L.push(h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "Q", L.push(h, m);
- break;
- case "T":
- c = h, u = m, y = l[l.length - 1], "Q" === y.command && (c = h + (h - y.points[0]), u = m + (m - y.points[1])), h = d.shift(), m = d.shift(), _ = "Q", L.push(c, u, h, m);
- break;
- case "t":
- c = h, u = m, y = l[l.length - 1], "Q" === y.command && (c = h + (h - y.points[0]), u = m + (m - y.points[1])), h += d.shift(), m += d.shift(), _ = "Q", L.push(c, u, h, m);
- break;
- case "A":
- g = d.shift(), b = d.shift(), f = d.shift(), k = d.shift(), x = d.shift(), W = h, X = m, h = d.shift(), m = d.shift(), _ = "A", L = this._convertPoint(W, X, h, m, k, x, g, b, f);
- break;
- case "a":
- g = d.shift(), b = d.shift(), f = d.shift(), k = d.shift(), x = d.shift(), W = h, X = m, h += d.shift(), m += d.shift(), _ = "A", L = this._convertPoint(W, X, h, m, k, x, g, b, f)
- }
- for(var v = 0, w = L.length; w > v; v += 2) L[v] += t, L[v + 1] += i;
- l.push(new n(_ || U, L))
- }("z" === U || "Z" === U) && l.push(new n("z", []))
- }
- return l
- },
- _convertPoint: function(e, t, i, n, a, s, l, h, m) {
- var V = m * (Math.PI / 180),
- U = Math.cos(V) * (e - i) / 2 + Math.sin(V) * (t - n) / 2,
- d = -1 * Math.sin(V) * (e - i) / 2 + Math.cos(V) * (t - n) / 2,
- p = U * U / (l * l) + d * d / (h * h);
- p > 1 && (l *= Math.sqrt(p), h *= Math.sqrt(p));
- var c = Math.sqrt((l * l * h * h - l * l * d * d - h * h * U * U) / (l * l * d * d + h * h * U * U));
- a === s && (c *= -1), isNaN(c) && (c = 0);
- var u = c * l * d / h,
- y = c * -h * U / l,
- g = (e + i) / 2 + Math.cos(V) * u - Math.sin(V) * y,
- b = (t + n) / 2 + Math.sin(V) * u + Math.cos(V) * y,
- f = r([1, 0], [(U - u) / l, (d - y) / h]),
- k = [(U - u) / l, (d - y) / h],
- x = [(-1 * U - u) / l, (-1 * d - y) / h],
- _ = r(k, x);
- return o(k, x) <= -1 && (_ = Math.PI), o(k, x) >= 1 && (_ = 0), 0 === s && _ > 0 && (_ -= 2 * Math.PI), 1 === s && 0 > _ && (_ += 2 * Math.PI), [g, b, l, h, f, _, V, s]
- },
- buildPath: function(e, t) {
- var i = t.path,
- n = t.x || 0,
- a = t.y || 0;
- t.pathArray = t.pathArray || this.buildPathArray(i, n, a);
- for(var o = t.pathArray, r = t.pointList = [], s = [], l = 0, h = o.length; h > l; l++) {
- "M" == o[l].command.toUpperCase() && (s.length > 0 && r.push(s), s = []);
- for(var m = o[l].points, V = 0, U = m.length; U > V; V += 2) s.push([m[V], m[V + 1]])
- }
- s.length > 0 && r.push(s);
- for(var l = 0, h = o.length; h > l; l++) {
- var d = o[l].command,
- m = o[l].points;
- switch(d) {
- case "L":
- e.lineTo(m[0], m[1]);
- break;
- case "M":
- e.moveTo(m[0], m[1]);
- break;
- case "C":
- e.bezierCurveTo(m[0], m[1], m[2], m[3], m[4], m[5]);
- break;
- case "Q":
- e.quadraticCurveTo(m[0], m[1], m[2], m[3]);
- break;
- case "A":
- var p = m[0],
- c = m[1],
- u = m[2],
- y = m[3],
- g = m[4],
- b = m[5],
- f = m[6],
- k = m[7],
- x = u > y ? u : y,
- _ = u > y ? 1 : u / y,
- L = u > y ? y / u : 1;
- e.translate(p, c), e.rotate(f), e.scale(_, L), e.arc(0, 0, x, g, g + b, 1 - k), e.scale(1 / _, 1 / L), e.rotate(-f), e.translate(-p, -c);
- break;
- case "z":
- e.closePath()
- }
- }
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t;
- t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0;
- for(var i = Number.MAX_VALUE, n = Number.MIN_VALUE, a = Number.MAX_VALUE, o = Number.MIN_VALUE, r = e.x || 0, s = e.y || 0, l = e.pathArray || this.buildPathArray(e.path), h = 0; h < l.length; h++)
- for(var m = l[h].points, V = 0; V < m.length; V++) V % 2 === 0 ? (m[V] + r < i && (i = m[V]), m[V] + r > n && (n = m[V])) : (m[V] + s < a && (a = m[V]), m[V] + s > o && (o = m[V]));
- var U;
- return U = i === Number.MAX_VALUE || n === Number.MIN_VALUE || a === Number.MAX_VALUE || o === Number.MIN_VALUE ? {
- x: 0,
- y: 0,
- width: 0,
- height: 0
- } : {
- x: Math.round(i - t / 2),
- y: Math.round(a - t / 2),
- width: n - i + t,
- height: o - a + t
- }, e.__rect = U, U
- }
- }, e("../tool/util").inherits(s, t), s
- }), i("zrender/shape/Ellipse", ["require", "./Base", "../tool/util"], function(e) {
- var t = e("./Base"),
- i = function(e) {
- t.call(this, e)
- };
- return i.prototype = {
- type: "ellipse",
- buildPath: function(e, t) {
- var i = .5522848,
- n = t.x,
- a = t.y,
- o = t.a,
- r = t.b,
- s = o * i,
- l = r * i;
- e.moveTo(n - o, a), e.bezierCurveTo(n - o, a - l, n - s, a - r, n, a - r), e.bezierCurveTo(n + s, a - r, n + o, a - l, n + o, a), e.bezierCurveTo(n + o, a + l, n + s, a + r, n, a + r), e.bezierCurveTo(n - s, a + r, n - o, a + l, n - o, a), e.closePath()
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t;
- return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = {
- x: Math.round(e.x - e.a - t / 2),
- y: Math.round(e.y - e.b - t / 2),
- width: 2 * e.a + t,
- height: 2 * e.b + t
- }, e.__rect
- }
- }, e("../tool/util").inherits(i, t), i
- }), i("echarts/component/roamController", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Sector", "zrender/shape/Circle", "../config", "zrender/tool/util", "zrender/tool/color", "zrender/tool/event", "../component"], function(e) {
- function t(e, t, n, a, o) {
- if(this.rcOption = {}, a.roamController && a.roamController.show) {
- if(!a.roamController.mapTypeControl) return void console.error("option.roamController.mapTypeControl has not been defined.");
- i.call(this, e, t, n, a, o), this.rcOption = a.roamController;
- var r = this;
- this._drictionMouseDown = function(e) {
- return r.__drictionMouseDown(e)
- }, this._drictionMouseUp = function(e) {
- return r.__drictionMouseUp(e)
- }, this._drictionMouseMove = function(e) {
- return r.__drictionMouseMove(e)
- }, this._drictionMouseOut = function(e) {
- return r.__drictionMouseOut(e)
- }, this._scaleHandler = function(e) {
- return r.__scaleHandler(e)
- }, this.refresh(a)
- }
- }
- var i = e("./base"),
- n = e("zrender/shape/Rectangle"),
- a = e("zrender/shape/Sector"),
- o = e("zrender/shape/Circle"),
- r = e("../config");
- r.roamController = {
- zlevel: 0,
- z: 4,
- show: !0,
- x: "left",
- y: "top",
- width: 80,
- height: 120,
- backgroundColor: "rgba(0,0,0,0)",
- borderColor: "#ccc",
- borderWidth: 0,
- padding: 5,
- handleColor: "#6495ed",
- fillerColor: "#fff",
- step: 15,
- mapTypeControl: null
- };
- var s = e("zrender/tool/util"),
- l = e("zrender/tool/color"),
- h = e("zrender/tool/event");
- return t.prototype = {
- type: r.COMPONENT_TYPE_ROAMCONTROLLER,
- _buildShape: function() {
- if(this.rcOption.show) {
- this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
- for(var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
- }
- },
- _buildItem: function() {
- this.shapeList.push(this._getDirectionShape("up")), this.shapeList.push(this._getDirectionShape("down")), this.shapeList.push(this._getDirectionShape("left")), this.shapeList.push(this._getDirectionShape("right")), this.shapeList.push(this._getScaleShape("scaleUp")), this.shapeList.push(this._getScaleShape("scaleDown"))
- },
- _getDirectionShape: function(e) {
- var t = this._itemGroupLocation.r,
- i = this._itemGroupLocation.x + t,
- n = this._itemGroupLocation.y + t,
- o = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: i,
- y: n,
- r: t,
- startAngle: -45,
- endAngle: 45,
- color: this.rcOption.handleColor,
- text: ">",
- textX: i + t / 2 + 4,
- textY: n - .5,
- textAlign: "center",
- textBaseline: "middle",
- textPosition: "specific",
- textColor: this.rcOption.fillerColor,
- textFont: Math.floor(t / 2) + "px arial"
- },
- highlightStyle: {
- color: l.lift(this.rcOption.handleColor, -.2),
- brushType: "fill"
- },
- clickable: !0
- };
- switch(e) {
- case "up":
- o.rotation = [Math.PI / 2, i, n];
- break;
- case "left":
- o.rotation = [Math.PI, i, n];
- break;
- case "down":
- o.rotation = [-Math.PI / 2, i, n]
- }
- return o = new a(o), o._roamType = e, o.onmousedown = this._drictionMouseDown, o.onmouseup = this._drictionMouseUp, o.onmousemove = this._drictionMouseMove, o.onmouseout = this._drictionMouseOut, o
- },
- _getScaleShape: function(e) {
- var t = this._itemGroupLocation.width,
- i = this._itemGroupLocation.height - t;
- i = 0 > i ? 20 : i;
- var n = Math.min(t / 2 - 5, i) / 2,
- a = this._itemGroupLocation.x + ("scaleDown" === e ? t - n : n),
- r = this._itemGroupLocation.y + this._itemGroupLocation.height - n,
- s = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: {
- x: a,
- y: r,
- r: n,
- color: this.rcOption.handleColor,
- text: "scaleDown" === e ? "-" : "+",
- textX: a,
- textY: r - 2,
- textAlign: "center",
- textBaseline: "middle",
- textPosition: "specific",
- textColor: this.rcOption.fillerColor,
- textFont: Math.floor(n) + "px verdana"
- },
- highlightStyle: {
- color: l.lift(this.rcOption.handleColor, -.2),
- brushType: "fill"
- },
- clickable: !0
- };
- return s = new o(s), s._roamType = e, s.onmousedown = this._scaleHandler, s
- },
- _buildBackground: function() {
- var e = this.reformCssArray(this.rcOption.padding);
- this.shapeList.push(new n({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- x: this._itemGroupLocation.x - e[3],
- y: this._itemGroupLocation.y - e[0],
- width: this._itemGroupLocation.width + e[3] + e[1],
- height: this._itemGroupLocation.height + e[0] + e[2],
- brushType: 0 === this.rcOption.borderWidth ? "fill" : "both",
- color: this.rcOption.backgroundColor,
- strokeColor: this.rcOption.borderColor,
- lineWidth: this.rcOption.borderWidth
- }
- }))
- },
- _getItemGroupLocation: function() {
- var e, t = this.reformCssArray(this.rcOption.padding),
- i = this.rcOption.width,
- n = this.rcOption.height,
- a = this.zr.getWidth(),
- o = this.zr.getHeight();
- switch(this.rcOption.x) {
- case "center":
- e = Math.floor((a - i) / 2);
- break;
- case "left":
- e = t[3] + this.rcOption.borderWidth;
- break;
- case "right":
- e = a - i - t[1] - t[3] - 2 * this.rcOption.borderWidth;
- break;
- default:
- e = this.parsePercent(this.rcOption.x, a)
- }
- var r;
- switch(this.rcOption.y) {
- case "top":
- r = t[0] + this.rcOption.borderWidth;
- break;
- case "bottom":
- r = o - n - t[0] - t[2] - 2 * this.rcOption.borderWidth;
- break;
- case "center":
- r = Math.floor((o - n) / 2);
- break;
- default:
- r = this.parsePercent(this.rcOption.y, o)
- }
- return {
- x: e,
- y: r,
- r: i / 2,
- width: i,
- height: n
- }
- },
- __drictionMouseDown: function(e) {
- this.mousedown = !0, this._drictionHandlerOn(e)
- },
- __drictionMouseUp: function(e) {
- this.mousedown = !1, this._drictionHandlerOff(e)
- },
- __drictionMouseMove: function(e) {
- this.mousedown && this._drictionHandlerOn(e)
- },
- __drictionMouseOut: function(e) {
- this._drictionHandlerOff(e)
- },
- _drictionHandlerOn: function(e) {
- this._dispatchEvent(e.event, e.target._roamType), clearInterval(this.dircetionTimer);
- var t = this;
- this.dircetionTimer = setInterval(function() {
- t._dispatchEvent(e.event, e.target._roamType)
- }, 100), h.stop(e.event)
- },
- _drictionHandlerOff: function() {
- clearInterval(this.dircetionTimer)
- },
- __scaleHandler: function(e) {
- this._dispatchEvent(e.event, e.target._roamType), h.stop(e.event)
- },
- _dispatchEvent: function(e, t) {
- this.messageCenter.dispatch(r.EVENT.ROAMCONTROLLER, e, {
- roamType: t,
- mapTypeControl: this.rcOption.mapTypeControl,
- step: this.rcOption.step
- }, this.myChart)
- },
- refresh: function(e) {
- e && (this.option = e || this.option, this.option.roamController = this.reformOption(this.option.roamController), this.rcOption = this.option.roamController), this.clear(), this._buildShape()
- }
- }, s.inherits(t, i), e("../component").define("roamController", t), t
- }), i("echarts/layer/heatmap", ["require"], function() {
- function e(e) {
- if(this.option = e, e)
- for(var i in t) this.option[i] = void 0 !== e[i] ? e[i] : t[i];
- else this.option = t
- }
- var t = {
- blurSize: 30,
- gradientColors: ["blue", "cyan", "lime", "yellow", "red"],
- minAlpha: .05,
- valueScale: 1,
- opacity: 1
- },
- i = 20,
- n = 256;
- return e.prototype = {
- getCanvas: function(e, t, a) {
- var o = this._getBrush(),
- r = this._getGradient(),
- s = i + this.option.blurSize,
- l = document.createElement("canvas");
- l.width = t, l.height = a;
- for(var h = l.getContext("2d"), m = e.length, V = 0; m > V; ++V) {
- var U = e[V],
- d = U[0],
- p = U[1],
- c = U[2],
- u = Math.min(1, Math.max(c * this.option.valueScale || this.option.minAlpha, this.option.minAlpha));
- h.globalAlpha = u, h.drawImage(o, d - s, p - s)
- }
- for(var y = h.getImageData(0, 0, l.width, l.height), g = y.data, m = g.length / 4; m--;) {
- var b = 4 * m + 3,
- u = g[b] / 256,
- f = Math.floor(u * (n - 1));
- g[b - 3] = r[4 * f], g[b - 2] = r[4 * f + 1], g[b - 1] = r[4 * f + 2], g[b] *= this.option.opacity
- }
- return h.putImageData(y, 0, 0), l
- },
- _getBrush: function() {
- if(!this._brushCanvas) {
- this._brushCanvas = document.createElement("canvas");
- var e = i + this.option.blurSize,
- t = 2 * e;
- this._brushCanvas.width = t, this._brushCanvas.height = t;
- var n = this._brushCanvas.getContext("2d");
- n.shadowOffsetX = t, n.shadowBlur = this.option.blurSize, n.shadowColor = "black", n.beginPath(), n.arc(-e, e, i, 0, 2 * Math.PI, !0), n.closePath(), n.fill()
- }
- return this._brushCanvas
- },
- _getGradient: function() {
- if(!this._gradientPixels) {
- var e = n,
- t = document.createElement("canvas");
- t.width = 1, t.height = e;
- for(var i = t.getContext("2d"), a = i.createLinearGradient(0, 0, 0, e), o = this.option.gradientColors.length, r = 0; o > r; ++r) "string" == typeof this.option.gradientColors[r] ? a.addColorStop((r + 1) / o, this.option.gradientColors[r]) : a.addColorStop(this.option.gradientColors[r].offset, this.option.gradientColors[r].color);
- i.fillStyle = a, i.fillRect(0, 0, 1, e), this._gradientPixels = i.getImageData(0, 0, 1, e).data
- }
- return this._gradientPixels
- }
- }, e
- }), i("echarts/util/mapData/params", ["require"], function(e) {
- function t(e) {
- if(!e.UTF8Encoding) return e;
- for(var t = e.features, n = 0; n < t.length; n++)
- for(var a = t[n], o = a.geometry.coordinates, r = a.geometry.encodeOffsets, s = 0; s < o.length; s++) {
- var l = o[s];
- if("Polygon" === a.geometry.type) o[s] = i(l, r[s]);
- else if("MultiPolygon" === a.geometry.type)
- for(var h = 0; h < l.length; h++) {
- var m = l[h];
- l[h] = i(m, r[s][h])
- }
- }
- return e.UTF8Encoding = !1, e
- }
- function i(e, t) {
- for(var i = [], n = t[0], a = t[1], o = 0; o < e.length; o += 2) {
- var r = e.charCodeAt(o) - 64,
- s = e.charCodeAt(o + 1) - 64;
- r = r >> 1 ^ -(1 & r), s = s >> 1 ^ -(1 & s), r += n, s += a, n = r, a = s, i.push([r / 1024, s / 1024])
- }
- return i
- }
- var n = {
- none: {
- getGeoJson: function(e) {
- e({
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- geometry: {
- coordinates: [],
- encodeOffsets: [],
- type: "Polygon"
- },
- properties: {}
- }]
- })
- }
- },
- world: {
- getGeoJson: function(i) {
- e(["./geoJson/world_geo"], function(e) {
- i(t(e))
- })
- }
- },
- china: {
- getGeoJson: function(i) {
- e(["./geoJson/china_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "南海诸岛": {
- textCoord: [126, 25],
- getPath: function(e, t) {
- for(var i = [
- [
- [0, 3.5],
- [7, 11.2],
- [15, 11.9],
- [30, 7],
- [42, .7],
- [52, .7],
- [56, 7.7],
- [59, .7],
- [64, .7],
- [64, 0],
- [5, 0],
- [0, 3.5]
- ],
- [
- [13, 16.1],
- [19, 14.7],
- [16, 21.7],
- [11, 23.1],
- [13, 16.1]
- ],
- [
- [12, 32.2],
- [14, 38.5],
- [15, 38.5],
- [13, 32.2],
- [12, 32.2]
- ],
- [
- [16, 47.6],
- [12, 53.2],
- [13, 53.2],
- [18, 47.6],
- [16, 47.6]
- ],
- [
- [6, 64.4],
- [8, 70],
- [9, 70],
- [8, 64.4],
- [6, 64.4]
- ],
- [
- [23, 82.6],
- [29, 79.8],
- [30, 79.8],
- [25, 82.6],
- [23, 82.6]
- ],
- [
- [37, 70.7],
- [43, 62.3],
- [44, 62.3],
- [39, 70.7],
- [37, 70.7]
- ],
- [
- [48, 51.1],
- [51, 45.5],
- [53, 45.5],
- [50, 51.1],
- [48, 51.1]
- ],
- [
- [51, 35],
- [51, 28.7],
- [53, 28.7],
- [53, 35],
- [51, 35]
- ],
- [
- [52, 22.4],
- [55, 17.5],
- [56, 17.5],
- [53, 22.4],
- [52, 22.4]
- ],
- [
- [58, 12.6],
- [62, 7],
- [63, 7],
- [60, 12.6],
- [58, 12.6]
- ],
- [
- [0, 3.5],
- [0, 93.1],
- [64, 93.1],
- [64, 0],
- [63, 0],
- [63, 92.4],
- [1, 92.4],
- [1, 3.5],
- [0, 3.5]
- ]
- ], n = "", a = e[0], o = e[1], r = 0, s = i.length; s > r; r++) {
- n += "M " + ((i[r][0][0] * t + a).toFixed(2) - 0) + " " + ((i[r][0][1] * t + o).toFixed(2) - 0) + " ";
- for(var l = 1, h = i[r].length; h > l; l++) n += "L " + ((i[r][l][0] * t + a).toFixed(2) - 0) + " " + ((i[r][l][1] * t + o).toFixed(2) - 0) + " "
- }
- return n + " Z"
- }
- },
- "新疆": {
- getGeoJson: function(i) {
- e(["./geoJson/xin_jiang_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "西藏": {
- getGeoJson: function(i) {
- e(["./geoJson/xi_zang_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "内蒙古": {
- getGeoJson: function(i) {
- e(["./geoJson/nei_meng_gu_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "青海": {
- getGeoJson: function(i) {
- e(["./geoJson/qing_hai_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "四川": {
- getGeoJson: function(i) {
- e(["./geoJson/si_chuan_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "黑龙江": {
- getGeoJson: function(i) {
- e(["./geoJson/hei_long_jiang_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "甘肃": {
- getGeoJson: function(i) {
- e(["./geoJson/gan_su_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "云南": {
- getGeoJson: function(i) {
- e(["./geoJson/yun_nan_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "广西": {
- getGeoJson: function(i) {
- e(["./geoJson/guang_xi_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "湖南": {
- getGeoJson: function(i) {
- e(["./geoJson/hu_nan_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "陕西": {
- getGeoJson: function(i) {
- e(["./geoJson/shan_xi_1_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "广东": {
- getGeoJson: function(i) {
- e(["./geoJson/guang_dong_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "吉林": {
- getGeoJson: function(i) {
- e(["./geoJson/ji_lin_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "河北": {
- getGeoJson: function(i) {
- e(["./geoJson/he_bei_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "湖北": {
- getGeoJson: function(i) {
- e(["./geoJson/hu_bei_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "贵州": {
- getGeoJson: function(i) {
- e(["./geoJson/gui_zhou_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "山东": {
- getGeoJson: function(i) {
- e(["./geoJson/shan_dong_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "江西": {
- getGeoJson: function(i) {
- e(["./geoJson/jiang_xi_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "河南": {
- getGeoJson: function(i) {
- e(["./geoJson/he_nan_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "辽宁": {
- getGeoJson: function(i) {
- e(["./geoJson/liao_ning_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "山西": {
- getGeoJson: function(i) {
- e(["./geoJson/shan_xi_2_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "安徽": {
- getGeoJson: function(i) {
- e(["./geoJson/an_hui_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "福建": {
- getGeoJson: function(i) {
- e(["./geoJson/fu_jian_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "浙江": {
- getGeoJson: function(i) {
- e(["./geoJson/zhe_jiang_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "江苏": {
- getGeoJson: function(i) {
- e(["./geoJson/jiang_su_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "重庆": {
- getGeoJson: function(i) {
- e(["./geoJson/chong_qing_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "宁夏": {
- getGeoJson: function(i) {
- e(["./geoJson/ning_xia_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "海南": {
- getGeoJson: function(i) {
- e(["./geoJson/hai_nan_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "台湾": {
- getGeoJson: function(i) {
- e(["./geoJson/tai_wan_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "北京": {
- getGeoJson: function(i) {
- e(["./geoJson/bei_jing_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "天津": {
- getGeoJson: function(i) {
- e(["./geoJson/tian_jin_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "上海": {
- getGeoJson: function(i) {
- e(["./geoJson/shang_hai_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "香港": {
- getGeoJson: function(i) {
- e(["./geoJson/xiang_gang_geo"], function(e) {
- i(t(e))
- })
- }
- },
- "澳门": {
- getGeoJson: function(i) {
- e(["./geoJson/ao_men_geo"], function(e) {
- i(t(e))
- })
- }
- }
- };
- return {
- decode: t,
- params: n
- }
- }), i("echarts/util/mapData/textFixed", [], function() {
- return {
- "广东": [0, -10],
- "香港": [10, 10],
- "澳门": [-10, 18],
- "黑龙江": [0, 20],
- "天津": [5, 5],
- "深圳市": [-35, 0],
- "红河哈尼族彝族自治州": [0, 20],
- "楚雄彝族自治州": [-5, 15],
- "石河子市": [-5, 5],
- "五家渠市": [0, -10],
- "昌吉回族自治州": [10, 10],
- "昌江黎族自治县": [0, 20],
- "陵水黎族自治县": [0, 20],
- "东方市": [0, 20],
- "渭南市": [0, 20]
- }
- }), i("echarts/util/mapData/geoCoord", [], function() {
- return {
- Russia: [100, 60],
- "United States of America": [-99, 38]
- }
- }), i("echarts/util/projection/svg", ["require", "zrender/shape/Path"], function(e) {
- function t(e) {
- return parseFloat(e || 0)
- }
- function i(e) {
- for(var i = e.firstChild;
- "svg" != i.nodeName.toLowerCase() || 1 != i.nodeType;) i = i.nextSibling;
- var n = t(i.getAttribute("x")),
- a = t(i.getAttribute("y")),
- o = t(i.getAttribute("width")),
- r = t(i.getAttribute("height"));
- return {
- left: n,
- top: a,
- width: o,
- height: r
- }
- }
- function n(e, t) {
- function i(e) {
- var t = e.tagName;
- if(m[t]) {
- var o = m[t](e, n);
- o && (o.scale = n, o.properties = {
- name: e.getAttribute("name") || ""
- }, o.id = e.id, s(o, e), a.push(o))
- }
- for(var r = e.childNodes, l = 0, h = r.length; h > l; l++) i(r[l])
- }
- var n = [t.scale.x, t.scale.y],
- a = [];
- return i(e), a
- }
- function a(e, t) {
- var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y];
- return [i[0] / e.scale.x, i[1] / e.scale.y]
- }
- function o(e, t) {
- var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y];
- return [i[0] * e.scale.x, i[1] * e.scale.y]
- }
- function r(e) {
- return e.replace(/^\s\s*/, "").replace(/\s\s*$/, "")
- }
- function s(e, t) {
- var i = t.getAttribute("fill"),
- n = t.getAttribute("stroke"),
- a = t.getAttribute("stroke-width"),
- o = t.getAttribute("opacity");
- i && "none" != i ? (e.color = i, n ? (e.brushType = "both", e.strokeColor = n) : e.brushType = "fill") : n && "none" != n && (e.strokeColor = n, e.brushType = "stroke"), a && "none" != a && (e.lineWidth = parseFloat(a)), o && "none" != o && (e.opacity = parseFloat(o))
- }
- function l(e) {
- for(var t = r(e).replace(/,/g, " ").split(/\s+/), i = [], n = 0; n < t.length;) {
- var a = parseFloat(t[n++]),
- o = parseFloat(t[n++]);
- i.push([a, o])
- }
- return i
- }
- var h = e("zrender/shape/Path"),
- m = {
- path: function(e, t) {
- var i = e.getAttribute("d"),
- n = h.prototype.getRect({
- path: i
- });
- return {
- shapeType: "path",
- path: i,
- cp: [(n.x + n.width / 2) * t[0], (n.y + n.height / 2) * t[1]]
- }
- },
- rect: function(e, i) {
- var n = t(e.getAttribute("x")),
- a = t(e.getAttribute("y")),
- o = t(e.getAttribute("width")),
- r = t(e.getAttribute("height"));
- return {
- shapeType: "rectangle",
- x: n,
- y: a,
- width: o,
- height: r,
- cp: [(n + o / 2) * i[0], (a + r / 2) * i[1]]
- }
- },
- line: function(e, i) {
- var n = t(e.getAttribute("x1")),
- a = t(e.getAttribute("y1")),
- o = t(e.getAttribute("x2")),
- r = t(e.getAttribute("y2"));
- return {
- shapeType: "line",
- xStart: n,
- yStart: a,
- xEnd: o,
- yEnd: r,
- cp: [.5 * (n + o) * i[0], .5 * (a + r) * i[1]]
- }
- },
- circle: function(e, i) {
- var n = t(e.getAttribute("cx")),
- a = t(e.getAttribute("cy")),
- o = t(e.getAttribute("r"));
- return {
- shapeType: "circle",
- x: n,
- y: a,
- r: o,
- cp: [n * i[0], a * i[1]]
- }
- },
- ellipse: function(e, t) {
- var i = parseFloat(e.getAttribute("cx") || 0),
- n = parseFloat(e.getAttribute("cy") || 0),
- a = parseFloat(e.getAttribute("rx") || 0),
- o = parseFloat(e.getAttribute("ry") || 0);
- return {
- shapeType: "ellipse",
- x: i,
- y: n,
- a: a,
- b: o,
- cp: [i * t[0], n * t[1]]
- }
- },
- polygon: function(e, t) {
- var i = e.getAttribute("points"),
- n = [1 / 0, 1 / 0],
- a = [-(1 / 0), -(1 / 0)];
- if(i) {
- i = l(i);
- for(var o = 0; o < i.length; o++) {
- var r = i[o];
- n[0] = Math.min(r[0], n[0]), n[1] = Math.min(r[1], n[1]), a[0] = Math.max(r[0], a[0]), a[1] = Math.max(r[1], a[1])
- }
- return {
- shapeType: "polygon",
- pointList: i,
- cp: [(n[0] + a[0]) / 2 * t[0], (n[1] + a[1]) / 2 * t[0]]
- }
- }
- },
- polyline: function(e, t) {
- var i = m.polygon(e, t);
- return i
- }
- };
- return {
- getBbox: i,
- geoJson2Path: n,
- pos2geo: a,
- geo2pos: o
- }
- }), i("echarts/util/projection/normal", [], function() {
- function e(e, i) {
- return i = i || {}, e.srcSize || t(e, i), e.srcSize
- }
- function t(e, t) {
- t = t || {}, r.xmin = 360, r.xmax = -360, r.ymin = 180, r.ymax = -180;
- for(var i, n, a = e.features, o = 0, s = a.length; s > o; o++)
- if(n = a[o], !n.properties.name || !t[n.properties.name]) switch(n.type) {
- case "Feature":
- r[n.geometry.type](n.geometry.coordinates);
- break;
- case "GeometryCollection":
- i = n.geometries;
- for(var l = 0, h = i.length; h > l; l++) r[i[l].type](i[l].coordinates)
- }
- return e.srcSize = {
- left: 1 * r.xmin.toFixed(4),
- top: 1 * r.ymin.toFixed(4),
- width: 1 * (r.xmax - r.xmin).toFixed(4),
- height: 1 * (r.ymax - r.ymin).toFixed(4)
- }, e
- }
- function i(e, i, n) {
- function a(e, t) {
- c = e.type, u = e.coordinates, o._bbox = {
- xmin: 360,
- xmax: -360,
- ymin: 180,
- ymax: -180
- }, y = o[c](u), m.push({
- path: y,
- cp: o.makePoint(t.properties.cp ? t.properties.cp : [(o._bbox.xmin + o._bbox.xmax) / 2, (o._bbox.ymin + o._bbox.ymax) / 2]),
- properties: t.properties,
- id: t.id
- })
- }
- n = n || {}, o.scale = null, o.offset = null, e.srcSize || t(e, n), i.offset = {
- x: e.srcSize.left,
- y: e.srcSize.top,
- left: i.OffsetLeft || 0,
- top: i.OffsetTop || 0
- }, o.scale = i.scale, o.offset = i.offset;
- for(var r, s, l, h = e.features, m = [], V = 0, U = h.length; U > V; V++)
- if(l = h[V], !l.properties.name || !n[l.properties.name])
- if("Feature" == l.type) a(l.geometry, l);
- else if("GeometryCollection" == l.type) {
- r = l.geometries;
- for(var d = 0, p = r.length; p > d; d++) s = r[d], a(s, s)
- }
- var c, u, y;
- return m
- }
- function n(e, t) {
- var i, n;
- return t instanceof Array ? (i = 1 * t[0], n = 1 * t[1]) : (i = 1 * t.x, n = 1 * t.y), i = i / e.scale.x + e.offset.x - 168.5, i = i > 180 ? i - 360 : i, n = 90 - (n / e.scale.y + e.offset.y), [i, n]
- }
- function a(e, t) {
- return o.offset = e.offset, o.scale = e.scale, o.makePoint(t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y])
- }
- var o = {
- formatPoint: function(e) {
- return [(e[0] < -168.5 && e[1] > 63.8 ? e[0] + 360 : e[0]) + 168.5, 90 - e[1]]
- },
- makePoint: function(e) {
- var t = this,
- i = t.formatPoint(e);
- t._bbox.xmin > e[0] && (t._bbox.xmin = e[0]), t._bbox.xmax < e[0] && (t._bbox.xmax = e[0]), t._bbox.ymin > e[1] && (t._bbox.ymin = e[1]), t._bbox.ymax < e[1] && (t._bbox.ymax = e[1]);
- var n = (i[0] - o.offset.x) * o.scale.x + o.offset.left,
- a = (i[1] - o.offset.y) * o.scale.y + o.offset.top;
- return [n, a]
- },
- Point: function(e) {
- return e = this.makePoint(e), e.join(",")
- },
- LineString: function(e) {
- for(var t, i = "", n = 0, a = e.length; a > n; n++) t = o.makePoint(e[n]), i = 0 === n ? "M" + t.join(",") : i + "L" + t.join(",");
- return i
- },
- Polygon: function(e) {
- for(var t = "", i = 0, n = e.length; n > i; i++) t = t + o.LineString(e[i]) + "z";
- return t
- },
- MultiPoint: function(e) {
- for(var t = [], i = 0, n = e.length; n > i; i++) t.push(o.Point(e[i]));
- return t
- },
- MultiLineString: function(e) {
- for(var t = "", i = 0, n = e.length; n > i; i++) t += o.LineString(e[i]);
- return t
- },
- MultiPolygon: function(e) {
- for(var t = "", i = 0, n = e.length; n > i; i++) t += o.Polygon(e[i]);
- return t
- }
- },
- r = {
- formatPoint: o.formatPoint,
- makePoint: function(e) {
- var t = this,
- i = t.formatPoint(e),
- n = i[0],
- a = i[1];
- t.xmin > n && (t.xmin = n), t.xmax < n && (t.xmax = n), t.ymin > a && (t.ymin = a), t.ymax < a && (t.ymax = a)
- },
- Point: function(e) {
- this.makePoint(e)
- },
- LineString: function(e) {
- for(var t = 0, i = e.length; i > t; t++) this.makePoint(e[t])
- },
- Polygon: function(e) {
- for(var t = 0, i = e.length; i > t; t++) this.LineString(e[t])
- },
- MultiPoint: function(e) {
- for(var t = 0, i = e.length; i > t; t++) this.Point(e[t])
- },
- MultiLineString: function(e) {
- for(var t = 0, i = e.length; i > t; t++) this.LineString(e[t])
- },
- MultiPolygon: function(e) {
- for(var t = 0, i = e.length; i > t; t++) this.Polygon(e[t])
- }
- };
- return {
- getBbox: e,
- geoJson2Path: i,
- pos2geo: n,
- geo2pos: a
- }
- }), i("echarts/util/mapData/geoJson/an_hui_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "3415",
- properties: {
- name: "六安市",
- cp: [116.3123, 31.8329],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nJUXUV°UÑnU@mlLVaVln@@bn@VU@xlb@lLnKlVIJUVxnI@lVL@b°VX@bxnVVUnVVnU@kX@VwV@al¥UUnUWa@@wĸULU¥lKUa@aUI@alLVaU¯anWkUKm@XV@VaXlW@aU_UWVUI¯@ma¯W¯I@UU@WWU@U@@UU@VkV@@WUUm@UaU@lK@IUKL@KWmXUWaXI@@a@a@U@U@KV¥lwk°b²JVIVKlV@UXlaUl`UVLVVVUJU@Lnm@_VK@KUIW@J@Xk@WW@UmmXmWk@kK@aUUVmmkUwUmWL@WmU@UJmUULkKWakLWVkIlwULW@X°lUJ@°ULWVwmJ@bmb¯Vkm@@WkWm¯wL@lkXWmXym¯UImJUbkV@Vn¯@V@lUb@mk@maUxmlUbULWn@JLmKUkWKkwUKbmXWxkVUKmLkVV@JUUWL@xkJUUV@X@VVlUbVX@xk¤x¼xWxnnn@Þ¼JVb°aVn@mlnXUJlbVlkz@lUlXJmxVxXnWxXÈWlU@UxU@VX@xUL@UÆmLnV@lWXk@@JlbXblnlJ"],
- encodeOffsets: [
- [118710, 33351]
- ]
- }
- }, {
- type: "Feature",
- id: "3408",
- properties: {
- name: "安庆市",
- cp: [116.7517, 30.5255],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n°znWXlW@kK°xXnl@Xn@l°Una@anIxXUVK@¯VIkW¯X@VKxklJXUlKXblLVKnVVIV@Xn@XKVnVxlnnUlmV@²óUkVlWbln@VVVIn@lw@WVIXblV@ÈxaUaVIVVnKVLKln@b²K@»U£ÑķġÝÅbKa@Im@Û@kWÓkkmKÅnóJUÅ£W@wĕ@wĉţ¯¯UkK±l¯U¥UÑkÝUķ»Ý¥¯JIUVbUl¯ÈV¼VJU¼Vb@bkLUl@VJ@bUXÇ@lkVmXmKkLVxVL@VkVVVlzWkbmLUUUbVbUVlÒnJlUnLllUL@bUVxlLXVƦÈVU¦WJ"],
- encodeOffsets: [
- [118834, 31759]
- ]
- }
- }, {
- type: "Feature",
- id: "3411",
- properties: {
- name: "滁州市",
- cp: [118.1909, 32.536],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@`nnl@xK@X°KXVIXVlbXVWnXlL@È»LVan@VJêVVn@X@laÞbVayn@_xnWVXnWl@VnUVkI@lnXKVLVV@V@kW@LlVô@J@bVnnKnkVa@»lç@nwKmaUUUVÑ@nmWXalI@alVn@VwUaVU@nlaôJnUVVXlJaXXVK@UV@VWx@nXVWXVUlLUbVULVVnUVbUbVb@@aKÆnnKVK@U@UU@@a@V°¯ÈJVIlķ@aaUaVKU_@mkxUI@aUlyU@@wkKWmUbUnUVWbkJW_J@bn@Vm@@KULk@V@@bVbÅm@LW@UVVbkK@UkKWL@VULUKWIUJUbkK@_WVXUJka@XVa@ky@aVIUUW@@mUlLKWÑUKVan@UkVmmIXKaVaUwVU@UmykU¯@±UUL@WUIVUU@KkIWaaU@kUUaÇUó»mKk¯@y@kWK@bkI¯`mnl¯XWlkVUzUJlbUbVJl@nnm@VULV`XnWÆbmUUnJmUknJ¯km@yk@kUxL@VUbmnn¤lX@`z@JmaULUVl@Xn@xllkXWaaW@UVmUb@mVXWxXbWbUÒnVVnVVUL"],
- encodeOffsets: [
- [120004, 33520]
- ]
- }
- }, {
- type: "Feature",
- id: "3418",
- properties: {
- name: "宣城市",
- cp: [118.8062, 30.6244],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vb@XLJXxlIXxlVlV@I²¤nlUnVU@VULWVUJ@Lnb@lV@UnV@@VVVlLnbnJUVkUUVWn@@anUVnVJVIV@@nUJVbUb@VUbVK@bn@VbnIlxkllXVlXKWUXUlL°¤UVVb@bUlkXWxXz@IlaUlnUlJVInVÆJULVUnVK°@VnlVnxV@XLlK@wVL@KnUlJXUbnKVLXlUw@VWlLXKm@@a@VLnmlIVVnKn@kVaVlwk@@a@k@VIUa@maUa@wna@kmWUUmVUIVÇ@aKmakUJ@InmUUaVaklX@Vk@m@VU@wnK@alKVUkUkKbmUkm@U£WVk@@UÝbbaÇx@b@WVUa¯@wVwUUV@VwnK@KWaÅ@KIUyUI@WmXóUbWaKm@km@IUyIUaWKx@zUKUL@llVUnkLVVkJWX@VUKUVIkVWakb@VWb@n@JkXUlmL@xkL@`VxLUÈUJ@Vm@@bmIUlUL@VUVVbknm@mKUwKVÈ@J@LV±kkJUIl"],
- encodeOffsets: [
- [120803, 31247]
- ]
- }
- }, {
- type: "Feature",
- id: "3412",
- properties: {
- name: "阜阳市",
- cp: [115.7629, 32.9919],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vn@ak°a±@¥@UUI@aUmlwUUxb@¥XU@mmI@a@Kn@@_W@@WI@mUVVXUl@XaV@K@I@aLX@aVI°K@KVLUUwyXkK@kKÆbXnlK@k@aJlU@w@U@»@aXKWn_JXkVKn@°LlKXW@¯U@aUK@kmJUwVIUJkmLK@kka@wUVm@@am@UkUbkK@nmVÒ¯VUWVVmIULk@ma@kkK@nUbUamU`UUVUkKVkkW@@bkmnmUXVKXVL@VbUmbVXJ@nmKÅI@KWKUXVJUL@VUKUX@KUKWL@LUJmaXXm@kVVV@L@VUL@VlK@L@V@LUK@VUb@UUU@°@nVxU`Lkn@`@XVJ@XVmk@UKmV¯LVVn±Wm@Ub@JlLUl@VLk@lmVVn@bnV@V°IVaVJXI°K°V@XXVlVVUnKVlUbWXnV@bV`U@@m@@@nxmn@bXVlL@¤nbUl¦VVUnJVUVl@@bÞL"],
- encodeOffsets: [
- [118418, 34392]
- ]
- }
- }, {
- type: "Feature",
- id: "3413",
- properties: {
- name: "宿州市",
- cp: [117.5208, 33.6841],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@UWU@bkW@aWU@aUIkWVlLXblVIUVV@mn@V_n@VaUK@I@UaanJVU@lVUVnnKVVlaUaI@wnKLnll@nVlk@wVKXkl@@bbUJ@VU@UUUyVk@aVUXwlWXXWU¹@aU@WUI@mlUnJ@Il@aXbV@VKl@XxVL@WIJlb@al@IUUm@@aVK@¥¯@mUķ¯bWk£Vm@akm@VaÅ@UVWa@UJWkJUbWbU@UlXk@amV@K¯nk@lU@Uxmz@bU`ÇbUbÅVm£U@Wwx@akLUK@UlakwUJWVkLmaUal@n_mVUnKVUUmÅXWa@kJmx@XUJ@bVLXxl@VVUVVUbkLWbU@@lUVVVVXK@XkJ@nU@@bV@VxUVlbU@xXLWn@UxVbVĊV@b@XV`mnkJ@kUKmbaU@VbnbÆx@XU@@`k@@bl@@bkL@WakXWaU@Vmkx@XWW@@wUUUbJU¯V@¯ÞU@WxXlL@bkb@lVlnbJW@kkU@mbkaWJIVlmz¯`UnU@mb@@`@bkVlnV@b@V@aVxn@VxKXnl@nbVKbVK@a_V@Vw@WLlwnK@UmIU@VW@UÈ@lKnalw@@V°@aUmlUUw@V@@UXK"],
- encodeOffsets: [
- [119836, 35061]
- ]
- }
- }, {
- type: "Feature",
- id: "3410",
- properties: {
- name: "黄山市",
- cp: [118.0481, 29.9542],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lXnlWX@VUJVnUJVzXJVxkVJlI²lU@K@IUÇLVxnLn@lmUaVU@UVKVknJ@an@@UVIVÇKUw@_lK@wnKVklW@I@mXa@UlaXblUJVUVL@UXWlIUUlKVmkU@kVKVL@ywXLVbJVz@Jln@nLXbVaônW@la@UVWUa@@a@mk@WIk@VwUa¯¥m@UUVK@ImK@aX£kKÅVa_@±akXWWLnU@@a@¯mK@LJUWwUVVmbXX@lWLn`mzUJUbLk@makVWmkXambkKkna@ab@U@Unm@WV@VbUbUJWIk@@lmL@°UVUVmn@@kmWkb@x_m@@aU@b@JlUzlWxXn@b²@l`IVlUlL@VKnVbUl@VlIn@@bbVWUk@@bX@Valb@bnb°Vn@xVKlbVnV@VxL@ln@UXVVL"],
- encodeOffsets: [
- [120747, 31095]
- ]
- }
- }, {
- type: "Feature",
- id: "3414",
- properties: {
- name: "巢湖市",
- cp: [117.7734, 31.4978],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VV@blL@XlWnnn@VXXl@@WIX@VJ@LxŎxln@bXJVblX@VVbUVn@VbUVlb@LnJVbVLVXLÒVLÒVbVIVylUXk°Wknm°_lJ@aXL@lz°@lnLô¼VÈVUUaVKU@WW@@UUa@knmVLlaV@a@kak±@UmwkKmkljÝUUkL@mlIVmnÝWkkUÝ@KƑĉa@»mma@mX¤¯Uw@@UU@bU±±L@akmLUKmLUUUJVbbÇw@kUWaUJ@Xkxm@UJUUm@kakXUVl±ôU@kn"],
- encodeOffsets: [
- [119847, 32007]
- ]
- }
- }, {
- type: "Feature",
- id: "3416",
- properties: {
- name: "亳州市",
- cp: [116.1914, 33.4698],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lU@Un@@anUlw@KVmUwlaX_lKna@KU@@kWKUU@ankWXK@@V²VVIÈU@al@VaÈamK@wU@klaUV@XVUU»WUUbkmUkVmk@aÈw@mWU@VkIkVWKUÑķXȭºU¯l@kkLWmÅaL@lLWlzVxVUK@L¯LUJ@bWK@b@JLU@Wbk@WVUUV@nJ@XX@@`m@@L@bnJ@nWV@¦awVVkxVn@bVJ@V¦@²¯blb@mUU@¼¦XbUV`@nnxUxWLkUkVWKkV@XV@@VVL@VX@lVV@L@blL@`L@xXKVL@VnU@lwnU@ml@XnV@@UVW°LnalUI@aUK@aa@UkXW@I@mWL@UXK@UVW@U@@kWn@@V@XblaVxL@bVKXbIlJ"],
- encodeOffsets: [
- [119183, 34594]
- ]
- }
- }, {
- type: "Feature",
- id: "3417",
- properties: {
- name: "池州市",
- cp: [117.3889, 30.2014],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@V°°ĊŤ@xĖ@xXƤVôIÆmnLllXÔ@lÜn@@JbLÆaĢÞĸ°VVUUKVanK@UV@VLVVnln@xnklxXamk@WV@Xa@naVkKlk@mkUWwkJWwIWK@UaUwWIUyVIUmVI@UXWmkkWKUUVWm@@kKw@UUUmkaULwm@¯Uma@akaUbW@@a@VlUXa@am@kJ@UVkUamL@UkKVUkJk_±@a@WmXwÇkkaVaUa±wV@VkwnyUaW@UU¯amLk@m@kmmU¯K@L@lUX¯WlkXVbbVUL@J@LVKnlJXnlb@`nXlalV@bnL@Vnb¼@lXbWlkLK@zUJmIUxUVUVmX", "@@llUL@VlxL@a@UwXa¯@"],
- encodeOffsets: [
- [119543, 30781],
- [120061, 31152]
- ]
- }
- }, {
- type: "Feature",
- id: "3401",
- properties: {
- name: "合肥市",
- cp: [117.29, 32.0581],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@LxVĊLÞkVlVVXaWaXwWnU@anVVUX@bXblWkk@wWmk@VUVKnb@Iy@_kWm£nmVa@UKwlVl@zn@°lIlmnVIVmnVaXÅWmU_VK@Unmmk@UIVakaaUÑUKÑWKUUKUamI@KkaVUUam@VUUa@UkWUaWI@akmōwwUL@`mn@KVIUVUUUKVk_VkbW@VkUULUJ±I¯alkxU¦@L@V@V@b@b@WJXbWVXn@LKVL@JkLV@Vbn@VV@XU@UlV@@VV@V@XXV@@VJ°°Xnb°@JUVVXV`@bkXWUbU@Wn@VLXlm°bVUbkK@bVJ@bVbkLV¦KķV@x@XbmVVVk¦"],
- encodeOffsets: [
- [119678, 33323]
- ]
- }
- }, {
- type: "Feature",
- id: "3403",
- properties: {
- name: "蚌埠市",
- cp: [117.4109, 33.1073],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VÒXLlUlJ@UXV@nÇx@bnlUVllnVaXVV¼UVWU@V²wVV@Vl@VnwlI@XbÆWVnUVmLUVnm`k@VbnblKXUVIlxkb@VVLlK@bwXxV@n¤ÆUVaÈaV_@anyVwV@kl@°m@LnUbl@WVkV@XaaVIXlIV@XbVUÆ@XKWwUkmW@_UmnIlJXkWKXmV@w@_XV@Kl@kU@KlX@@UUUUKWLm@klJVUUmk@mXUWmXw`m@zUbÝakbW@m@UUéUIm@UbKǼ@kKWXmWUkaWUJWU¯L@WLwk@mm@_ÅlUVkmWUnV@VWLUbbƑĬ¯l"],
- encodeOffsets: [
- [119543, 33722]
- ]
- }
- }, {
- type: "Feature",
- id: "3402",
- properties: {
- name: "芜湖市",
- cp: [118.3557, 31.0858],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bVaV@XllLXU°lL@V@VUnVl¯IkVUVU@@b@lUXUWmbn@¼bƒĊLÞ@lVXlmÞUnkJ@nlKVVÞXklWVaVI@aUKn»lL@Kn@XXwlm@mn°@V@WywXlWVk@aUaVU¯£kKWVXVWLUkkWlkkwmJUam@@aULVa@UVaUaVI@m@UUJUIUmmV@bm@UXVVUlVmImakKUU@UU@VmU@@kma@KVIXUVK@UVmUkVm±£@JkU@nlkLUlmb@WbU@@XnlWb"],
- encodeOffsets: [
- [120814, 31585]
- ]
- }
- }, {
- type: "Feature",
- id: "3406",
- properties: {
- name: "淮北市",
- cp: [116.6968, 33.6896],
- childNum: 3
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@lnnK@¦n@@VV@@VV@nIVV@VW²a@b@bVnUVVV@Vz@l@°UVIVaVV@x@XX@WlwUnV@XblWb@XlK@a@k@al@@_V@@WÅwmaUaV@bnaVL@llInmU_@W@aUUĉUaVwm@XWK@wVkaVUUwU@@aV@@mlI@WLWUUUVU@kV@XalKVaUVUUUk@WwUK@aVI@WUk@@UUU±xkb@lV@xnLÇbUbk@@bÇVUJ±U@U@WLXml@bVVXL@lV@@LmbkLW`kbVxUn@LkxmV@bm@@VkV"],
- ["@@VVVkV@¥@UV@U@VUUJkWakKUlXVJ@bXV@blX@aXV@V"]
- ],
- encodeOffsets: [
- [
- [119183, 34594]
- ],
- [
- [119836, 35061]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "3404",
- properties: {
- name: "淮南市",
- cp: [116.7847, 32.7722],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°kƒīaVaXK@UUVmnXUlVÆkVKUUUmmUÑkUUÝlĉKUwKbU@UxW@@lmVUUVmUUmwaWkL¯K@mULWlIm`XWL@b@¼@V@xkVI@b@l@lkV°Ȯ¹ĸW"],
- encodeOffsets: [
- [119543, 33722]
- ]
- }
- }, {
- type: "Feature",
- id: "3405",
- properties: {
- name: "马鞍山市",
- cp: [118.6304, 31.5363],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@NJnllLnxV@laXLVKmaaXbVIbVKVVVIVyn@n_W@@UnJlUVVXlLnaUWlV@VVIXW@_W@XK@K@UVUUwVamÑXmmwwKUnUKçU@JU¯@m@nknWxWm@@LkKm¼VL@bUJUbkXWl"],
- encodeOffsets: [
- [121219, 32288]
- ]
- }
- }, {
- type: "Feature",
- id: "3407",
- properties: {
- name: "铜陵市",
- cp: [117.9382, 30.9375],
- childNum: 3
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ÒV¤@¼V²@aVV@@x°V£nW@nbnaVXVW@k@aV@VUUl°JUkVm@U@UkK¯WVkKWkU@Ubakwmlwm@kUmUUKU@@VmLUbVLUV¯U"],
- ["@@LllUL@VlxL@a@UwXamK"]
- ],
- encodeOffsets: [
- [
- [120522, 31529]
- ],
- [
- [120094, 31146]
- ]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/ao_men_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "8200",
- properties: {
- name: "澳门",
- cp: [113.5715, 22.1583],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@HQFMDIDGBI@E@EEKEGCEIGGEKEMGSEU@CBEDAJAP@F@LBT@JCHMPOdADCFADAB@LFLDFFP@DAB@@AF@D@B@@FBD@FADHBBHAD@FAJ@JEDCJI`gFIJW"],
- encodeOffsets: [
- [116325, 22699]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/bei_jing_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "110228",
- properties: {
- name: "密云县",
- cp: [117.0923, 40.5121],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@vIHZDZQtDLNMXIbHRCXXITbJ@H`LGPRDDJNCLHTOCWFGvGBUJMKGFO^IHWXITQCIY^AXGfRDXF`DJOLB~G\\DZIHHpErUVMhHb]\\MBVF@FTP`@zTbD\\@~M\\K`H^EVODWICAakAQXoIcCOCIgGYNWFWNGGKKGaJEGMEIKYJUT_J_Go@_SyQaSFMEGTcYOQLIIi@EKAUPCV[EEXQCW|aMUMAaYCYNIDGGACIMGGSKDQGaF_C[GaB@GOIiOKAYLmI@CN]F[SWWAcKKI@HMUimEKbeYQYISNUOcBKPIFBNgvDPGZYFSf]CMSIWGEUFgDIQ[MeDMJS@RR@LphFPCHaBAJKF@J]IBJO@HlO@@RKAMPJHCNDJTHFP@ZGNANBRFH@J_fM^ONJNF\\VTDJHDON@XRND\\XRCPVETCLBVKDFJINHRGPRV@\\CLJN@VbXbLVT"],
- encodeOffsets: [
- [119561, 41684]
- ]
- }
- }, {
- type: "Feature",
- id: "110116",
- properties: {
- name: "怀柔区",
- cp: [116.6377, 40.6219],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@JHTVHXCHPfnDJGHNDJSB[JSBGVSAOH@PMPuDEHHXZN@PHF@ZLJ@LHVYJA\\OFWP]BMtMBSRGV[JeVAPQVIFENMD¡@^NV\\JH@NNL@NM\\kTQ\\I^FNIpBHGTBFFAZQfKDIXQTLXFXNNVMVHRGpCFLlRLEVBBH`IVO\\G`RDPAXLXBXORHZEHTDLLN@VGTMrQNFPeASKG@GMOAKBYMK@GTUHUXSHMVDNMOUEOZMJML@^KRACMZEZMRQLUHE@OFENPR@DI\\ChMHIDG\\GJMDWHCKGMDCIQCHO_K@GaIJSWWQDaGWJMNCKRsCYGYuJUSaKaW@UIMDK@[QUHOGQJMEILCAUDKFSOUQD[WMCQ@WPMGCCIUSE[IMPMN]`e@IEGAQBMHM@YEOSGCIDMIGNOLB@QP@GkP@AI^J@ILEBIbADGEOog@KQQWSekWQQUOFKZLF@PUNmIaHIUeBCTSHENcJa@_IWSaGu`GLSBKJQFOXGDXVQVOBIHcDSJWBEFGTMH[^mLaXcHiKElTRKtFXZ`MHMPCNRDxZB\\ICIHK@KHbIVFZ@BPnGTGbDXRDJaZKRiGEFSFEJhjFNZFjn"],
- encodeOffsets: [
- [119314, 41552]
- ]
- }
- }, {
- type: "Feature",
- id: "110111",
- properties: {
- name: "房山区",
- cp: [115.8453, 39.7163],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@h@bl@HRJDZ``TA\\VVD^H`\\pF\\J`JGv@ZO\\GPSTEjPTR`FnEbDTDHEhLFMTK@ETSPULKEI@OVISKSJACEQNQbVIXGDIN@dMB[IIBcN]ZHNLP@XOWCFWCNRHTpATD@^NVNLED@Rh@jCEF}E[OOHUEW]W@QGGDIQSH_MmFmCUT_K]i@MHCMWFCFE{BMHMPOHKS]CFNGBELDH_@BcAKOACESAOBELaXAROB@FODMEDWJAG[aE@UM@DImEWJMC@OeCA{aE[@{L@MINUCQXKfUJORCHqJBF@TCXWNQX]M[EAJO@@KMBQJIC]EWMCCUBEBFHKDOTMBGNGF]MWDBRDdMDQVyE@LPVHDCP@JVVMTG~HNSH[CmRUvHPHBbA\\PTNRC\\YNJPRARPJDDR"],
- encodeOffsets: [
- [118343, 40770]
- ]
- }
- }, {
- type: "Feature",
- id: "110229",
- properties: {
- name: "延庆县",
- cp: [116.1543, 40.5286],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@^AXOPEB[ZIGU@KKI@YGE@OYMGWFGvCNO@OPGTBHUTA\\ITACIGMIHmCOeDGGWSUIGimYEEMgiFITEFEjHLQbYCIWQaCSHmHAOY@UEaJG@LGLDJ[JAwYQCDMNONGY_EWLsSQFkMO[NWAIGaIYL@HMBOKiOQDWEUDMQSF_QIUBWdg@[NaAKQ@M]OQ@WhgLUMMFYQDIRCEUZOOCIOJ[KIUMKL@HIDKVEBM`HJAJSJUdBLGNEdMBMO[BYEWJSNKNaD]PE\\SjOT_RQVEZPpNQXfNA~lNG`@PNLp¼RFLfbdKbATUh@FSNWjGFZVLFHVA~X¨PPROfFJbNJPLFbENJPrEFNPFRHDDJdENJLVEPBJTVTHGHFRFH@PXP\\ORQHW\\BjWFDERLPPBbB\\E`B\\D\\L`@F]FCnJ^AZL"],
- encodeOffsets: [
- [119262, 41751]
- ]
- }
- }, {
- type: "Feature",
- id: "110109",
- properties: {
- name: "门头沟区",
- cp: [115.8, 39.9957],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@V@XMnGPY²JQNEhH\\AZMPDVTTDZCPiJkHSHCjIdFtEHITCNITQEKUAMCEIKCECABYESKFWAKBEIIHABGDCKCAIHMHALKEI\\CFIBILIJQZS]BBEECS@E@@C]COKI@CABAAEEDMGCH]A[M@CJWHJaUMRFRBDTITLUJ@PFJKLOVST@FSLENgKGFSCaCmF_ESQiOSFOT[HYPu@IH_[IoE_[]GUC[USB__CYQI@Gakg@qZeHQNMNV\\FVLPgJAFJPRLCH[XcPELUT[JiV_EELFTADBXRTRLJC@fHXHHbPd`fR@NfT`@TLplHMpCEJHJBVLF@JTVnG^KXDXHNVGRLRXFJVdDHSNWLGfEzA"],
- encodeOffsets: [
- [118635, 41113]
- ]
- }
- }, {
- type: "Feature",
- id: "110114",
- properties: {
- name: "昌平区",
- cp: [116.1777, 40.2134],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VNLJI\\JPPDYPFVQDCJZRNEVNhKXgR@^P@NLRbB\\Mh@XcVARJE`RTCNFVXRCjPPLNA@GZKbJJHXB\\MNPjLdGbWnK\\]NGHSFEXATIdCJGPARUWUHCPWRELITAHKv_E@iYCaW_BQ\\Y@QIO@QDCIGZCEMWGFMFAFgHEDOCSqKCCFGAMKEAC@ODGCGs@WH@KQA@EE@CE@GEA@EH@GGUEEJEAYD@JM@@DAA@FHD@FTJEHUC@JUBKCKG@G[CIIQReAYhO@OXGDO@@FF@IHJFCPEBACBIAAKDOABXARHPNEHGbQAAKQFGIAM[C@WHKaGiCEGOAHUKCIokSCUSOCYN[BgGMFIR±OZmHWNU@ShbbXDHVXXGJ^lZ@PZ\\Nb@\\FHJAD"],
- encodeOffsets: [
- [118750, 41232]
- ]
- }
- }, {
- type: "Feature",
- id: "110115",
- properties: {
- name: "大兴区",
- cp: [116.4716, 39.6352],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@F\\E~DFN@BDFEpHFCHBBEGCDCJBHUDSBB@ELCPbF@B\\J@BJVAFJ\\ADKTCBGECFMT@BMN@@FH@DaNBEnvB@FPBATK@FHEFIAKFBFL@@PKBFJHC@FXBRAFCDMPDTOL@JIVFDHH@DDH@BGRFCDLD@N^@@CNA@KNOAEBCECFEGCFGMGFIPMOEJOLBADBBHGG@GCHIECY@INC@DMGS\\AIOZAAEYA@GT@KKMBEETCGMVINFxA@MJADB@FlA@HJA@NND@DFA@DVAZBBOFKH_JA@K^GBC@EFEG@gAENMXKJigC@IbSJMqGOP£RGSMGE@kbQFDPEFiBSGGSBK]I{CDWCIDOic[C_G@SuSO@EWKCO@MNY@\\uZOPENQD[LKESSKGBKEG@EJGAGHoH¥CqhifeJkX_XFFGHFNEDFPENKHM^IFIVL^S`DVEnNnG`RTCJHH@R^XFXGVPP"],
- encodeOffsets: [
- [119042, 40704]
- ]
- }
- }, {
- type: "Feature",
- id: "110113",
- properties: {
- name: "顺义区",
- cp: [116.7242, 40.1619],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@EhEBENXHFNYDJHCD@RJP@R[ZARX`DbjZF@bHXT`Jb@dIFMTGDSfAJVbGnJVM@OKELYPERVXRflXTT@NIfC\\NJRhCVEHFJXNT^DTeZEHYCOhuAMJELOdAVPTMOWBWNMNEJgl]@WGUFIC[T{EEDEHGCIGMI@SECUQI[D{A{GQESPUH]CsiMCmHUeoHENcAaDGCMDGMQCACCBaCGLMAHB@DIEQLOAAEEJ@CW@CDINGAAGKQOCgV@LG@BEGDKNeREFBNCFIDOPKD[@YRW@GFWDAFE@EHDDrLDTCPGF", "@@KrJEH[\\B@FF@CHFBHUNAJKADGECBCMAG^E@EbI@BEGP"],
- encodeOffsets: [
- [119283, 41084],
- [119377, 41046]
- ]
- }
- }, {
- type: "Feature",
- id: "110117",
- properties: {
- name: "平谷区",
- cp: [117.1706, 40.2052],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ZJZRafFLjnVGNJ@LLBdXX\\T^EDMJ@nZKLBjPPJ@HbA\\H`DbERHLCFK^BZaFWXQLAGMHa\\OLO@SBIpBdCLVQfElO@GSAKEDQTC@GEBKG@ORIJBDAPDFA@CaOq@GGQAAEJK@KMUGAAGEAa@MGMBGCGSIIW@WSUCMDOJeWOM@IUF{WMWaDIMgIoRoCOKeEOEAG_I[cg@wLIFENQFDVTFJ@HNDJGHCFFFS|D\\EJHV@Xk^IhMFMNAXPX"],
- encodeOffsets: [
- [119748, 41190]
- ]
- }
- }, {
- type: "Feature",
- id: "110112",
- properties: {
- name: "通州区",
- cp: [116.7297, 39.8131],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@FDAJTGDNDCTDDEDBBE@DT@@EHCDGJ@EIZ@@FDBR@ATFBBVFFE@@HNA\\VE@CLIFNJFNJBCP]A@LJFA@HJEDD\\C@DBCHLAEPF@@DH@APHAERDF\\GIxDTM@CFLBBFJ@CNUPMHECGDBF]BMFPDLRBHHBJMDCX@@DFIBFPBRKJF@CGANBHKbDDABDRDHNNCHDbCdBFMpGHiOYMefKJMC}HWAUNW\\NNBNAkNU|]HMTMN@MZBLFFF@RIRUTBMFIEGaAGGAOIIUGTSFcYKS@MSLYPKRUBU]EWDOI]CKGASgW@MTWKIMCS@uMAKKADMECGAKVUTSDy@IjWLMNBF@hHEF@FAD]H@LIBG`ELAPYAUB@CEB@CMC@MIB@GkB@ECAIB@NwBMEUJHNSDFFNALLS@@HZBBFYBJP[BHTCND@JMZ@FDGJHDH@GHAABCKAIPPFONEJNHEHHDEFFDADBFMP@L"],
- encodeOffsets: [
- [119329, 40782]
- ]
- }
- }, {
- type: "Feature",
- id: "110105",
- properties: {
- name: "朝阳区",
- cp: [116.4977, 39.949],
- childNum: 2
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@bFGHBHFBFIVFHHG@@FFB@HDFF@@FRB@LXGt@DHCH@PBDLFBNF@BEXCHEX@ZQ\\@LCPOJCDEAMFEfQLMHCAFH@@KhUNE^AAEHCFDNGVODMI@AEKADEN@CSJw[HCEFQGBBOG@@CE@FOKBDGCAD@C[FCGIB@IE@K^BDOIAEMMIJEDKF@[UMB@GF@EEAUEABSQ@CA@EY@FJI@CHGD@FS@@CAFCACFSCCDCMSHBIECMB@D]@@MKCDCQEAHG@CCG@CGUEIJK@SPOCCNEDQBDNDB@DJCDLFCBBALJB@BVGPBKVO@KHCCCD@FE@BNA@FNCTDDJA@FGB@NBDW@CL@hT@@ZHHQDDDAFSAANBC@HG@EFS@@DE@@PCB@Ue@CADNJB@FCBWA@LI^ix@FIHrH"],
- ["@@HUNAJKADGECBCMAG^E@EbI@BEGPKrJEH[\\B@FF@CHFB"]
- ],
- encodeOffsets: [
- [
- [119169, 40992]
- ],
- [
- [119398, 41063]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "110108",
- properties: {
- name: "海淀区",
- cp: [116.2202, 40.0239],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@plDJVLGPBFHjDbHGL@X\\DBNHJREBLRBHaFGMGOBQAWPBLCBBAJBDFADOIEJGE@@EP@HCPWP@ZgfBRQJJ\\D@HLHLDVA@IVDFGSI@EGC@EBB@CN@@IZCAGHGaEqGJG@EjwJ]@K@GSA@e_I@NE@CA@Kg@KC@ENCFAKQAW@WIMK@V@I@@F@^EDFB@HcIaDYCBRRDCHD@EFLN@FE@CJUPEJOJMTBPEDIFCMIAKNOGMRFJNDVBFLSRMJSDGJsFcEiJGDGTIlOjYD"],
- encodeOffsets: [
- [118834, 41050]
- ]
- }
- }, {
- type: "Feature",
- id: "110106",
- properties: {
- name: "丰台区",
- cp: [116.2683, 39.8309],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@hMN@NFTQCFRCBJFA@HJ@@HJ@HJ\\FTACD@@UNLXJX@@MA@@IECAQlDFEHBDI~D@GXCFMVDFCH@@NF@ANJC@FnAB@AMF@@EDCDDLGP@LUOAUH@AIABKAAEDCKID@CCACMWA@EGDEILA@OK@AELEJBFEEGL@BSOA@EuAFmMACbG@@EM@ANS@ENFDAHSDCL[BEIUBAII@A[E@OaKD@FAACTGVIACDHDAFGAEDoGEFACM@ig@@QFCMKMU@]SCoBGSMQDEXXDWPO@MKYGM^AdJJA\\cNB\\G^DNHFCBFABDBJ@PL^D@DF@T@FDAF^A"],
- encodeOffsets: [
- [118958, 40846]
- ]
- }
- }, {
- type: "Feature",
- id: "110107",
- properties: {
- name: "石景山区",
- cp: [116.1887, 39.9346],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@NQPHLMJBDNJEFCAONSPIFIVODIF@@EKMFEC@DGQCAQZDbCdJ@GEAFC@]@EJ@DCSB[EGII@@GI@@GEBAIQDDESRMEM@gNYTIRKJAJEJ[DFJKLGBGNBJLDCDAHGBJJAFBLEXTLZFBAFDLD"],
- encodeOffsets: [
- [118940, 40953]
- ]
- }
- }, {
- type: "Feature",
- id: "110102",
- properties: {
- name: "西城区",
- cp: [116.3631, 39.9353],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XBDA@EIACM@IJAD]BC@SFABISAD]H@@OAEDQEW@BLEMD@FLDh@@LDBF@@M`J@fTB@H"],
- encodeOffsets: [
- [119175, 40932]
- ]
- }
- }, {
- type: "Feature",
- id: "110101",
- properties: {
- name: "东城区",
- cp: [116.418, 39.9367],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@DBf@@VDA@OF@@CT@FEH@@GADBMTBBECCRCGG@YS@@gDK@AC@PG@C^TBAJEB@TADC^IB@J"],
- encodeOffsets: [
- [119182, 40921]
- ]
- }
- }, {
- type: "Feature",
- id: "110104",
- properties: {
- name: "宣武区",
- cp: [116.3603, 39.8852],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@RBX@RFFCBFU@aK@WA}CCJGAEFkCBRFD@JB@@N"],
- encodeOffsets: [
- [119118, 40855]
- ]
- }
- }, {
- type: "Feature",
- id: "110103",
- properties: {
- name: "崇文区",
- cp: [116.4166, 39.8811],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XBL@@bEVD@BX@AC@MHA@EIBCCDSEMmB@EIDBME@@MG@EDUCENWD@H"],
- encodeOffsets: [
- [119175, 40829]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/china_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "xin_jiang",
- properties: {
- name: "新疆",
- cp: [84.9023, 41.748],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@ρȁôƧƦóəʵסʵóƪԫʵѵͩƧͩړυࡓɛʵ@ȃ@óᇑѵƨɝɚôóНѺͩɜ̏ԭʵôƧɞñ@υƩ݇ȂóƩƧ@ѵȂυƥŌਗ॥ɛóʵѵƧѹ݇̍ࢯəɞυρͩ̏óਙƨƧŋôōó̍ͩóʵןóŋړͪƧѶ@ɜԭԫƦɛȄ̍ɝȄöςƩȂ̏ñȀ̏ƩóóŎə@Ő̎@ɞȀɝŎôƨóנѵȄƧ@óŏɝóɜôŎ̍ͨςŎ@ƨóôƨɞ݈ʶóƨφó̎Ȁƨ̍ԮòѸԮמ@ѺȀ@ƪၬֆòȂñ̐òȂɜóƨ̒Ŏ̑@φρȀ@Ő๐ς̎Ƨφ@ɝφڔ೦Ԯǿࢰ@ƦŏԮƨƨȄƧ۬ɜʶڔŐɚɚóŐôƨôƧƧó̐ƥóŏѺǿƦȁφƧςƨƧ̒@ɜƥƦυ̐ɛƪͩƩəƪʷ̑ə@ȃƨʵנŋྸōਚԭԪ@ɝƨŋ̒օςʵôƧ"],
- encodeOffsets: [
- [98730, 43786]
- ]
- }
- }, {
- type: "Feature",
- id: "xi_zang",
- properties: {
- name: "西藏",
- cp: [88.7695, 31.6846],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôŌנôʶ̎ͪôóŎƨŌਚƧ̐ôςͪφɚɝࢰ݈̎ѺѶƨôʶ०ɜਘƦŋφѶȁ̍ôŏɚŋ@̑ə@ŏò̍ɜóƥôʷƧ̍φѹԪ̍ע@Ѹʷɜ@ôñנ@Ѷɛɞô̐ŏѶƨѸƧƥōƦôŏô@ƧôƩ̒ŋƨŌƦǿô̎ɜȁ̒óʶѶôôО̒ςƥɜНφσɛȁ̎υƨఱƧŏ@ʵƥ@ŌóóóͩƨƧóŋ̑õóɞóɝԩͪɝρôƧ̍ƧѹͨڑŎ̑ōóƧࢭͩ̏ѵɝóఱóóԪυô@̒ƥŌ̏Ƨ̑Ȅ݇ŎƧѵӏ@ɛõŏɛȄôӒƧŌѵǿɝƧŋԫ@̏ʴƥ@óǿ̑Ȁóǿ̍ςóóυô@ʶɛñρƦƩŐó̎óѵó̑ͪࢯОóɜןƧ̏ƥȄ̎̏̐ןŎɝɜöɞƩȀôöɛȀóͪ̐ƨƪ̍̎ȂƥԪυО@φɞôƪ"],
- encodeOffsets: [
- [80911, 35146]
- ]
- }
- }, {
- type: "Feature",
- id: "nei_meng_gu",
- properties: {
- name: "内蒙古",
- cp: [117.5977, 44.3408],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ኊȁöƩɜɛנñԮɛѶóԮô@ȁѸóמ̎ගѺၬ@ʶԮӒ̎@ŐѹӒ̒Ԫƨöග̑ѶȄ̒ς।ѶɚöɞɜʴڔôôȂ̎ѺȀςƨƪóԪɜôɛОਕڔԭѵ̍ѹȂԫɛƥ̍Ȃóɜ̎ô@ʶ݊ੲࢮʵږͪנƨôȂƧ̐ͪ@ŐƦƨφԬѶɜôƦ@ŐƧôôƦəŐ̏@ŐڒѶԬô̐ʳԩНςōôŏɞ@ƨȂѶəóƧ̒ػ̎ó̐Őנóƨô̒@ƨɚɚ@עԫɛɛ@ȁυͩƥʳòևρ̑ࡗƧͪ༃ॣԮփ̎Ʀ@ôô@ôō@@ȁѵóƨ̍υȃóʵɛƨƥóυȂóəƪ̐ρƧͩɜԭڔȄ̎عƧȁ̐ŏó̍ɛƥƧ̑óρŐ@Ƨ̏ɝəɛͩ̍ͩɝО̍ƪƧóóӓƨóƧʳ݇@ɝςƪ@ʴƩƧƦôƨɛȄəƧŋυóͩѵ@ɝǿóŌן̍ɛóО̍̑̏ôȁ̍ŏòȁñóƦͩ@ǿə@ɛƧ̑ρȁυô̍օѹóȃə@ȂσʵѷƪòƩ̍ôóۯôʳƧóõʵѵóѹɜ̍ȂѹôɛŌφֈƩͨρóυӑóޟఱ̑݇ͪóƪƨŌóȄڔԬƩςםñ̑ȃѵŐԭŏƨȁɛǿρôõɚɛóƧОə@ѹ̐ѵöԪͨôͪɛ̒ןŏƧƥóôƥƧɛŌôóɝó@̒݇Ӓ̒Ō@Ŏԭࢰ"],
- encodeOffsets: [
- [99540, 43830]
- ]
- }
- }, {
- type: "Feature",
- id: "qing_hai",
- properties: {
- name: "青海",
- cp: [96.2402, 35.4199],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƨ@ôƪ݈ȁƪ@φɝòóƨԮʶɛ̐ѹͪôОəóƧɞᇒѶ@ôږô@ǿѶƪȁςɜͩφςŋɞôѶɛƨŌɞ@ɚςŐñԪॢͩƨȂɞóƨŐ̎ŏעӏ̎óƧƦô̒ȁɜςͩ̒ɚɛƨôƨɝφɛóȁƨŋóóɚͩƨóóƩ@ƧəŋƦƩ̍@ƧƧôǿυ̑@ȁɞǿõŏρƥסɚƧóτԫɞôƧƦ@ñȃòñƥóυôôѹѵ@ŏ̏Ȅɝó@ȂəŌóəѹƦ@Ő̍Ōυ݈ԩŐƧóôƧ̑ôʵɞƧ̑ѵôƩɞƧ̑óНѵóôʵ̑ɛȂó̍ƥȀƧŋ̑Ōóƪ@ƨóóŐƥƦŎѷƨѵƧ̏Őɝóѵɜן@óòɛ@ѷʸס@ԩ̎υѺƨ̎óʸôƦɛñ̎@Őɚ@̒əŌóŐ̎"],
- encodeOffsets: [
- [91890, 36945]
- ]
- }
- }, {
- type: "Feature",
- id: "si_chuan",
- properties: {
- name: "四川",
- cp: [102.9199, 30.1904],
- childNum: 21
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôôŋó̑Ԯ̒ɛОמͪƨōöͫƥôȃƨóóñôƧóƧôōڔŏƨŐ@ŎôòƥѺŎ@ōɜóנôǿôƦôԮ̍ɜôɚƧñɛɚȁ̍Ƨɛևυ@óóôŋρԭɝ@Ƨʸ̍ŏυɜƧƧóƧƨȁρ̍ƨȃɚôʵφóô̑̏Ȃ̑ʵɜʵɞ@ƨʳסƩóŎəóɜƧôƩƧρóôôô@ŎƧƨƨƪѹó̍̍Ʃ@̏ѹНôޟ̍ƩóƪυɝɛəƨôŎɛȀ@Ȃ@ñɝʶ@Ōρנ̏õóɛͨƨȂѵОɛʵ@̏ƩŐóƧల̍φɜȂυτɛОρƦɝƨóƪ̒Ѷɝƨóʶ̒óƨƨôԪŏφ݇̎ŋ@ŏѺƥôɚɚŋ@ȁɞô̐ȃ@ŐѶóѺφóƦôñòòȄ"],
- encodeOffsets: [
- [104220, 34336]
- ]
- }
- }, {
- type: "Feature",
- id: "hei_long_jiang",
- properties: {
- name: "黑龙江",
- cp: [128.1445, 48.5156],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ᇔȂਚНƨŐѶŏöƥςŏñƧƦóƨȁ@óƨóȁφӑóóƨóǿ̎̑ôНɞó̑ɜə̎ǿ̒ôڒӑφ@Ƨȁ̎̏ƥƩ̎ρశôȂςƨφ@נɞ݈̑ƥƧɛƨʵƧȃƥ@Ƨƥ@ŏ̑ԩôɝρρóɛƧƩͩƧóʸ̍ʷѹƥɞڕõ̍öɝυ̍ȂƧ̐̑ŏóƨñŋѹóóȁ̍̏Ԭõʸ̏ŏ@ǿ̍@ƧОυ@ñƨòȀƥŎ̑ŐѵóɛŌóȂԫōƧŎѹñ̍ʶóОן@Ƨ̎Ѷô@Ȃ@óŎó@@ó̍ƥԭք༄।ƨͩ̒ࡘςñֈƦʴφͪ@ȂɜɜסԬə@Ƨə̑@Ƨóןô̏ŏ̍ô̑ؼôƨѵɚƧȁɝ@óŐρŎԪО̏ʴ"],
- encodeOffsets: [
- [124380, 54630]
- ]
- }
- }, {
- type: "Feature",
- id: "gan_su",
- properties: {
- name: "甘肃",
- cp: [95.7129, 40.166],
- childNum: 14
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ڔôԮࢯ@ō̑ŋ݈ӑ@̑ɞôóôɜŋƦƨôóƨƦנŐɜ̑óͩԩͧѶõѺ̏ɚ@ƨНɜôöəςóɜȀƧȂԮŐѶŏ̒ȄמòƪρړԫôȃƧŋôƩ݈ͩɚ@@ǿɜ@φͩóŏɜӑƧōôǿ̎ôƥƪóõö@ôƨôƧƦôó̒ɜ@ɞŌõʶ̏Ő@ȀóôƨȂ@ʶע@@ƥӑó̑óŋôʵóɛړ@@ƩöóƩóρɛƨ̑@óʷƥƥ̎ɛƧôōƧǿôͩѵôɝȃɞȁõƧρóó@ōƧŏړŐóŎôƨóƨôòƧôóȄƦõͬƧŎםͩɜНԭ̑ô̒óŌóƥ@óƨɝσԬƨôעəςƦöŐɝȀ@Ȃφ̒óȀƨƨ̎@ƥƪɚŌ@ƨôƪƧôəͪôôƧŌôȂυɜƧɞƧóəɜ̑ρͪɛ̑Ȃóƨƥ̍ôסӐ̍ŐƧŏɝôƧȁॡͪòԩρŏ@əɝƧŋѵɜɝóρŌυɛͪρƩȂѵ@Ȁڕó@ȄɜʶφࡔڔƨͪѶͪԬʶôƩעʶɚʶƥôóƨςȂ"],
- encodeOffsets: [
- [98730, 43740]
- ]
- }
- }, {
- type: "Feature",
- id: "yun_nan",
- properties: {
- name: "云南",
- cp: [101.8652, 25.1807],
- childNum: 16
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôɞôɝ̒öôŌƧƨôͪôô@ŋƦ@ʶƨŐôƪŏ@̐ɜʶѶНƧȁɜͧöô̐ςן@ŋɞʵ@ò@ȁɜǿóōɚƧɜφɞôƩ̎ƪóޠѺО@̐̎ƪô̎ѺƧƩƨƧ@ōóóôóςƪƨƨóôɛó̑ԭƥŌɛǿɝƨɛͩô@ǿƨȁѺŌɚɛ̍ןѶНɛƧôóƥȁƦͩôŎɞƨ̑ɜòôφ@ƨʵ@ɛѹōóȃəƨυǿóʵρƧƧŌƩɛ̏ȄñƧƧȀɝ̍ԩʶƧ̑υóŌƥʳɚӑóНƥô̑óӒѵʵѹƧӐןôƪφõŌƪ̒ԫŌƧؼƨƨסρȁƧƨȂóʶó@@ʴƨôôφ̎Ŏ@ȀƨƪɚƨóƨôôôςóޤƧŌƩŋƧԪ"],
- encodeOffsets: [
- [100530, 28800]
- ]
- }
- }, {
- type: "Feature",
- id: "guang_xi",
- properties: {
- name: "广西",
- cp: [108.2813, 23.6426],
- childNum: 14
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƦŋѺ̎ڔʵƨŐ@ƦמȄƪôóȂɜŌɚͩɜ@öóɜôôȂƦôɜȁ@ɞφóȄ̎ƨʶɞŋƨʴɚǿ̐̎Ԭ@ôñ@̏ƨρ۫ôɚƨƨНƪŐ̎ƥóƦʵƥŋ@ȃóƥƧ@@ŏɝǿôυƧȁѵɛ@əóŏ̑@@ə̍óƧó@ȁƩρóòНƥô@Ӓ̑@óŎ̍ƥσŎυ@̍ƨ@Ō̑ôóͪƨ̒óŌړ̏Ŏ@ŌôȄѺŎ@ɜƧʶυ@ñóɛƧ̒ɝóōƥͪ"],
- encodeOffsets: [
- [107011, 25335]
- ]
- }
- }, {
- type: "Feature",
- id: "hu_nan",
- properties: {
- name: "湖南",
- cp: [111.5332, 27.3779],
- childNum: 14
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@քɜОƨ@öŐמóƪôƩɚ̒ŐȁςͩɜòƪɜȀòñɝòѺͪ@ŏƨŋóɝôǿƨɚȃóəƨȃѵͩó̍@ȃƨóóƥƨƧ@ʵƦóͩɜɛóñԭɛōυȂ̍ƧƦō@ɛƥɛȀ̑óʷóō̍ƩŏƧОəƧóς۬Ƨ@̐óòԫ@̏̍əȀƧʳɝŌóɞƧƨɜóŐƨò@ȄƧŌρŋóôԪОóʶ@̎óȄ"],
- encodeOffsets: [
- [111870, 29161]
- ]
- }
- }, {
- type: "Feature",
- id: "shan_xi_1",
- properties: {
- name: "陕西",
- cp: [109.5996, 35.6396],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ςôöƨɝȂɞȄѶóóͪƨȀóŎƨ̍ɜƦƦôʸ̒@ɜƧςƪôõô@ƪڔ@ôɜóʶôŌô̒Ӓ@Ʀ@Ѻ̎ɜѺɛѶôöʶôƨóʴ۰óô̎ñƪѸƩτʶ@ȁòŋəѹóǿ̑ʵ@ȁ̒ʷυփô݉ôН̏ط@ȁƨóô̏ƪõ@ʳ̐ʵ@ɝɛŋƩŌɛóןôƧŋ̒ó@ŏ̐ƥ@ŏυ@ƧƧôן̏@ƥȂѹɜəɛóԭ̎ƥóóóȀןɛô@ŎѹōñƦ"],
- encodeOffsets: [
- [108001, 33705]
- ]
- }
- }, {
- type: "Feature",
- id: "guang_dong",
- properties: {
- name: "广东",
- cp: [113.4668, 22.8076],
- childNum: 21
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@Ȃôôƨ̎@ɚ̒@ôŐ@ɚѶɜƨȂóφɞȀ@Őƨ@ôƦ@ȄƦŌƥʶƦôôŎôʸ̒ɜǿƦ@ɜƥŎ̎ƨφȁɜŎòƥԮŎƨōóŏɛƧɝəɞƧɜςȃñȄƦŎ̒ōôòƨəƨɚН@əƨ̏ƪʵυŌəɛóəԭŏəóŏѹρʵɝƦ̏ƥʳѶöō̑óóŋρȀυƧƥɛѹōƧôןɛŏѵ@óŋôʵɝƪԩõ@Ƨō̍@Ƨ@@ƦɝԮƪО@@", "@@X¯aWĀ@l"],
- encodeOffsets: [
- [112411, 21916],
- [116325, 22697]
- ]
- }
- }, {
- type: "Feature",
- id: "ji_lin",
- properties: {
- name: "吉林",
- cp: [126.4746, 43.5938],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@נ@ôН̎ʵѺòƨōԬŎôȁɜŋѶô̒ŏƦōñǿòƧφ@ƨН̎@@Ȁ̐Őöʷ̐ԫ̎ôȂѺôòŌôƧ̒Őƨ̏̎ȁφ@ŋƩͩםȃƨ@ȁ̑ʶ@Ōóôɛƥѹ̑συ݇@ɜρƧȃࢯƨôəȂɛōƩɛ̏υρóõƪʴυφ@ʶôŌóρք@ɜƧ@ɝǿƧͪρȀƩó̏ŐƨȂ̍غړȃɛԮƨͪ̏ςƩôɚφȁƦôɜƧôʶφȄ"],
- encodeOffsets: [
- [126181, 47341]
- ]
- }
- }, {
- type: "Feature",
- id: "he_bei",
- properties: {
- name: "河北",
- cp: [115.4004, 37.9688],
- childNum: 11
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@Ʃ̒̏ŌѺ̒ƩóȄƧŌƥͪòôñȂ̎ŐóȂ̒̐̎ôНɜנ̎ôŋɞȀѶ@ôͪφƨŌɚɜȃóƧƨƥƪ@ʳƩɞρ݈@υНφʵɜƦρƨƧ̍ɝóɛѹ̍ρŏ̑ôóƨ@ƧƦôƨɛ@ƥƨ@ȂƦ@@ôəŐƧʶƨŌυ̍̎ɛŋôōɝ@óƧ̍ƦʵѵʳôʵɜŏςôƪŋƨŌɚ@ôНƥƧ@ōѸɛ̐ô̎ʵѵНԭ@̍̍Ƨò@ȁɝ@əρυͩƪ̏ƩõƧŎƧōóॡȄɛʶɜȀ@ɞςѶƧƥςɛŐ@ɚɜɜ@Ŏôôςƪς"],
- ["@@õə@Ƨɛ@ŐóƦφô"]
- ],
- encodeOffsets: [
- [
- [117271, 40455]
- ],
- [
- [120061, 41040]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "hu_bei",
- properties: {
- name: "湖北",
- cp: [112.2363, 31.1572],
- childNum: 17
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ñȄυƦöŐƩóנƨƨφ@@Ő̏Ʀ@Ő̑ôƨŌנóɜôƪŋɜŌѶօڔə݈òɞōɜŎôӏƦóƨô̒óôȃƨó̎ŐôƧƪ@ƨȁςƧə̑̎Н@̍Ƨŏρôԭͩԫ̍ʵƧóȀôɞƧŌ@ŐѹͩñòɞñɛǿƩɛñρͪȂ̑ŏƪəƩóםôõŏƧ@ɛНƥȄó̑ѺƧôφóƨƨƦƪóɜŐôóòôƨóφ̐ƨóƦ̎"],
- encodeOffsets: [
- [112860, 31905]
- ]
- }
- }, {
- type: "Feature",
- id: "gui_zhou",
- properties: {
- name: "贵州",
- cp: [106.6113, 26.9385],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɜȀƦŋԮô̒ɚôōעƪƧʴɝ@ɛʶ̒ʶ̐ȁƦóȂô@ôŏ@ōôƨʶѸô@ʶƨɞó@ōτöòυƨ@@əƨô@ɛ̒@Ʀɜôȃ@̍ôʵԩНôóςŌƨŋ@ȃƧñôŏƧɛƨôɝƧʵ̍ôȃυ@ɝɛȂƥóóȁɛóõôɛ@əͪɛŋôȁƩóםȃ@ƥƧŏړʶѹ̍ƥŌƦȂóôɜƨѵО̎נəɜѹŋƧȂ@ȀóɜͪɞƧ"],
- encodeOffsets: [
- [106651, 27901]
- ]
- }
- }, {
- type: "Feature",
- id: "shan_dong",
- properties: {
- name: "山东",
- cp: [118.7402, 36.4307],
- childNum: 17
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ʃ̐φͪɚςɞ@@Ȃƨñ̎̎Ԯ@ѶОƨƧڔ@φН̑ŋ@Ʃ̒ǿ̎@ƨɜԬςôʶ̐ʶöԫƨƧנƥɜŎôō̎@ôŏóρƧŏԫôóƧԩó@ƥɜƧԭóƨʵɛƨӑɜНԩóô̑óƧʳəóɛƧ@õȀƧ̍ȃɛŐóŏυО̍óɝƩԩ@ƧɚԫȄɚʶƨɞʶԪ̐ړɛƪ̒"],
- encodeOffsets: [
- [118261, 37036]
- ]
- }
- }, {
- type: "Feature",
- id: "jiang_xi",
- properties: {
- name: "江西",
- cp: [116.0156, 27.29],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƧȄôɚəȄ̎ʶԬԮͪςóƨŐƪτɞƦōƥƧ@ŏςôóŐôô̒ʷѶƪƩƩǿ@ō̒ɛôυ@Ƨȁѹɛəƨѹ̑ƨ̏óƥѵʷô̍ɛȁôŏɝǿƧԫƧôʳƥōòȃρȄɛɝƨɞɚɜƨôŐƧŎԭōñƦòԮɜôɛôͪƥ@ʶƧƨôƦƧô@Ȅô̎Ѷͪ"],
- encodeOffsets: [
- [117e3, 29025]
- ]
- }
- }, {
- type: "Feature",
- id: "he_nan",
- properties: {
- name: "河南",
- cp: [113.4668, 33.8818],
- childNum: 17
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@φ̎ƪ̐ɞȄɚ@@Ȃעó̎ŌѺ̒ôֆॢȃôƨŎƨōƪöƩ̑ڔɜԩ̏ɝʵƧəʵԬȃƨəԪ@@Ƨ̒ŏô̍υȁƧɚ̍ôóŋ@ɝƧŋõ̑σ@ŏɜŋôɝ̒ƧɚôôطρóóɛƩ@óƨ̍ŏƧôóȄ̑ôƧóƥôóӐɛōɝŎ݇ñړɚѵֆ@ɞ̏ʶ@ʴƩöó̐"],
- encodeOffsets: [
- [113040, 35416]
- ]
- }
- }, {
- type: "Feature",
- id: "liao_ning",
- properties: {
- name: "辽宁",
- cp: [122.3438, 41.0889],
- childNum: 14
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƨʴƧôôӔƨô̎ƩɞН̎ͪͪɜɞɚ̐@ƨςŏ̒ôƦƨɜô̎ƪôςǿƨͩɞȀƨ@@ɛςփôóŋ@ʵφυƩʳö॥փρѹס@əɛ@ͩࢯ@ѹʵρƩʶφȀƧ݈̒۬óʸɝŎѵ@ԭԫןɛƧƨƥςɛυʶφО"],
- encodeOffsets: [
- [122131, 42301]
- ]
- }
- }, {
- type: "Feature",
- id: "shan_xi_2",
- properties: {
- name: "山西",
- cp: [112.4121, 37.6611],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɚѺñŌɚôȄѺ̎ֆφóςȂ̒ɜƨɚ@@Ȁƨŋôȃƪѹ̑̐ŋƪ̑Ʃρρóó@ōɛɛ@əɜŏƦρƨρѵ@ɝɛǿɜʵóօѹ̑̍ŋסô@ȁə@ɝȃ̏̍ƩυƧô@Ȃ̐ظóОó݊φք̑ʸ@Ȃ̒ʶôȀ"],
- encodeOffsets: [
- [113581, 39645]
- ]
- }
- }, {
- type: "Feature",
- id: "an_hui",
- properties: {
- name: "安徽",
- cp: [117.2461, 32.0361],
- childNum: 17
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ó̎̑Ő@ƨƪѶǿɜ̑φƦʵ̐ƧѵôóƪôôυςƨȂɞŏ@̍ԫôò̑ƥóȃѶͩƧƥôŏѺôŏƦ@ƥͩƧôȁυó@̑ƧɛѵʵƩƪѵ̑ʸóóôŏρó@ŐƦƨƥŎσɝƩ@̎̍Оɚ̒ρƨƧȂôɜςôóظəó̑ƨóɞɛŌ@Őτö̒ƨŌ@ɞôŌ̎óƨəφȂ"],
- encodeOffsets: [
- [119431, 34741]
- ]
- }
- }, {
- type: "Feature",
- id: "fu_jian",
- properties: {
- name: "福建",
- cp: [118.3008, 25.9277],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̎óȁƨӑ̒̎ɚƨͩφŐƨɝ̎ŋóŏρ@ōƨòʳəóƨō̏õɛƧ@ƨѵƧōəŏóŋƧô̑ɝɛʳƥ@@óɛõ@Ƨ̑ƧóȁəƧ̑Ƨ̐@ɚəОƧƧɚóñ̑ŎóʴƨƨԬɞȀóŐɜȂó̎ѶʸôƦƧ̐Ѻ̒ɚƧѺɜƨȂ"],
- encodeOffsets: [
- [121321, 28981]
- ]
- }
- }, {
- type: "Feature",
- id: "zhe_jiang",
- properties: {
- name: "浙江",
- cp: [120.498, 29.0918],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ѷʶƨɜ@̒φôóȂƨƦͪ@̐Ѹ̍τȂ̒̑נŐמôƪƧôӑ̑@ƥρͩƨօ̏@@υɝó@ŋɛ@ôƩəóƧѵυó@ƩɜŋƧ@̍ŌƧɞυŏƧͪ̍ə̑ƧӒôȂ̍@óφ̑ɜ@ŎƪȀ"],
- encodeOffsets: [
- [121051, 30105]
- ]
- }
- }, {
- type: "Feature",
- id: "jiang_su",
- properties: {
- name: "江苏",
- cp: [120.0586, 32.915],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôɞ̎φНôŐɜŏ̎Ȅƨöǿƨ@ôɜɚƨʴ̒ôôó@Ƨ̎əԮȃԪૉöͩ̐ƧòʵφƧôʵ@óړɜóŏɜǿƧɝρσȁѷ̎̏ƥóŐѹóŐƨƦѵͪôȄƦñ̒Ԭó@̎ɝŐƧȁρóφƩóóôƨѶ̏ƥʶυɛ̒ѵȀ"],
- encodeOffsets: [
- [119161, 35460]
- ]
- }
- }, {
- type: "Feature",
- id: "chong_qing",
- properties: {
- name: "重庆",
- cp: [107.7539, 30.1904],
- childNum: 40
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@əȂòɜƨѺɛƦȁ̐@ƪõŏφƥòȃƥ̍Ƨôυ̏ƧôñóóôɛŏƩôƧƥôƧóυƨ̒ѹôƦȃ@փƥɛ̑@@ɜƧó@ɚƧ@ñφσõ@ŎɝôƧ@ʵѷóƧʵó@ŎóŐó@ôȁƥó̒υôóʶəƧȄς̎ƧȂôƨƨƨφɛ̎Őƨʷɞ@ςԮóŌôôφ@ɜֈ̎ƨ"],
- encodeOffsets: [
- [111150, 32446]
- ]
- }
- }, {
- type: "Feature",
- id: "ning_xia",
- properties: {
- name: "宁夏",
- cp: [105.9961, 37.3096],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ల̒ôޠφӒςôƪͧυևɜŋѺó̎ȁ̍ɛ@ѹס@@ʵƧȁôó@ǿ̐ŏöʵɝŋɛ@ô̑ƥóóƨƧóôó@ƩôóƦ̍óȀƨŎɛӒôŐυͪɛ@@Ȁə@"],
- encodeOffsets: [
- [106831, 38340]
- ]
- }
- }, {
- type: "Feature",
- id: "hai_nan",
- properties: {
- name: "海南",
- cp: [109.9512, 19.2041],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@φɜƦʶ̐ôφô̎@ƨŎö@τʵƦԩ۫õН̏óƥȃƧ@Ʃəםƨ̑Ʀ@ޤ"],
- encodeOffsets: [
- [111240, 19846]
- ]
- }
- }, {
- type: "Feature",
- id: "tai_wan",
- properties: {
- name: "台湾",
- cp: [121.0254, 23.5986],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôƩɝöƧɝѵəޣ̏ρƩԭóōóͪρɞƧОôԪ݈ଦѶɜ̒ɛ"],
- encodeOffsets: [
- [124831, 25650]
- ]
- }
- }, {
- type: "Feature",
- id: "bei_jing",
- properties: {
- name: "北京",
- cp: [116.4551, 40.2539],
- childNum: 19
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@óóóυóôƥ@ŏóóə@ƧŋƩŌρóɛŐóʶѶʴƥʶ̎ôƨɞ@óŎɜŌ̎̍φƧŋƨʵ"],
- encodeOffsets: [
- [120241, 41176]
- ]
- }
- }, {
- type: "Feature",
- id: "tian_jin",
- properties: {
- name: "天津",
- cp: [117.4219, 39.4189],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôôɜ@ƨöɚôôôɚŏ@óƥ@@ȁƦƧɜ@óƧƨƥ@ƧóəН̏óѷɜ@ŎƦƨóО"],
- encodeOffsets: [
- [119610, 40545]
- ]
- }
- }, {
- type: "Feature",
- id: "shang_hai",
- properties: {
- name: "上海",
- cp: [121.4648, 31.2891],
- childNum: 19
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɞςƨɛȀôŐڔɛóυô̍ןŏ̑̒"],
- encodeOffsets: [
- [123840, 31771]
- ]
- }
- }, {
- type: "Feature",
- id: "xiang_gang",
- properties: {
- name: "香港",
- cp: [114.2578, 22.3242],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@óɛƩ@ρ@óôȀɚŎƨ@ö@@ōƨ@"],
- encodeOffsets: [
- [117361, 22950]
- ]
- }
- }, {
- type: "Feature",
- id: "ao_men",
- properties: {
- name: "澳门",
- cp: [113.5547, 22.1484],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@X¯aWĀ@l"],
- encodeOffsets: [
- [116325, 22697]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/chong_qing_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "500242",
- properties: {
- name: "酉阳土家族苗族自治县",
- cp: [108.8196, 28.8666],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XJ°lJX@lbl@XbV@VLnJlxnbUU@IVK@lVIVwnJlU@n@J@L@Jn@l_nWVLVln@@blLmV@@xÔ`nxVÈLlxLVxVVV_U»VWn_m¥XwVmnX°lmUUVwÞaVk@a@mmIUa@mwk@m@@U¯a@UV@@K@ykkmwkV@kU@ÑVkKWLÅamaUm@kyU@WkU@UaIUaVaUUmUUa@aVLXKWa¯UUbmJXnWnX`l@@xkzWÆ@VLU¦x@b@JkIkJ@LmbUamJwm@óxnk@V@xVnUVmVUVUbVlUbkXW"],
- encodeOffsets: [
- [110914, 29695]
- ]
- }
- }, {
- type: "Feature",
- id: "500236",
- properties: {
- name: "奉节县",
- cp: [109.3909, 30.9265],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WVXbUnK@x@b²kxmKkl¯_VV°VU@bnKVVV@@nk@nbn@°@VLČU@°WV@VnU@InKVl@nUbKnXWlknLlKUwnalLaVlUXmWk@UU@UWWIUyķ¹XaWW@XKUIVmU@W@UVU@KV@n»VkUkÇmUmVIUmULUbm@wUaKkkm¯ÑUL@bWVnx@VmxUI@klmkkK@aK@IlJ@I¯k@mak@mnkJVL@bV@UbW`UUUVI@VU@VVbUJVLUVVbUXVVxk¦VJUnVxnVVUJV@Ubl@@bXV@L"],
- encodeOffsets: [
- [111781, 31658]
- ]
- }
- }, {
- type: "Feature",
- id: "500238",
- properties: {
- name: "巫溪县",
- cp: [109.3359, 31.4813],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nLWbXVLVUV@KIVl@b@lbUVnU@JÆU@V@n°KĢUl@VbÞKV@_VKXUU@KX@wlkkU@mWKUU@UôJ@XV@aVmÞIVaVL@»km@UkLU@aU@WWLUUUKkbwWa@KU@kaXmWLamVk@UmL@JmVUU@¯X@ċVUK¯@ÅnWKLkKULWK@UXK@wW@LkV@bVLlXn`¯xU°LnlV@n°Lnl"],
- encodeOffsets: [
- [111488, 32361]
- ]
- }
- }, {
- type: "Feature",
- id: "500234",
- properties: {
- name: "开县",
- cp: [108.4131, 31.2561],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n@naIw@@VVKLVbVxnVÆUnanKWXamKmk¯K@mkUm¯KV°w@Wm@UIUUlKUU@a¯KWanwmUXamKkUWUnU@KkUwWKXaWLUWkImaUUUKka±k@l¯wwmbUkXm@UJkIWXXbmUJXUV@°KllVXV@xmbnV@blV@VU`UL@Va@bULlb°VXbÜ@V@bL@JxnLVb@lVb@V@@zbXWXKVLV@@bUVVL@blVna@ll@zl@@J"],
- encodeOffsets: [
- [111150, 32434]
- ]
- }
- }, {
- type: "Feature",
- id: "500243",
- properties: {
- name: "彭水苗族土家族自治县",
- cp: [108.2043, 29.3994],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Jlb@nVV@bXb@ÆlLUl`nVKU¼VxkbWnlUxlXX@°°WnnJ@VUn@Jk°L@VlV@nUJx@bVVVz@VnLlaKnalVlIU¼@nV@@anKUwVal@UlJlI@akU@UWXKVI¯Uak@@KmkXWÜkXWykIWwXw@laXamkVUUym_XmlkkmmakwmIUKU@Wak@kaW@kI¯WIk¦VUUmaUV@XkVUV±aUb¯b¯¥m@@ImJ@mmL@kUKUkkJbV¦"],
- encodeOffsets: [
- [110408, 29729]
- ]
- }
- }, {
- type: "Feature",
- id: "500235",
- properties: {
- name: "云阳县",
- cp: [108.8306, 31.0089],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lbLVVVnblJVXXKWbXLVxl@LmVXVVlnLWbnVmxXb°L@bVVkLVVVJn@@X_WmkUK@alUKX@@xWL@VXLVKlLKXLÆm@ma@ml@mU@UUmL@aVUU¯U°`lknLlw±@a@wmLVWaXU@KWU@ak@VaU@IUVmUUwVmUIl¥UwUVWUaVUUKVIUa@UUUUJUUmknl@@VWV@L¯aUbUlx@@b@VULUx@VUxVVU@bU@mxUU@mUVklkk@WxknlxK@amLKUK"],
- encodeOffsets: [
- [111016, 31742]
- ]
- }
- }, {
- type: "Feature",
- id: "500101",
- properties: {
- name: "万州区",
- cp: [108.3911, 30.6958],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĸĊVInaWWXlJVIn@lWVnax°xkl@²LVLnK@bLkwlmXw@lllkUnVV@VnwV@@aVUUVw@UVwVK@U@a@kwVVa°b@KXU@U@mkÇÑamlkUVmn@VULUm@kUVkUawUWm@Uw¯mKUUmVUUULUKUW@XbWVkaWwkUUk@maUbmbVlk¦xUVUIWVUkJVVkL@UmJUUVU@lLUVUlx@@VbJUL¯¤@V"],
- encodeOffsets: [
- [110464, 31551]
- ]
- }
- }, {
- type: "Feature",
- id: "500229",
- properties: {
- name: "城口县",
- cp: [108.7756, 31.9098],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VK@w¯L@m@UÅV@ImVUVka@@aUkJ@LUUVUKmLmbÅVmUUwUaKUL@U@xJmbm@nVJ@X@VkVnlLXx@b@bUVLU`UnbU@@mVVX@JX@VLVVklV`@bUL@VLVKn@U@UJkn@lmLmK@X@Jn@mbnÞWVXnJkKČÑÆ@VK@knaÜmXlUČW°kôÇÆ@a@yÞ_VmUnU@K"],
- encodeOffsets: [
- [111893, 32513]
- ]
- }
- }, {
- type: "Feature",
- id: "500116",
- properties: {
- name: "江津区",
- cp: [106.2158, 28.9874],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@InWUUlU@LValX@°²lÒXxlK@Ul@@Un@UaVJ@I@W@UUUVUwVIUKUaUUVwn@Üx@XUlnnbJ@¥VklKUUlk@ynU@kVUUVWnI@¥V£VWVIUKU@UVa@n@Vm@@nlUaVkUwJ@blLkLW@XWmXkmmLn@m@U@UVm@UVUUlakUVaVkV@@wnaWUk@VwklmVIkUUxmJ@U@KIkx±V@IUm@K@IUKkbWKUbnm@bmVnbmb@xkxUJ@ULW`@bX@WVXL@V¯mk¯@UJ@VmLUaWnX@WJ@nkKkxW@UIV@@KkImmkK@UW@XaWIU@UIkbWbxXlLVbnV@bWlX@VxVLnl@nÆÞVÜ"],
- encodeOffsets: [
- [108585, 30032]
- ]
- }
- }, {
- type: "Feature",
- id: "500240",
- properties: {
- name: "石柱土家族自治县",
- cp: [108.2813, 30.1025],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@kl@¼UbmVXJ@bV@nxVIVJULVVk@@LWbnJVU@bVbUJ@blLXnWV@mbnV@Vbn@VJVLnaVanbl@VlVXxlbXUWaX@VUUVwUUVm@I@WmI@amlLlK@alwnUV@kóVaÝk@UlbVK@VU»VUUVWU@U`ULkwm@@KmU@knK»VkJkUmbLkbmK@UUyUU@awm@@XXJ@VVLVVUbVnUJVX@Kk`WXXJWXUbmW@bkLUm`Xnb@JVL@LU@°VVXKVnUxVLUbmJ"],
- encodeOffsets: [
- [110588, 30769]
- ]
- }
- }, {
- type: "Feature",
- id: "500237",
- properties: {
- name: "巫山县",
- cp: [109.8853, 31.1188],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@kVUbkKmbVxkLmKkllbV@@LXbxlaLVVVKXXV@@bVlKV@ln@¼°KXaU@Ulw°JXalIUaÝWXW@kVU@VUVWUUUamUw@aVamwn@VUUlLXWm£@wÇĉkKklmLUÒ¯Wn@ğ±kwmaWm¼U@@LUV@V@XVUnVJLW@XXWbĸºVzXJVXV@@VXlWn"],
- encodeOffsets: [
- [112399, 31917]
- ]
- }
- }, {
- type: "Feature",
- id: "500102",
- properties: {
- name: "涪陵区",
- cp: [107.3364, 29.6796],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nèVblĖVVnL@xVn@nJ@LUVVX@lbUJV@@nn@VVVK@zV@nzVJVUlmX@@_VVVbnaVal@@knW@wnaVK@aVIJ@£kUVW@wXUVJam@Ik_X¥@WwkKkwmkUxnÅmm¥WV@Um@UlVL@JU@@X@UVkKVkKVkKkb@bmJVXUVVUbU@@`W_UV¯b"],
- encodeOffsets: [
- [109508, 30207]
- ]
- }
- }, {
- type: "Feature",
- id: "500230",
- properties: {
- name: "丰都县",
- cp: [107.8418, 29.9048],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Þè@XUK@LlV@blbUJ@V@bnV@VVVXU@lbXal@VXnKV@maXUÞ@amk@aVKXVanb£°mnIVaUKVwUmWLUU¯V@@KUK@IaWmn_VlK@anXVaXWWIXWl_@LUWVIUmVaUUUK@UWI@Wn@VI@mkU@U¯Kl@ImVÅLwU¤óbUU@wWXkmm@LU@@VUIWVUL@JUnax@JnbUIWVx@UXlV@¤IUJ@bULmb@xmX@lk@UbmbUaUU@`W@kn"],
- encodeOffsets: [
- [110048, 30713]
- ]
- }
- }, {
- type: "Feature",
- id: "500232",
- properties: {
- name: "武隆县",
- cp: [107.655, 29.35],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lwbVm@IVKXUVJ@UV@@KnnWlX@xVVôaV£xÆKnUVm@UmIXm¯¯@WkWVwmkXlaUwV»ULmk_VkK@ÅWa@aUU@mkaIb@n¼nm_@mmK@ULUVVmI@aUJ@XWJ@U`UIkm±kk@@lULmUmKUnVnlUVmI@VkVlxbkIVmLUxkKUXn¦ÆnmVwlnlxlLXx@W¦`"],
- encodeOffsets: [
- [110262, 30291]
- ]
- }
- }, {
- type: "Feature",
- id: "500119",
- properties: {
- name: "南川区",
- cp: [107.1716, 29.1302],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VUbVJVUn@VLX@WVXVVI@VUVWxU@m@ĊX@@¼V°aVUX`@_V@VaUUVUWnI@alaLUlLUllLVU@@WV@@IUKVkn@@VlLVwnKUlJakwlU@UnJVUmkUVmXa@wVK@UUw@VVI@ak@alInwlKXUmaUW@wWLkKVak_ÇaUV@XbLVxUlWIk@UK@V@kU@VbUVUlVnLUV@lVXmxkV@L@V@Vk@WbUwmL@JUI@xVxkx"],
- encodeOffsets: [
- [109463, 29830]
- ]
- }
- }, {
- type: "Feature",
- id: "500241",
- properties: {
- name: "秀山土家族苗族自治县",
- cp: [109.0173, 28.5205],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XlV@lzn@VnbÆbXKlLUÒV@@llUnxll@z@LU@@V°b@Vn@l@VÑUnK@UU@aUakVm@K¯wklmnnUl`nI@almkIUwmWVkUakkJmUUa@K@aU@@_m@@wUyVUUa@Um@awl@Wka±UkUykIWVb@bUVk@aU@UXUUIWakUWmUxUV@nUVWb@XXVVmXX@VbVLkVWx"],
- encodeOffsets: [
- [111330, 29183]
- ]
- }
- }, {
- type: "Feature",
- id: "500114",
- properties: {
- name: "黔江区",
- cp: [108.7207, 29.4708],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VX@V@LV@VJUL@lVnnxlb@VXVXV@@W@UIVK@kUKna@£VWUaVUUalIVJVIUW_lm@bXKV@mn@JUUw@KnIVll@VanLVmUkVKXLVKUIVamw@UaU_lwKlwUWV_Ua@aUa@KUwm_Ó@wU@nkK@am@UkUKmXk`m@@I@K@I@mkVmIUxUJ@kUL@JVVlnklWnn`VzUVnlWbkb@WxXxlJXzWÛlWXnl@Ll@Vb°UJWLX@VlV@bkJ"],
- encodeOffsets: [
- [111106, 30420]
- ]
- }
- }, {
- type: "Feature",
- id: "500117",
- properties: {
- name: "合川区",
- cp: [106.3257, 30.108],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XKVXlKVL@UnV@aValXXKU@WVwUaVU@IV@@aVWL@U@anVV@@bVK@UVL@bnJWL@VnUnb@@JnIlVl@@bXIWbn@UKVLVKXLlaV@VVnK@bVLmIV@KmknUUWVI@aVJ@_WU_VmUwU@KVak@am¯mJU_UJUkU@WkIV`UI@JV@LmmU@@mbUzÅ@VK@nUKbakb@UWK@bkVVbVÛ@@`Xk@W@n@lXL@bmb@VVJUn@JnUlnUlmX@`XLlbkJW@kzlb@`@b@b"],
- encodeOffsets: [
- [108529, 31101]
- ]
- }
- }, {
- type: "Feature",
- id: "500222",
- properties: {
- name: "綦江县",
- cp: [106.6553, 28.8171],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@¦@XlVX@@UVKlVUX@lanVlUVbXWVXVVVUnKVUlwUwU@UJ@nmVkUVlwXam@VaUUUw@W@kk»mV@UmKkwVKVUU@@LUKVI@mV@XVWxnXVKUUUK@wWU@UUWnUlLXamUIam@wI@K@amImUUkI@makUkKWUUan@wamLVxk@UVmUUL@Vm@kV@I@ak@@bWVXJlLVbVL@@bn@@`Un@WbUKULWVXb@UVmbXWVb@bVmxUKUV@Un@V@V@nmnKlnnWWXX@lKkK@aIVxUlVbk@mn@@U@mbVUV@VLUJUXU¤"],
- encodeOffsets: [
- [109137, 29779]
- ]
- }
- }, {
- type: "Feature",
- id: "500233",
- properties: {
- name: "忠县",
- cp: [107.8967, 30.3223],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VLÞĊU@W@¼V@lk@w²mlVUllVnI@VlKUUlIVXUVJVUwl¥UkUKUIm@aU@mUna@XUWmkK@aVIUa@aUVmIXa@Kl@UUVKUIUJmwU@@aWInUVa»k@@l¯n¤mabWUUL@bnl@bÝWVnbU@mLUWk@Wbka@WVUU@UmUmVkUULVlVUxl@L@VbÈÒlb"],
- encodeOffsets: [
- [110239, 31146]
- ]
- }
- }, {
- type: "Feature",
- id: "500228",
- properties: {
- name: "梁平县",
- cp: [107.7429, 30.6519],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XLV@VV@b°°nnkb@bnJWVXblIUVxWnUJnVVLVUJlUnLVK@UnUVJ²nKVbVKla@aXlJkKlb@U°£KVIUa@@kwVVUkKV@VUkkUVk±n@xkl@U@»@XVÝĉUJnxWb@UXKkVUbUKWUkVmkkLU`b"],
- encodeOffsets: [
- [109980, 31247]
- ]
- }
- }, {
- type: "Feature",
- id: "500113",
- properties: {
- name: "巴南区",
- cp: [106.7322, 29.4214],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nxnVlJlUXL¦@x@Vl@nKVVX@V_V@@KlVXU@lKlxXIl@ÈĊ@Vl@n_VJlnVlnb²VVVJVVmUUkĕUamçU@»W@@ĉnV@XwVU@UUJWUXUW@UKm@UVUIVaUUVmLUVUUUWWXUakVmUkbW@UVkUL@VW@kUW@mJUXVVU@lmV@zklVVkLUl@¦I"],
- encodeOffsets: [
- [108990, 30061]
- ]
- }
- }, {
- type: "Feature",
- id: "500223",
- properties: {
- name: "潼南县",
- cp: [105.7764, 30.1135],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@a@a@_kalyX@lIkaWK@_nWVkkmmV@IVmUI@Una@aWK@k@mkbWaknmJUk@mk@@kUal@Ua@Wa@aXLlwUKlkk@KmI@VUJ@Lk@@VUUmL@amJU£kKUaWakLmU@bVVUbnbWV@xkL@bUbxUxVbXJVbUVWIUVU@kLWxkKWV@n¯VUbU@@VVX@VmaUL@VUK@VVbn@lVnI@@lnLULm@Ub@l@na@lK@XVVkJ@b@zl@@VnV@bVb@J@bnXV`lXXmVI@W@InbV@@aVKUblKVLUanLlmnLlK"],
- encodeOffsets: [
- [108529, 31101]
- ]
- }
- }, {
- type: "Feature",
- id: "500118",
- properties: {
- name: "永川区",
- cp: [105.8643, 29.2566],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@bÜnWVLXlxVVxXxlVn@@bVblK@a@UnLVJV@@UnLVU@VXaVKVX@n`WUÿ@IUKlaUUUkWyUÛÅÝ@mmkUKUwW@Xk@amUUakKWwXaK@VVLklXVlkxVUL@bm@Vxn`IVxUVkLVUl@@lkXmmVUn@VV@Xb"],
- encodeOffsets: [
- [108192, 30038]
- ]
- }
- }, {
- type: "Feature",
- id: "500231",
- properties: {
- name: "垫江县",
- cp: [107.4573, 30.2454],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ċ°¤nÒ¼aV_lKnllUXVVLValULVW@XamwVIUKkaÇÑa@U@KkVwkUUVKlVnU@aU@VIka@akU@KVL@WÝçUV@Vmbů@LKnnJWVkxlL@VX@VxmnXVWxUb@bkn"],
- encodeOffsets: [
- [109812, 30961]
- ]
- }
- }, {
- type: "Feature",
- id: "500112",
- properties: {
- name: "渝北区",
- cp: [106.7212, 29.8499],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@bVVXLa@lnbWn@L@XVlK@VVLUVlbkLUKVVVL@VnXVL@VV@UbVb@x@¦UxVb@bUJL@LVVxlK@nk@U@WUVLlKXV@VblU@UUKVU@wn@VJVanLlkX@VaVK¯@a@U@U@VaUKkUU±maUkm@UUkbm@@Vk@@JwU@Ub@I@JmwUL@a@@KkVÇLkWk@kUU@@xUVmKUnllUb"],
- encodeOffsets: [
- [109013, 30381]
- ]
- }
- }, {
- type: "Feature",
- id: "500115",
- properties: {
- name: "长寿区",
- cp: [107.1606, 29.9762],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VVUbXlX¥l@XnVmlxUx@@blVnnôĀlm@aVaXwWUnmUwW@@UkKlwUXmImL@Kưna@UUImyU@@yULUUm@@mU@VIkaW@UUV@KI@mmUw@mKUnUUIlVLUb@@V@V@b°ULUbW@klmKUbUIm@@xUVVL"],
- encodeOffsets: [
- [109429, 30747]
- ]
- }
- }, {
- type: "Feature",
- id: "500225",
- properties: {
- name: "大足县",
- cp: [105.7544, 29.6136],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XUmaVaUU@anVlKXbValU@aV@@IXK@@bV@VxVK@UXLlUJXa@_@@aVKÅWVkwWawUa@am@kUWLU@kWmX@ykI@W@UV@na@LlLV@UkwWUKmXX`mIVl@bXLWVkbkkx@`VXm@@J@U@UUKUxk@WbUIVl@VXLWJUkUlUImxXlmb@X@VUJUnVbW@UV@@VVX@bnW@LVxUnlJUV@n@VxVIn@l`UVVVL"],
- encodeOffsets: [
- [108270, 30578]
- ]
- }
- }, {
- type: "Feature",
- id: "500224",
- properties: {
- name: "铜梁县",
- cp: [106.0291, 29.8059],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VblLV¤nI@bnKVV@Ul@@KVI@UnJ@LlklVLkxWK@bXb@Vbk@Vb@ll@@nVlnIlmXblaXl@W@_Ü@UUalU@aXL@VlabaVL@mUL@UUÇXUWX_WaU»m_@UWULWb@UUVmK@VU@UImK@V@bkLxXblxXUÆUL@b@@`WbIkVWK@VULUwU@@a@WL@JU@@bkVUb"],
- encodeOffsets: [
- [108316, 30527]
- ]
- }
- }, {
- type: "Feature",
- id: "500226",
- properties: {
- name: "荣昌县",
- cp: [105.5127, 29.4708],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VI@U@WnaWknwVJVkVlIXWK@UUkVJXal@VwVL@V@V@In@UW@_wlllaXUWK@aUknJW_Û@aWaU@@UVmUUaUImJVnÅUmVUm`kUUVWLnVU@VVmXK@nxmULkxImJ@nU`@X@Vkn@`@nlV@nVJVaXVLnK@bVV@nV@lbXW@"],
- encodeOffsets: [
- [108012, 30392]
- ]
- }
- }, {
- type: "Feature",
- id: "500227",
- properties: {
- name: "璧山县",
- cp: [106.2048, 29.5807],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XzVlVVkbVL@JVĀX¼VXbW`XWVÈVVVkV@@UXa@alK@IU@UKWUyUI@wVUUWVak@VUkW¹@WXI@yVIUK@kWwkѯ±W@kUb@KkVVVmXJ"],
- encodeOffsets: [
- [108585, 30032]
- ]
- }
- }, {
- type: "Feature",
- id: "500109",
- properties: {
- name: "北碚区",
- cp: [106.5674, 29.8883],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XVLV@@JkL@bWb@VU@UlÆVya@nV@nn@KU@IVJU_lJXV@VlVIV`nIn°@blUbKVI@aUaVw@¥@wUaVaU@@UUKWm@UUKUUVLlKkaVUUK@UkLWU@@KXmma@kbWKUU@aUamLnÞ@VWLk@@Wm@ULU@@UKUVWI"],
- encodeOffsets: [
- [108855, 30449]
- ]
- }
- }, {
- type: "Feature",
- id: "500110",
- properties: {
- name: "万盛区",
- cp: [106.908, 28.9325],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VIV@@wVJ@InKVxXal@@U@U@KlUnwUW@kVUKUmVkUa@I@KW@@bk@@mU@m@k@a@aIUxmJk@wULwkKmVVX@VXV@xVLVVULmWXwWUU@@nUJVL@KV@UVULlxnL@VnUl¼@l@XVxVVUbn@WbkxUlVnU@m"],
- encodeOffsets: [
- [109452, 29779]
- ]
- }
- }, {
- type: "Feature",
- id: "500107",
- properties: {
- name: "九龙坡区",
- cp: [106.3586, 29.4049],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XKL@V@XbV@lW@UV@@VXIV@UVKlL@KnnJ@VV@VU@I@@mVUVWUUmL@V¯LUK@UV@UU@a@U@yU@WLUK@X@KUVmL@@aXI@w@ammVk@WÛwm@UxVVVbVLUJVxVUV@V@X@JUIVbm@@Vk@@VkL@lVLUJ@zWJ@X"],
- encodeOffsets: [
- [108799, 30241]
- ]
- }
- }, {
- type: "Feature",
- id: "500106",
- properties: {
- name: "沙坪坝区",
- cp: [106.3696, 29.6191],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XºlUVl@UbVXUV@xVJVzXJVUL@VV@VKn@@Xl@XK@UmÝnKVbVakkVm@kUK@UmIm@LkKULVU@WJ@UU@@VkXU@Wa@@UKWL"],
- encodeOffsets: [
- [108799, 30241]
- ]
- }
- }, {
- type: "Feature",
- id: "500108",
- properties: {
- name: "南岸区",
- cp: [106.6663, 29.5367],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VVJVL@bUVVnl`XIlwXJlw°nnlIXW@UÇĉk@WJkwkL@WVkU@LU@U`W@UXUV@n"],
- encodeOffsets: [
- [109092, 30241]
- ]
- }
- }, {
- type: "Feature",
- id: "500105",
- properties: {
- name: "江北区",
- cp: [106.8311, 29.6191],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nLVU@wV@lV@XllÈKlU@L@@bVKnx@I@JVaV@x@Il@@Un@laVVn@mkUIm`k@WXJmk¯mkxWIkxWJk_UmVUUK@UU@@l"],
- encodeOffsets: [
- [109013, 30319]
- ]
- }
- }, {
- type: "Feature",
- id: "500104",
- properties: {
- name: "大渡口区",
- cp: [106.4905, 29.4214],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@k@@U@w¥WKkVkImUmwa@b@xWJ@b@nKVU@L@WVLXKV@@z@V@bVVU@@VVL°K@U"],
- encodeOffsets: [
- [109080, 30190]
- ]
- }
- }, {
- type: "Feature",
- id: "500111",
- properties: {
- name: "双桥区",
- cp: [105.7874, 29.4928],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WwUwU@kK@KmbU@@V@XlJ@znWlXV@XK"],
- encodeOffsets: [
- [108372, 30235]
- ]
- }
- }, {
- type: "Feature",
- id: "500103",
- properties: {
- name: "渝中区",
- cp: [106.5344, 29.5477],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VL@VV@VL@aUKIUU@@JUVU@"],
- encodeOffsets: [
- [109036, 30257]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/fu_jian_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "3507",
- properties: {
- name: "南平市",
- cp: [118.136, 27.2845],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@knyk@KU¥wV@nkWzUmk@@lKUa@aVI@UKUamKUUVaUI@X@UV@K±IUVVlUbUbUL@KWUXmWk@KkXmmkÅKUa@amUbkUkKWUnwUÇwVUUÝUKV£U@nKWwXLVKm¥@wUXkmWk@@wX@lU@yVImaXwV@knU@mbk@mlUXmU@mV@n@bnW@bUIWJImVUKWbUK@nkKaU@W_VUUmWmL@UU@bUWUL@V@bmVUz@`mUUVVbXL@VL@lmLUxmVamXkW@xWbUVbUxkU±@ÅUmmkLUbW@@`kLknVlV@lbXxlVUXVVUU@UbWkIWVUUUJkI@llbUxVL@VVUU°ULUmWXUV@VULWb@xm@UaVLVKUa@w@VbkmVambUUm@@VkK@@bxlxX@n¤@X@@lkLWV@nVkb@bWJXLWx@nkxmmbXn@VWVUn@VnJ@bVXl@VJXnWbX`lLUlJVI@@VXV@Vl@bn@@Æmn@VxXU@mVIlxVnIl@nVJaXI@mlU@aXkVm°klmnVV_na°@V@xܦXKVnnUlVXbVKLXKV@naV@@VVl@@lXblXWnLlbVK²n@@VLUnlV@lXxô°V@UnaUUlKXLVUVVUbVVlUnJVX@VW@an@lb@nl@VU@anUVW@kaUm@InVVKVU@kUW@Uam@km@kVa@a@nwU@WlI@mVI@WXaW_n@nlkkW@U¥@kV@Uw@wU@@IXK¥VIn@nU@`@Xl@VVLnaWbVaUwnU@VIKlV"],
- encodeOffsets: [
- [122119, 28086]
- ]
- }
- }, {
- type: "Feature",
- id: "3504",
- properties: {
- name: "三明市",
- cp: [117.5317, 26.3013],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lL@Un@VVnabnUla@Ux@VbULUKVbn@w@XaVK@UVUXWVnVKV¯VU@UUKVwka@klJVIVVXUlJXVaV@VUUVWkUWwkaU@UklmlK@_X@ValKnnÆV²@lVVwUaVXa@wlXnWbnUVwnK@kK@UWKUaVUnV@_VynU@a@UVKVXaV@@VnKnXVVUX`V@blL@mVLXaVLnUJXIVJ@amX@a@mnUV@nVWnkl@naV@ml@@KmKUam@UU@@UlKUVkUK@aVaUwVU¥UIkJ@wmI@mbkwkVW@UXKULU`IVKUa@LkkVmUU@WlULUWÅU@I@WWnU@@w@a@Uam_XyVIVWkk@mwVKXUV@nwVXkWÅU@aU¯KUnK@¯mULXVLnWVbVbUVm@Ub¯¼W@am`kbamLUUUaUXV`@x@XmJ@n@L@xkJUU@kU@mWm@kUUwUUVWl@VUkIy@kkaVUUmIWVXbWxU@kmVkK@nWVX¦WxU@@bkx@VU@Wk@kUbmJUUmkUW@_kKWK@knV¤kIUKWLUbV@Wbk@@VWL@VkI@lUXVxUVU@@mWIV@a¯nUaaUV@Jb@bÞ°VbU@XaUVmL@VXblnV°n@Vnx@VUUUlK@InJVb@Vlnn@VL@VWJUx@XlJUVVVl@LUUUJ@L@lUL°¦kVVnV@xVl@blLnlLVaXll@nVUn@xn@nml°X@lb"],
- encodeOffsets: [
- [119858, 27754]
- ]
- }
- }, {
- type: "Feature",
- id: "3508",
- properties: {
- name: "龙岩市",
- cp: [116.8066, 25.2026],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@aI@VUbVb°m@bUXJ@nV@VUUwVW@klJ@UXK@Ul@Xa@UVaXKVLlJU£lm@XLlL@`VXnlVVnIVall@XV@@Ulw@aV@XwW¥XU@mlLnUlV@XwWaXUJVnUVlb@lzlJUVk@UXVVVxlVn@nXV@@lVVlI@w@K@mnI@W@wU_VWbVVVnKbla_nbX@°»Van@VUUaUamXUKWK@a@Uk@wWkXWW@wUUKw@_lywUkU@@U@kamVmXaUVUka@Wk@»UUUVKkbWUVUbk@mkxkKnIVUmW@kUKmXUmVaU@kU@m@KUWVkIWJ@U@UI@wUUUa@KW»nU@mVkUmm@XwWU@UUmL@w@mnVUU@aWak@@amxU@UxULWVXbVLU`mbUImVUbnV@@bVn@bnVWxLmyUbIUK@aVmakbVUXWUlKWbkV@WLUlk@@nbb@lkKmU@UIWJkw¯UUVVxm@@XkbWxXKlUzWJkUUL@bmKkV@@VUIUlWV@XK@VkbWx°xUb@LUbk@@VWb@LXJ@VWXU@@bUVVVVn@VVlLn@l@xk¦Vx@bVJXbn@JlnXxV@@nJ@X@V@lmxbUn@xVL@VVKlL@lnLVaVL@xkl@LxVl°XWVXVlJWnxlJ"],
- encodeOffsets: [
- [119194, 26657]
- ]
- }
- }, {
- type: "Feature",
- id: "3509",
- properties: {
- name: "宁德市",
- cp: [119.6521, 26.9824],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@LVKVaVaUkVU²J@LVU@@WVJUbVVnLVbL@VUJ@bVbkL@l@VnyXmlU@xV¦L@lmz@lnL@bVVbVb@lnKVkVl¤@zXV@l@XJVLVKnXVKVnU@wUm@KU@UlVlw@U@U@UaUKlU@kXKlmXIWKXaVIVUVK@KU@@kJVUnLVJUL@VIVa@VnLKUnl`VbVV@Vbn@Vzn@lKnVlIVVKUalkXJl@XXVWVLVUUmVU@Unm£lK@Uk@WUXK@U@WVwVkĠkĢǰaUÅUwmaţɱUÇaw±V¹XalKôx@UVaÜʓͿVóbÅLJm¯Vk¦k@mamXkKUULakbk@mV@LkJWb@VkmXk@UVmaUV@amLUKUamI@KUaU@WbU@UUUUIWJUkm@wKkVJm@kxÇVUK@mUVUkmlkkVm@amwLVWU@UbVLkUb@VmK@XaVWU_VJnwV@@kUmWakx@kwWakIWxnbUJz@kVW@@x@XllnVW@xn¦ULWKXxmL@VU¤VLÞVVUÈxVmxXVlLlVanV@bbVLlÆnnlW@LXlWnXV"],
- encodeOffsets: [
- [121816, 27816]
- ]
- }
- }, {
- type: "Feature",
- id: "3501",
- properties: {
- name: "福州市",
- cp: [119.4543, 25.9222],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lxna@nJ@xlIVJV¦UVxUb@bLVUlVkL@V@VVn@VbLn@LUlJXblx@lwXbVn@lU@mxUIV`UXWb@nLU@ValUKVaV@UXKnxbn@lUkllnUVnV@VLUÈlwn@UIlLxn@VlXIVJVVVV@XaV@Vb@LnJVbVLnK@bVUnbVUl@nWl@UXalI@KnUl@labVKVlLnWnbl@l¥°UnIÆKôaUa@UUwÇWǓIUWUÅVkƨm@@£@KmLU¤ULˣJkUVǟUUķ@ĉVKUk@ѰwôÇç@īé@Åţ¥mīÛkm¼Å@VķVó°ō¦U°n@bVJXVVL@bUakLmx@xmxXzW`XbWnXV@bWLÛ@a@aXbWVkaÝwU@mlWKkLWWkLUKULW@kVmVUUÝUamV¤n@xUVUzkJV¦lJU"],
- encodeOffsets: [
- [121253, 26511]
- ]
- }
- }, {
- type: "Feature",
- id: "3506",
- properties: {
- name: "漳州市",
- cp: [117.5757, 24.3732],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@bl@Xb@bVVUm@nx@nKVV@XVWxn@VnUl@nmVX¼@LVbVV@xVJV@@XIlJXUV@Ln@lVV@UbVnnWVL@lnXUVmJLlwnll@VaUXVlaLVUVV@¼Xl@lbUVVWbnnUlb@@VV@aVUmlUaUny@kU@Wkk@WaUVk@@ammk@@U@UlU@aUa@wl@mXLllnLU@anVnU@L@VVV@KlXnWVnVanUw@w@wmnÅ@waUam@UkmUl@@aa@U@¥kôKwȯ°w@ŻkwǕaKÑÛk@ĕōřċ£ĵUKW»kÅŻLU@Ulġw@¤VzVUbkKUbmLmlULU¼UxmbXl@bWVb@bUnVUVbULU@@VkbVL@`U@WX@XV@b°@b¯@¤@Xm@@b@`UVVUL"],
- encodeOffsets: [
- [119712, 24953]
- ]
- }
- }, {
- type: "Feature",
- id: "3505",
- properties: {
- name: "泉州市",
- cp: [118.3228, 25.1147],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vlxkz@`xLVV@xXXWXl@xl@V@bnV°@LVm°LVbV@ÆXWlUmxU@WVULnx@llUXUJWzn`Vb@@b@xV@mXX@@JÆVVXVKXkV@nVlUl@KVbULJV_VKLVWX@lUVkIU¥lIVyVU@wm£nUVWU@am@UmWw@UX@@amVUn@@aUUlUVanaWUXWmUnkK@VUlVVUUw@XLWWXma@knmbVbVXbVL@XJlInlLwmXów@çV»ÇçŋaķƧóƅóKġ°nÅUķƑUÇW@¯xǰöÆlVn@lla@Lb`@VXVVx@V@bULVJUkÇ@¼XUKk@mmULkaWbk@x@UkL@a@K@U@UmKmbU@kV@UmVUbUmmXkW@LUU@U@KmVmU@bVmKkkWKnk@@xVb@bkV@V@Vl@nn@bl@VUXbl@XlV@@lmzVVbknUVb"],
- encodeOffsets: [
- [120398, 25797]
- ]
- }
- }, {
- type: "Feature",
- id: "3503",
- properties: {
- name: "莆田市",
- cp: [119.0918, 25.3455],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VbÞVVnUlUX@VKVLlKXXlKXLnkV@ÞxlbXUWab@bÜ@XK@aWUXmWaX_Wynw@wnwlKbV@aUKWUUI@amV¯Ŏ¥ô¯ĸUUÆ@n»¯aƿé@ţ¯nĉĬÝKóó@ÑU¼@èxWônxKmkkJWI@UKWaUUaamn@lnbWXXWK@VxUVkUV@ULmlnVWXXVmbUbkVVV@bm@UVn@bW@@VXxn@Vn@bVUX"],
- encodeOffsets: [
- [121388, 26264]
- ]
- }
- }, {
- type: "Feature",
- id: "3502",
- properties: {
- name: "厦门市",
- cp: [118.1689, 24.6478],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VlUV@nanL@V@V@L@blK@Vwl@XalbVKnnl@VLW»È@lVUIVK@a@UUwWUU@_aK@bkkm@UkõÅxóLl@¦@Vb@bk@VnVln@Vbb@xmÆn@x@xx"],
- encodeOffsets: [
- [120747, 25465]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/gan_su_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "6209",
- properties: {
- name: "酒泉市",
- cp: [96.2622, 40.4517],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÇnÅaĉ@U¯¥UŹ£WUýUU±JkkUwyÞIČxĊĕĊ¯¥ÆUkţUÅÓ±¼IUx¯UÒƑÝŰKÝnğ°ÅU@@Vn@þ¼¯WnŎ°XLWlnVnbWnVXxmbabóUlǕUUaIUmlU¥k¥ĉwkkÝɛa@¯U¯°mVkVnKlōÑÇÑU@klUġkUŻnUW@¯k»mWV£UKnUmUww@UIVaXwm»Èmmwn¯ċ¯LĉUJUalka±Va@Uk@ÛѯWmnUaɝ¤Ûmn¯m±x@wóxÛLġÒUx¯VÈJUbózÝÇKĉ¯ōlÝUÅWl¯nťbÝ@¯ǩLġmV@ƯĢkÆmĊkVťLɃmÝXó°@ĢbVóVݦɱ@ƧaġUVĠÇÈV¼UVţwmbJÇwˋaXmǯKkkmbXm¼V¼Ǭڲ¤ôŰÆƴô̐ŤǪnɆӨ¼ɆLÆłUĊxŎƞȘǔˎǬǪnƨŮǬö°»ġÞÜÆĸÒĊǀbƾèôÈ@¼¯þŤĸƧ°Vb@lÈĊʠń̐ȘKǀֲॗţÿǕý@ʊǓƨóÆÑǖŃôw@ʈƆÅÈVVĊVóĊÅ@ÞƒĬV@Þī@°V@ĸ̰XτƜĠ@ÈaÜ¥ŐƅnğóĕVġUůƿŋĕa±VUťÇğÑ"],
- encodeOffsets: [
- [101892, 40821]
- ]
- }
- }, {
- type: "Feature",
- id: "6207",
- properties: {
- name: "张掖市",
- cp: [99.7998, 38.7433],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÈÒŎÒkmLUlU¯nV°@°ɜbÞĠaÈ»ĸlLVUÈ@Ċ@ýUm@@ÆVĠ¯ÞmLƯރѰVVwJ²»ÆÔVlŤÅV¦ĉ°ĉĖċwÝJzVxll²IVVVþX¤źV°¦VĊ@ÆbÈmǔLĸĠ¯Ģaô¯ĸmÆÛUlÇĸk°XyĊUǔVǩnmV»a@ýnK°n@l¥@»żĊ¤mç@£ČU@mmVkÞUƐ±²¹°ĠwÅƑŃU¯V¯aÈŁÇ»ġn_°xŎKlxklx@Þw@Æm²bDzLlkWXať¯ĊaÑK±w@wUÅçV±Uk@@¯¯xU±±UU°ōxVxÅÔō°ó¯UݦóbÝþ@ĉÈóUVUx@VUVÝwÅÈÇóVkk¯JÇkmmL@KÇx@bk@U°ķ²ó`mn¯°UwlÅkU`¦ɛôķz@ÅnǰU¼¯KmVk²J¼ƏÞķô¤UL@mnğ`ÇnUxÇ@ÛÿU@kŻ@x@móJkÅ¥VŹĉóÒĉlċ°ķUƽÜ@x"],
- encodeOffsets: [
- [99720, 40090]
- ]
- }
- }, {
- type: "Feature",
- id: "6230",
- properties: {
- name: "甘南藏族自治州",
- cp: [102.9199, 34.6893],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÞnKlnwX¥WÝXkxÞUn°aĊVnUUKlÞĶWXnĠ¥ô»@nmVL@¤°VzJanU@aÆwna@kU¯yX_aĉbwéXkWwÅa¯V¥m¯UI@@mb°aÈçU¥@»knwɜƇ°I°ÑÈmVU¯Xa@wW@wV¯Č¥l¯Uwnm@kaUaóKkk@Çab@ÒWa¯IÇxÛam¼VUxÒl@zÝÒ¯bÝaĉVĉwÇWzJmJn²mܯU¯ĉ@ġ¤Åb@²nml@@ULVxVU¼Ålmab@°l@WIU¯@m@ó@UzţyXÇUÇVUUVLkbWakVWmUbkkKUÆ»n°Knk@aUVmnk»l¯Ģlw@_kKVU@na@lUk@¯¥mV@kmbWb¯Åõa@mkU@kÇkU@`@óóbl¼Uxn¼lVÈx@blVkVVn`XÈġÈ@ÇK£ÝJmUUnUĖmlUmKUnVÅaUwUĉ`¯n¯wW¼nxV@bĉnkIċŘkXU±ÒxÈ@X°`lVIȯĊVVVan@VaUVażVmblkÈWWIXaalL@wVbV¦lL@lĠnÒUnkL@ÆÞkÞKbñþW¦ÛċVULUºkÈlŎUxÆxÞUUxÒx@XbL@lÆ@ÒlXVln@bm¼J@Ånx@bnĠmxVXmbÈè@Ċ£ČWw"],
- encodeOffsets: [
- [105210, 36349]
- ]
- }
- }, {
- type: "Feature",
- id: "6206",
- properties: {
- name: "武威市",
- cp: [103.0188, 38.1061],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@±¯¥@klwU»ÞÝmwKm¯ç@kVÇUL¯lVUKġġm@a@U@X£°l°LŎÇ@aōVÝwÔKUÅWJ¯lm@ÛVWa@klĉUmaLUanak¯J±KkXóÜÅx²Ç@nUÒĊb°@ÆkLXÇÆ@xÝnxWxţ¯¤I@ÆnVVVlU²ÆèV@x²xLÒĉbŦ°WbXklÞ@l¤XĊ`wl@ĢÈŎm@bnVUb@ÈÆÛLèÇUÒŦlĸ`°ĮʟÆǓbĉôϚĊÆĢnŤéÑĸĀĊ¦@@l°l¦Ȯ¦ɆÞĊKŤĵĸů»mŁyġķŭ@Çɱȭ¯mƧUĊķnŁŻ»UaUƛɞÝƨů"],
- encodeOffsets: [
- [106336, 38543]
- ]
- }
- }, {
- type: "Feature",
- id: "6212",
- properties: {
- name: "陇南市",
- cp: [105.304, 33.5632],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÈÞ@l`UmV¼@nnÆwVlnVVaLVÈ_ÿÞ@naxÆ@l_@VxnK@llLnxmÈŎJnbUxI°l@n¦lÈIlmX¥k°@kJk²é@klaUaVaU@@ÝnIWnmnxkºÞaV°V@nwKxôbÞ£VUbþLn»mVwIJ°@nb@°°IġUkÇKV@ů»lLnm£@anK@ÑÜn@»mL@£ykUUmbUÞÝ@kyÇbó»XUxWVzb±mÝbXawUamL¯»@wUKVwm¯ĵJ°ÅUWVkKVk°wÈVVÑlU¥kmVamknUw¯¯bċ¥ÅKkKkVċVk£kKVwÑa@kóyÛ¯ÇVkówXō¥Ç¼ów¯U±k@xIĉÒÅVmÈnÜ@n°bUbÝVUnnJ¯Į@m¦nVÜ@L°JXbÑ@aÈb@llôLVbb@lmnVxk°ċ¦U°@xX@xWb°UVÇn¯Ò¯Jɛƈmxl@¼"],
- encodeOffsets: [
- [106527, 34943]
- ]
- }
- }, {
- type: "Feature",
- id: "6210",
- properties: {
- name: "庆阳市",
- cp: [107.5342, 36.2],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@kwĉ»VamV¯wIóVkl¯KmVō¯ÝWkL@bÝKō¦@@Lx@b@la@km@@l¯nm@UaÅ@óWUXm¥nw`@UUxķôǰğ¦@VJ_nIVnalxkXJWn¯nVLxl¤nnVbklVX@xnxmV@bUK@nm@@xV°±aÅnkUWnUax@mn@¯LmUĀlU@lV@blLUblxklkIÇx¯°UXbaVUnV@°LUlnbX@`°nVmbnÆmVkLmK¦U@Xy@kl@U°K@¼XbW@bWnLVaVVz@xlVČ¥lbUxÞlVU@nÆWôn²VJlUƧLnmÜLXan@mw@wlUlV²mblwVÈlLÞ±@lVnUlxnkma@mkJ@kXVU@mn@¼VXUVlLnmVbôaVnWV»ÈUl°È¯ÆInÆU@kk»mKkÆġk¯@»mk¯@óÇlÇ@VykklUml¯Þ@w"],
- encodeOffsets: [
- [111229, 36383]
- ]
- }
- }, {
- type: "Feature",
- id: "6204",
- properties: {
- name: "白银市",
- cp: [104.8645, 36.5076],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VKUÈl@è°nLnxÝÞV¼kx@l¦²°ĊóĠĊ»@ÈxaĊxlwÈVŤa@¯²aÇ£Jk£lnUÞ@°ô@ywl»lIX¥Ǫnw@ÑÞWlaÅlL@Uwĉakl@¯mwna°JV¯nUVÓÞÑm£²óWaUÇ@óÝUçV»ÈkkW@¯xV@XlK@wX@Vmm_@wÈÝKU¯ÇwVwÅK¯VkJXkWVaIm¯UkÇlVĀV°mxók@¼óWxĉÜU@UbzÛJÇk@ÆnVlÔ@kxô@ĬWL¯K@aÛImm@IUa@UÇêU¤VÒÇx¯ÒVlk@Wbĉ¦UbkWV_y¯Laók@b@nmbkx°"],
- encodeOffsets: [
- [106077, 37885]
- ]
- }
- }, {
- type: "Feature",
- id: "6211",
- properties: {
- name: "定西市",
- cp: [104.5569, 35.0848],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@aV²wVJV_@LlanÅllŦçÜÓ_lnWaôkxUbmV@Ȱlènk°l¦`@nnL@ÈlÜIyVaV@ĊÛXwô@»lônwU¯ÿUÈkl°VnJUblXWIl°UV@aVVVmnL@lUUwmk£bV¥VUVwÛlaÇÝÞmk£LUy¯L@WlkKW_XaWmġU@akakXkmVwmŹVUbWónmwnWW£KÈnV¥¥Æ_klWbU¯V°aôbnaVwmaōInÇmwkK@kmLUw@`kÅ@wb@mÝĀÇ`UKUbmUUkÅxmm@»nUVk_Ý@ǦVÇè¯ban@@JV°nU¦°ÆbXxWlêxĊabW`zV°@lmbÅx@bmVbI`¦@ÒUVUI@ÆL@b¼@@lmxnL°ULÞğÞ°kLUL°xVnKVl@zX@"],
- encodeOffsets: [
- [106122, 36794]
- ]
- }
- }, {
- type: "Feature",
- id: "6205",
- properties: {
- name: "天水市",
- cp: [105.6445, 34.6289],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UyÈVVUnn@VU`UblzJnk@VbKU°lwW°nkVUÈl£°V@n¥VklkU±Unlw¯UkwmKUlmkUmnkym@Å@UmWÈU°l°anlJkUKlU¯Èm@kmWV»kkÝLUWUx±b@¯ma@¯IJUxnm¼KýaVUݤóawLmxU@¯UbݹlmwmnXmJ@ÞV@UbVbkbl@±êlIl¯@lW¦knÇJkm¥k@¯Jmbóa¯bUV°akXlÅ`¦U¦ÇmLX¤mXnxmôXaVźUnUxlnlWbl@bĢVnXWbX`lLXk@°KVzKl¤nÞÝÈkbÜ"],
- encodeOffsets: [
- [108180, 35984]
- ]
- }
- }, {
- type: "Feature",
- id: "6201",
- properties: {
- name: "兰州市",
- cp: [103.5901, 36.3043],
- childNum: 5
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@lW²L°IlmbVbKnbĊVlk@XbÜU@kn°XIÆVLÓÞxŎUlôb°KzU`lXVaĊ¥Xal@kU°ÑÈwUÑV£ÈéV@VbJ@nnÜJ@bL°XK@īówl@kÓmUÅmK@m_k¥l¯mkçǯ@nUaVwólXbmk`ÛÔťèkkmÆkbK@U`UI±xUbWlXmbVbÅÒólkIWJk@zKݼ@xUxó¯LWb@ÅÒ±¦U`nbťĀUVbLU"],
- ["@@¯lwna@mōȯK¯kW¤@@V@bĢnĢVLU°k"]
- ],
- encodeOffsets: [
- [
- [105188, 37649]
- ],
- [
- [106077, 37885]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "6208",
- properties: {
- name: "平凉市",
- cp: [107.0728, 35.321],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÆLUxÈxV°LÇÞ@xn`Ü@X@nĊÆwnJmwUxaUkw@V@waVmlLXÝl@XVĢmV°@nl@UUUWK@wÿVI²Òlm@nÝĊýVV@nJ°Ułm@kV¼nKĢȤôKblnKllVk²aĠ¥È¯ĸóVw@V_xmn¦VWôXÆ@Vbn@°m@kn@@lb@ka@wK@@UlKVaWXW²¹lÓw@_°n@@_lKÅķW@mLUWn»Û@l_Ç`Ûmm°ÅbWb@VWbUUKÇÅaġlmkUġl»LlUm¦@¯U¤ÇkVUml¯Xx¯kVLUa@mlIkyVa_UV@mmUVUÇVzUxUVU¦a¤lnVxVk@mKUnUU@bU", "@@@ż@mlkġk"],
- encodeOffsets: [
- [107877, 36338],
- [108439, 36265]
- ]
- }
- }, {
- type: "Feature",
- id: "6229",
- properties: {
- name: "临夏回族自治州",
- cp: [103.2715, 35.5737],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@ż»Ly@lXIJlôkÆÑUanaWXkW@yk@ULmUw¯KVlK¯ĠÝÝVK¯mKnwk@@»@aK@ÅVJVU@Ñ¥_Uy¯@£UKmn@ó¼ğ¦WmĵXÝkVLmVĉU¯bmÝVwWlXÞW¦xkmmLݱU@VÞ@ÅÈW°XܼƨyUĮnWnXÝxUx°lVXJlôV"],
- encodeOffsets: [
- [105548, 37075]
- ]
- }
- }, {
- type: "Feature",
- id: "6203",
- properties: {
- name: "金昌市",
- cp: [102.074, 38.5126],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĢÈ¼Çł°bU°VƒńÆǖŰnÆōĬǔaʠůĭ_kķÆ¥VÑÈçÜKÅ@ÇVaUm@aōnġÇk@xĉ_Wk£@ݱKȱaÅn@Ýx@kwlkwōL¯wm`"],
- encodeOffsets: [
- [103849, 38970]
- ]
- }
- }, {
- type: "Feature",
- id: "6202",
- properties: {
- name: "嘉峪关市",
- cp: [98.1738, 39.8035],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@llĊx¦l¦kVVnJVbǖVkôVabnaWwUXmmamUXkWKō¯Xm°»ĉÇ@UVKķkǼğb"],
- encodeOffsets: [
- [100182, 40664]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/guang_dong_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "4418",
- properties: {
- name: "清远市",
- cp: [112.9175, 24.3292],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lǯkÿaV¯VaÈU¥ÆÇIlxmnbUxlUôl°kWl@ôVwUanUl@xVkaX¥kU»a¯±@kka@UwmUkwJk±k@L@ÝWUwVÝxÇU¯ÇX@mÅ@@yĉ£VmUwȗ»ÇUnlUnWU¯`Uk@@x@bÇxX¼VV¯LĀkÝL¯@VlnĊW¦kVÇôkUÇUK@ţU@aóÜUU»@¦k@VxKVbn@Æl@xbWnlUlxÈlVȰÆ@¼@xWxŎVK°¥nÆkŎ@ÈÑmK@¥k@ô@nôV"],
- encodeOffsets: [
- [115707, 25527]
- ]
- }
- }, {
- type: "Feature",
- id: "4402",
- properties: {
- name: "韶关市",
- cp: [113.7964, 24.7028],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WXk±Ñ@UwmUwĉwlmn@Æwn£mkI¥ÇÅ@¥aón£nWWw£V`Þ@nVml@xô¼IV¥kUmkamUkVWwÛ»mó£UVÅKmn@x@kbmm¯aXkaVĉaUbݲlIlxnVVx@lb@l²°bV¼lW¦bUlwk@mVVbUxó@kX¯lókVkwVmankwJÅȦÇVUbU°bl°kÈ@x¦ÆÜ°@°¦óaVUôlUlbXl@nÜVnKlnIVÞ°W°U@bnm@¥IV²Ul°VnalzXyl_Vyƒ¦lLlx@ÞbKmknVWanwÑVwČº@n_ÞVaVÜIl@KÈVJ@a£È@@kmaV¯W@_a¯KmbkÇkLmw@Å¥"],
- encodeOffsets: [
- [117147, 25549]
- ]
- }
- }, {
- type: "Feature",
- id: "4408",
- properties: {
- name: "湛江市",
- cp: [110.3577, 20.9894],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@kX@aUUċlkJk@wVJXUWk°W@nKnwlUl²blU@lIl@XbWxnm@lW@wwUJX¯VU°`ŎóˋkÝÝkÅ@ÇmğÈřmwaĵVxUÛ»°ĠǷnýmóX¥ɅĵҏÇ@°²ĊU˱ĮU¤Ç°Ā¯ɐnżUĊĊĬV@è@ÔÒU¼l¤nĠbêVĠ°ÈyzVaVnUÆLabVlwÆ@"],
- encodeOffsets: [
- [113040, 22416]
- ]
- }
- }, {
- type: "Feature",
- id: "4414",
- properties: {
- name: "梅州市",
- cp: [116.1255, 24.1534],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nÔlW¼x¦@lVllLkèa@z¤Ė¼UxlnUKUbÝlU¼lb@VxVklJÈwV¯@ĠlÛĖnbkÆźÞUÈôklmL¥LWnKUkVa°Vx@IVV@x°bUkaa@mV@@ywLÑUwVUVUbÞVVann@XwÇÿ¯²aVamkXaÆ»@»nw@¥UXakbWa¯KUw@¥m@kwmLU»UUJ@kmU@UUWU@yanwmçÛl¯¯UmKUmwVkmÝXbW@XWÝbk¯@±w@»U@W¯Å@Ç¥UU@IUakJĀê°þXkam@_J°m@X"],
- encodeOffsets: [
- [118125, 24419]
- ]
- }
- }, {
- type: "Feature",
- id: "4416",
- properties: {
- name: "河源市",
- cp: [114.917, 23.9722],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°VlmX¹laĢÒlm@V£@¦Ģklynn¼lW°zW°VbÈV@lÆbnnJkXVÆaÅW@UUw@kaV»ÞkVaVLkmVw»ĕ£@yblçkKkU@k¥wX»kmÓ@Wn¯I`@nlbWý¯éÿlI@XUmWUw@@UJUÇmKUV@xţk¯¯LWnUxK@ű»Vwa¯@¤WX@Û¦@¤ÇIȼWxX@WxwUnVbÅèmVa±²UWl@klȤnôܼXxlUnVlbVnlU¦Jó»@wnkmUÝ@U_¤XxmXm¤ôb@¦ÈƦlJn"],
- encodeOffsets: [
- [117057, 25167]
- ]
- }
- }, {
- type: "Feature",
- id: "4412",
- properties: {
- name: "肇庆市",
- cp: [112.1265, 23.5822],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@l@¥@V¼VôÛ@bV@ŤVLÈlVÈólUX¥mĉ°kÿU°@ÞKlÿ°KUUW»Èw@aw@@nm@w£kÓVUVnKk¥£Vam@nkKkbÆǫmakmLU¥UmÛwmVUmUJÇaUxÇIn`mb@Þ¯b@nJ@nlUVlVULW¯Û`Ç_¯`m¯IbĉWċzx±Jx¯ÆU_k@J@UmbXôlLn¦@¼ĊxlUXxUbLĠUnVĊwlUb@lWXm²@ÞWxXUnb"],
- encodeOffsets: [
- [114627, 24818]
- ]
- }
- }, {
- type: "Feature",
- id: "4413",
- properties: {
- name: "惠州市",
- cp: [114.6204, 23.1647],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lbW°bnnla@@wnmÆLVUkÇl@XkV²±bnUÆçUaVmxXw@WXwÇ»ÈJ@£Ü¥@XW@£°bUx²¼@ÆLVwmX°K°Ťl@wVUnLÈVVIky±wkKU¯ÅkXġÑÛlwUwlm@mnKWaÅm¯óÇmğb¯alĉUwķbmb@lÞÒVnmĀŹ@VbVUnmakLm`@xĉkklVÔVJVnlVUnmJmaLUblzmkLaō@@zV¦UV²kJnÜU@VXUL@lJL@bݤUnVb@xVnlK²Vx°VxlIlkVl²k¤@n"],
- encodeOffsets: [
- [116776, 24492]
- ]
- }
- }, {
- type: "Feature",
- id: "4409",
- properties: {
- name: "茂名市",
- cp: [111.0059, 22.0221],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@LnÇlkKnkÆLUmÈxlUJló°n@ana@@X_@mÝóóU@aaU¯mL¯kV¯ÇVwkw@V±Ŏ£@@alw±Vk@mÅm¯ÿÅƧIÇ`ōô¯_UVW°IVx@xkX@mnwXWa@kkJ@kVa±kkVmxmL@¯XXlWVUI@xlIklVČV@blW@@nUxVblVxkôlxnynIƻưaXwlKbVnXbL¤kLèVV¼²IlĠVXynz°KVx°@VlLlblK"],
- encodeOffsets: [
- [113761, 23237]
- ]
- }
- }, {
- type: "Feature",
- id: "4407",
- properties: {
- name: "江门市",
- cp: [112.6318, 22.1484],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lUXx°JWnnÆXVWX@ºVLV¯nUVnbôxaXmWXIUb°xlKl¯KxXÞ°XÈ¥Ü@ĉÞUç»nóVmax¯UÅU¥Ý¯@ç@ș@çĉÅUmUç±ĉKÝxÝ_ÅJk¯»ó¯nmèkǀWx¼mnUÜġ°@¦@xLkÇaVnUxVVlnIlbnÆÆKX¦"],
- encodeOffsets: [
- [114852, 22928]
- ]
- }
- }, {
- type: "Feature",
- id: "4417",
- properties: {
- name: "阳江市",
- cp: [111.8298, 22.0715],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°nKV°b@bôVÞô@nVlÒôÆUnlnn@lmkmVkaÈkÆÆk¥ÅÞ»ÆKXkW¥ÅLmÅkamJUkUVwUmÈblKw@@¥Ģ¯VÛnm»Xwlƿ@kbWaʵ@óLl¯ƽ@Ln°Æ@nUl²kxb@@ō¤U²@lxUxÈU°l"],
- encodeOffsets: [
- [114053, 22782]
- ]
- }
- }, {
- type: "Feature",
- id: "4453",
- properties: {
- name: "云浮市",
- cp: [111.7859, 22.8516],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VIl@`V°Åw²IwČyĊXa°Jn°_È`Ü_°XKVkUUVk@mmI@°a@Ýnam_ÈJVwlĉX@lUómaUmVU°UK¹@WXUWmÅXm¯IWwkVWlÅLݼÆl¦ÅÅÇlbUllnknm@kmVmóÅkÑUW`@@bmb@¯mkôIkVÇwnVÅKmlLklmÈKVĊK°²`n¤nUbWlxVxLUx@°nXm`VklVxmnnx"],
- encodeOffsets: [
- [114053, 23873]
- ]
- }
- }, {
- type: "Feature",
- id: "4401",
- properties: {
- name: "广州市",
- cp: [113.5107, 23.2196],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ș¼VxUnĊ¤@z@Æ@nÈW°ÈVwUÞVxÞX@Kl@ÞVaĊbU@ml£k±lUkkJw¯UUw±kLUm@waUVmÞ£@aKkI@KVUW@ÛVmlIU±VU¥@yğzƧÇƽĠřÅnī±m@²¯l°@nÝÆóUll@XnÝVU¦mVV°V¼Jnb@°mbn@²¯¯wVw@@nmxX¤¯L@VLUm@@l"],
- encodeOffsets: [
- [115673, 24019]
- ]
- }
- }, {
- type: "Feature",
- id: "4415",
- properties: {
- name: "汕尾市",
- cp: [115.5762, 23.0438],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@@VxnXWV@bVJV@ÞÅU¥Ċx£UWUwÅUU¥WVUkĊÇnkV`°LVwnU@lbĊ¯Vnal@@çkUÝ¥ġaó¯ÅaÅLŻÆUýmy¯ó@ĉÆóȯwÆXbmL@nknVxkxÜĢÒWÆlV°Ll²xlz"],
- encodeOffsets: [
- [118193, 23806]
- ]
- }
- }, {
- type: "Feature",
- id: "4452",
- properties: {
- name: "揭阳市",
- cp: [116.1255, 23.313],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VȦÆ@X°V@@¼x²°@lÞaWXX@aÞWlnUxVnnL°V@kmĢl@ak@mlk°aX±nwm±²¯JV²@wW_maV»U@m¯ĉUÑJlabVnlĸLlƅÛDZwÝ@ĉxó@è@kmbUĉ°ka@mVxU¯KU_mlĉÈVlXUV¦ÆVxVVX¤ĉwV¦ÝÆ"],
- encodeOffsets: [
- [118384, 24036]
- ]
- }
- }, {
- type: "Feature",
- id: "4404",
- properties: {
- name: "珠海市",
- cp: [113.7305, 22.1155],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@è@Þ°V¦VưwnbUÆ»nçÆ@nxܤ²llU°VnÈJÞ°UôéķUklô£VVˌKÞV°£n¥£ȗÝy¯¯mÅkw¯bÇĔğ@Ýn¯ĊVğōŁŻķJ@Ț", "@@X¯kmèVbnJ"],
- encodeOffsets: [
- [115774, 22602],
- [116325, 22697]
- ]
- }
- }, {
- type: "Feature",
- id: "4406",
- properties: {
- name: "佛山市",
- cp: [112.8955, 23.1097],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÈbInVVnUÜxnVV¦nKlnbÅǬlalL@mnUb¤l¦LUmUVlÔ¤@xmnVl°_XVVmkVmÈ@kn@VUK@°KW£nw@m@Ux°x°@±mna@¯amIU»U¯nUV¥ÞUWmk@Vk¯UknÑWÝĊÛ@ǦW¯WÝwLk°kL¯wVaWJXWnbwkVW@kĊ"],
- encodeOffsets: [
- [115088, 23316]
- ]
- }
- }, {
- type: "Feature",
- id: "4451",
- properties: {
- name: "潮州市",
- cp: [116.7847, 23.8293],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°Üknèmxbz@VVX@VnV@lIVVV¼nKlxn@@¦Vx°LXblaWbV°£¯W@nW@aUñVwW»@¥ŤÅUÝǓÝóV@ńÇkUVmIUwÅVWÇX¹@W¯bkl@nlb@kġn@l"],
- encodeOffsets: [
- [119161, 24306]
- ]
- }
- }, {
- type: "Feature",
- id: "4405",
- properties: {
- name: "汕头市",
- cp: [117.1692, 23.3405],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@U±°I±n²mx²@WºXÈÆUVxJUnlVÈ@ŃôUǔÞVçn»VyĢÛVm@»kaÝUǼóÛÈķKċ¥X¥Wwğk¯@wķKkUmabkIVÒ°Ċ@nVU¼bn`Xx"],
- encodeOffsets: [
- [119251, 24059]
- ]
- }
- }, {
- type: "Feature",
- id: "4403",
- properties: {
- name: "深圳市",
- cp: [114.5435, 22.5439],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÞL@xbVVK°X°Kô¥Vw@anUèlkĊl@wn_lKnbVmUaUź@nÿUmÝѯUbk@ÆkxŻ@aÇXwJ¯LķÝUĕóĸóêWº@b²nmĬÆ"],
- encodeOffsets: [
- [116404, 23265]
- ]
- }
- }, {
- type: "Feature",
- id: "4419",
- properties: {
- name: "东莞市",
- cp: [113.8953, 22.901],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ŏ@blKnykVaKnbnIVmUkUmUIUÓçmV@bUxó¦¯LW¯LUUa@wÝKğŚƾƨÈĠy"],
- encodeOffsets: [
- [116573, 23670]
- ]
- }
- }, {
- type: "Feature",
- id: "4420",
- properties: {
- name: "中山市",
- cp: [113.4229, 22.478],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XÒlmV°ôÞÅ@m¯°k±@@aX¹¯VÝÇIUmV¯kk±Û£mw@Åmèżmô¼èV"],
- encodeOffsets: [
- [115887, 23209]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/guang_xi_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "4510",
- properties: {
- name: "百色市",
- cp: [106.6003, 23.9227],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lklWXL@VIl@XnJn@VUUalk@mK@kny@UlU@a°UU@VmaU@Ua@UWw@n@KmLm@alkmnIm@an@VIUamWÅImwU@@a@KX@JVLUVmUaVkUa@m@@Ulmkk°UaVUlKXbVwVIkaVmUk@KVk@aaW¯m@w¥laX@KmakVmnUl@nxVKInU@yVaVIV@na°KlxX@@_lmXUV`VIVV@n@lbn@@WUkValK@²yl@VUV@@K°L@KU@@UVaXIVVV@naVkVa@K@UUK@UUaLWaw@m@K@UVV@mVUUVKnLmVLKbVK@UUIkmI@mUIVK@IUK@VkL@WU@mU@WmUk@I@VJk@WwX_@amK@UUWkIK@LVb@mVmakL@J@bU@Ux@xbmI@`Iwm@UbmKUaUWa¯UkJWV@XJUU¯LUmV@ma@kkamKwLUUmWVkkm@aVUUkVKnVVUmXK@UW@km@Ukkm@@W@UkUy@I@aUUmb¤U@kUmL@bmJU@Ua@wkLWWkL@U@VaU@LUakKWbkUWVkKkLVLUV@JVbz@V@VmUU@kVmK¯@VU_VWakVmIUKUaU@@bml@XU@@V@LmKUVmVUKKbkaUXKUL@x@V@l@mxU¦V@lL@V@Ln@@VV@nlKUaV@nLUbmJnL@VWLkbmV@@LWXLlxVVIVV@x@V²blUVmLVUK@kWWXUlV@Xl`LXl@@Vn@VnbV@lVUVUÈVb@@`UXU`l@@XUVm@k@xmVknUJVXUbmKULmbx@VlJ@LVbkKUbVLÇUUVUVmU@VaUkUKVUwmLkUUVVlbkaXmwKUVVU@@V±Uk@VWUUm»XamUbKk`U@UnWW_kKmbUVUVmnUV@nJVUlUbU@UV@n@JmI@VmbnVUXlx¯kKmnVV@L@VbkVUmm@Ub¯LmlUL@VWLkmkLmmn£WmnKU_mWbnbmx@U¦UJU@Xmlk¦@mnUUm@@Jn@lVÔVJnIVWI@aÆK@I@aVKIlÞnnl@nl`nbÆX²l@xV@llbVn²VVl@nnV@IlW@Un@@kVa°KnÈmVaVXUlaVÈUVlwôUlynIVaan@lVXbI@n¥la@K_n@bÆx@XnJVnKVz@`VXVU`@b¦UV@VIlxUnVKXÈbVllbVbnVn@"],
- encodeOffsets: [
- [109126, 25684]
- ]
- }
- }, {
- type: "Feature",
- id: "4512",
- properties: {
- name: "河池市",
- cp: [107.8638, 24.5819],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lLVlbVV@nXVlI@JVXmnW°bIVV@ln@nalVUbnW@kVkÒlbVKn²°bUlV²@X@`nbaUI@°wlU@aXJVI@aVK@wUamIXm@XUV@@bV@VmImnUUwVaVKXUnVK@akVwV@nL@UV`n@@XlnIUJl@X¦V@aUIVm@anV@UwnL@VlbVL@KVVXUWwUUVUka@UVJnUlbnalbVVn@°LV`Þ@XVxV@@bVlUVVbXnWlXnml@XXWVXJmbUI@VllUVkn@@VWV@Vnb@VXUJVnn`lLVka»lVLnw@WV@lInw@WnU@U@mknUVóKwUmUXUU@@wVJVIl@XKVVVbVIJ@Un@lVLnmb@U@Ul@nU°VUVJnnVJV@@mVU@@wkUVwkKWkyUUkU@alkÈ@lJ@xIl@UUWVkUw@Kn@@kmaVUlUULÇUUKl@UUmL@aXU@mlUUwmKkUUVKVUaKUnK@U@Vl@XUWUKlwX@b@K@XkV@UwWJka@aUwmV@U@@U@wUm@»kLWVkIWXnmV@VkbmKLUbkVa@aa@@aVU@aVak£@±UkVU¯VUUJVUI@kxmUmWUbLw@K@aU@@aVU@Kma@aka@_VWkk@UWVUKULWKULU@KUnwVaUKxU@UmaLm@kVmVa@UkmI@@KmIkxU@@KU@mmakI@VLkmWkkJ_U@V@L@nxXbKVb@VVL@V@LUbUlmbU@UUWJUb@VV@@L¯K@LU@UVk@±z@kLUbVl@Xm@akm@U@UUJU_VWkn@`W@kw¯LmbU@UJUb@zmVJULmwk@mVUnlnb@LWkb¦@x°nXb@bUl@LVlUnlbUJUxWakLUVVb¯llkn@V@@nVbUlVbUnVUK@IW@L@bV@nxÆJnXVbUJm@@bnmJnkl@bnnK@Lm@Xx@VVbV@nb@UVV¯@bkV@Vmz@lnLl@kVbUVm@mI@WkJ@UWKkXkl"],
- encodeOffsets: [
- [109126, 25684]
- ]
- }
- }, {
- type: "Feature",
- id: "4503",
- properties: {
- name: "桂林市",
- cp: [110.5554, 25.318],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nU@JX@`XLm¦Vb`lVXXW@VblČnVlanLnmVLK@_Va¥@kUa@VmVbaV@XVVzlVVK@knKVmX£VKLlbn@b@llL@xĊôXaV@°È@¤bnV@@Wl_VU@WnVamwwVbn@KVLX@VmVUxlV@nVV_nK@mI@Wn@@IUĊ@@wVWX@@I°VVm@wmU@m@IUVklkUmmkÅV@@aV@@Wn_UKla@kaVlVanb@k@@KlVn@@aV@nIWWUUaVU@kKmwU@UImKk@UU@w@W@k@UkW@mk_W@Ua@a@¯mV£@mUUam@kWakVama@UUm@nw@alaUmnUlVlIVLVyk£Vm@k@UUJkK@kmKUwKkWK@UXImyVwnI@mkUlkUKkUVmw@kkJWUÈm@_k@@aaW@UUJUwU@@IWKkmUUV@nVl@bVb@bUUXakw@WUkbkKbm@xUlkLm@@wmKUX@UaVWXVmU@@UUUxkmWXkKkUWaUaUbL@`UL@LV`UXmK@VmakLVbkLxUJUIVbUVVb¯KV@Xnl@lVXbmÒnV@L@VWKkVUIWJkIUamUUbm@UkU@JUbW@XWxUam@kbVVUnUJmUUV@bU@UUV@Vk@bmULV¦U@VU`VLUL@xVbn@UJ@nWJXXVVV@bkxVbUxL@x¦@UlXUVVlULV@@nUb@xlnJVnlVknUlVUbmU@bVx"],
- encodeOffsets: [
- [112399, 26500]
- ]
- }
- }, {
- type: "Feature",
- id: "4501",
- properties: {
- name: "南宁市",
- cp: [108.479, 23.1152],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lKnbnU@Ua@KLlJVX@VnL@bW`Xxl@I@UJl@nV@XV@nXV@lK@UVL@JULVJ@nnJlVJ@VULaLUKnmKULVVU@nU`lIXllnK@UlJnb@nV@LV@lwnJ@L@nJl@VUbUn@lnKnbVV@wVLUbxVm@LVVKXLVKVLXU@VllUX@`lb@bnbL@UV@bV@@b@LxKVanXVUUmVUUUaVUkyUUaImK@mUUVUkKU_@W@UVVVIUWUVaVU@UUKn@k@al@ll@bnL@bVUVX@V@@bKnblmn@V_@aUalL@a@akK@kVKUKlwUUnV¥VmU_VWVIVaX@VaalÅK@LVJnalL@LnKwlVUwmX@VXlLUVnblaUmVUVwXU@Wm¯Va@ÞKnw@wmk»UVW²a@_mW@U@IyLVUUKW@@LX@VUV@@yVU@UV@nwUUmJka@IU@mVkaW@UwUX@`@kLWUk@mkUUm@kUUWkUkWxk@@VK@nV@UVaUUJmIkV@UamLUbkVmamLka@kmL¯WI@wJmwx@akU@aUKmbkaW_nW@_U@Wm@a@wkwUKmk@bkbw@mKUkkU@J@bW@kVWz@bVUaVUx@ULkJWbXVVX`@mJUVU@@Lk@WbU@UJlnXlmVx@Ln@b@KLXWJUUW@kaUVUbmV@nnV@n@lVLVmLXmXkV±@kxÅLUbJWIÅJ@ImXalkUamKkkL±aVwKUU@mÞnbWJXm@lbmKULWUUVkabnn@Vl@VVV@VbVbnLWLXJWxXLV@@VV"],
- encodeOffsets: [
- [109958, 23806]
- ]
- }
- }, {
- type: "Feature",
- id: "4502",
- properties: {
- name: "柳州市",
- cp: [109.3799, 24.9774],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@wUaV@nVaUVklmkUUmmIk@waVm@U@VKUkVUkWV@¥@wKVwUalw@aUUUWWXI@mVIm@Ua@wVKUKV_UV@U¥VKnal@U@VU@VV@aVUnVVIVmUUlan@VbXwWX@Va@IlVVn@VanVVblJXIVJlUXL@U@KmUnÑWakU@mkJUI@mk@wUmmUV@JXaWIXWmaUIJkk@WnJ@aUak@kkJ@kUKU_@myUóWUkm¥kUmL@KUKm@k_UmVa@k@@UmU@mm_JWIUVUWLUlbVUJÇVUIVwKUVk@mU@n@lUL@Km@@l@LVzJmUU¤m@UbV²U`U@@¼Vn@x@V@@VnUVx@blbXIVxU@Wl@@LaW@kxLXVWVk@@U@VmLVLbUVULVVlnLVxkV@nWV@bnKVVk@VLVÈVKVVkUnb@lm@@LVxUlVX@VkJ@wkIÇ@kl@blVVVzXllLUxlV@x@UV@nU@UImmUIUV¯mVk@@V@VamnUKkm@@VIUJUaUUWLk@UJUI@xV@VVWVnxLUômVV@VkVVVUnV@UVkL@VVV@bVxla@bkXVJVn`nU@bb@bVL@VnJ@l@VaU@@_lW@UUU@Unlll@XLl@@UX@°bVWVanLlknVV@VVX@VVnUVLmbXJ@nllXX@`VXlmaXVWk@WkwJ@VL@JbnU@bn@@bVKUnVJVIVVVL²a@bV@@Vl@nUVakalmUL@VUL@Va@mXl@nK@UlKL@Vl@@nkllb@Vnn@nVV°lVInwlKXxlU°n@@I@UnVlakUJWkUK@anUWK@_ÞJ@U"],
- encodeOffsets: [
- [112399, 26500]
- ]
- }
- }, {
- type: "Feature",
- id: "4514",
- properties: {
- name: "崇左市",
- cp: [107.3364, 22.4725],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@JVzl@V@Xn@ll@VlnX@@VWLnUVmUULVlUV@blnUlnXVVKxnLlb@lnbU@Vn°KVVI@WXUlI°VXbVVbnLVan@xJ@_nJa@wVwV@@a@IU@UU@WKXwWIXKmKUaa@UUUUk@@UmmalbVUXVVKnLa@knWXImanÝV@VLUx²blKlnLVbklWbn@JÆIXJIVaÆKlw²@lUnWWnKUUK@k@mmU@mnUVaVUb@lVXVXIWK@Lam@@KUwnWkkmVIV@Xal@@KV@VUnI@_UWWUkam@kkm@ka@mk@wkJWIUU@WXkWXkWWLUU@UakLWXV±VIVWUU@anUWaUK@IU@Vak@@UUKWa@m@ak@@wUkla@mUaUklakwV¯¯@WWUkLkKmakLUnV`UxWX@Jkn@bmlakkk@b@l¯bmbJb@VXnbVV@bJUkkKWVU@mÛVUUW@UVUJWXkVkKmUL@WW@UVl@XXKWXJ@XVlmbUxnnm@UlVnV@XVm¦VJb@mLkKÇbXblVkn@l@bWnX`V@@IVV@VV°n@@_naÆVVbUVVbUJnzlVUlXkV@Vlx@XVnxbKUK@b¯VVUVL"],
- encodeOffsets: [
- [109227, 23440]
- ]
- }
- }, {
- type: "Feature",
- id: "4513",
- properties: {
- name: "来宾市",
- cp: [109.7095, 23.8403],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nVlw@VJUIVVUV°lU²V@l¤Ub@bUV@b@b@bUblVaKnLla@UnUWmXlJXUlKV@V_U±Van@V£nVIyU@K@kn@@LVK@k@mnVl@VULUxVJÈUVIUaVkXKVVUXJIn`@nnV@Vl@@UbVnl`n@VL@LnKlVn¦VlôXVnz@V`VL@llIll@Vbb@mIXl@lIVJnbWXXJWb@IUnVVn@xl@nVJI@WU°LUaVUUaVJVIwlKUalKnb@UnLVWU_@KVK@_KVa@VKU¯VLVKn@laaUkU@maVUJ@k@Um@XmbkyVaUIUU@KV@laVn@KXKWUkUk@aWUUVw@aXKmVaUUkmIlUU@wUaxUmmU¯U@WLUmVIUym@UVmUa@wmw@çm@aWLUJUIUamKmL@ax¯¥kU¥U@±kUVmKU_mJUbkKmLÅÇ_@WWUXUmaVUkKUWW@nVxkUxmL@KkKmbUI@KLkÆbUbW@UbUJUXV`UnU¦mVVkxVLUL@llL@b@bkKVb@bU`m@knmaL@a@@UWVUU@amK@akkk@@b@lmVL@VUVUbVVXUJUU@V@XV`lLUVVV@nnLJVbVlzUVVbVVnUVVU"],
- encodeOffsets: [
- [111083, 24599]
- ]
- }
- }, {
- type: "Feature",
- id: "4509",
- properties: {
- name: "玉林市",
- cp: [110.2148, 22.3792],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VJUXVVXlWX@VxVnX@@`ULWUXÅbWK@mULUUmJ@n¯b@l@VULVxxXU`VXXJVIV@nm`@nUVXn@lWVn@b@Jn@nU@Lm`@Xn@WJ¦U@@VnLlV@@Xl`nIlJnkVLw@KVK@UaVL@bVKXlUUKVK@IVLa@U@WLUlVL@bU@@blb@VlbUxVbXUVJ@xVLUlV@VUbVLnKlXJ@Lb@an@VanL@`VLKV_UWl@U_a@WVInlVUUUVm@I@W@wVakIWm@U@XwlaVbnI@m»Va@aXaVLU»@aVa@kKkL@KmU@WzUK@wU@VWUUVUUKUa@mKmbUK@_nWVaUkVaUaVUVLXKVVUVmVI@UkKkLm`UkW@UwWW_UaU@WakXmK@xUXJkUUWUk@WlmJ@km@@aUKzmyVka@kkWVUU¯lmU@@wkkmV@Vk@mÅIUka@Ub@m@UUU`mUbWaWmbXXKWIXUWm@Å@y@UkIUJUUWLUWL@UkVUxW@kaWbKWnXxW¦nm`XLVlUbVbUxI@JmLUKUb@VW@@bkL@b@VlU@xk@L@lxXxWXX°V@VVVbUVV@UVVbULVnVJUb²baUb@VVVVInlV@VnXaVUlIVUb"],
- encodeOffsets: [
- [112478, 22872]
- ]
- }
- }, {
- type: "Feature",
- id: "4504",
- properties: {
- name: "梧州市",
- cp: [110.9949, 23.5052],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VbXblVlLXWlnwVV@VV@UnWUXVb@VWXa@kVKUaVaVkUlyX@VaVmUwUaVU@UÈymI@aU°@nWV@VaVaw@IV@VmnLVK@kmmna@VbVI@aV@XbW`ULUVVx@VbUV@bl@VLXblJn¦lL°°@n@K@UlLnKa°LWbnJ¦UÒVUllLlVnKnbWnnV`w@@Xa±nl@XKV_WVkVa@kVyUa@wU£UW@UIVW@@awWaX_WKkVmUULmak@UJUI@±m»k@m»VyUImnmmwnkUmVaVIUn_mW@»Vk@VwkmmUXa@IaVmm@Wm_U@mIUWóLmUk@laXmmkUK@UmKULUUmWUL@VakU@Ub@b¼VUKWb@bUbn¼@mJUakbWx@@VXnlJUb@x@X@JUnVVUVmkUJ@XbV`k@VXU`LUK@_mKUbm@@b@U`@nlV@bUnbVbn@@`VbUbVV¯bm@@mJXb@bVnUllVXUlbUl@LU¦VVmkLVb@bl@V@XlK@V@nUJUz°mwmLmlXbWVU@UUUlIU@VVmV@@¦bXbWxXWlXVWL@LUmkbU@@LVVVJUblzna@WVn@@lIUVnbV@Vlbkbm@ULUKV°UL@"],
- encodeOffsets: [
- [112973, 24863]
- ]
- }
- }, {
- type: "Feature",
- id: "4511",
- properties: {
- name: "贺州市",
- cp: [111.3135, 24.4006],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nL@xn@lKVkwn@alLlaXV@lxbVWV@aUa@aUk@mVUnVlXL@JV@VxVIVX@b@bl@@`ÇnXVlI@lxUnlVVLkllV@nmJUxnzWJ@VXLlLVxnL@lLlVI@V@lUnl¤UzK@Vl@LlLnb@VnVVU@kaKnxn@VkVJ@ÅUlakmWIUaVanm@_UK@UVWUa@klXamU@VmVIXW@lUVknVlKVLXVXW@b@VlnnVL@KXLKn@lb@UnW°@VaXWVb°aVa@I¯aUkUaVKVwaXk@aa@wkm@alanUVw@alK@Umkw@UaUmU@WXUaUK@UW@UaVWI@¥Xa@w@WWVXwU@mKUXUWVU@a¯kl@akU@UULmK¯VUVW@U_m`U@@xVbUz@lUbUlXU`WLk@m²Wb@@xU_mXmmamLkUkKVkUVÑ¥mIXa¯KbmLkK@V@Lm¯@¯kKm¥kIWaUKk@@aVUUa@UwVUKVX_WaU@@bUJUa@mbnn@lULmKUnU@@JxUbUbU@mX¯@V@bnJÇz@VUVVbVxUnUbW@kzVUlUbVbUL@lWb"],
- encodeOffsets: [
- [113220, 24947]
- ]
- }
- }, {
- type: "Feature",
- id: "4507",
- properties: {
- name: "钦州市",
- cp: [109.0283, 22.0935],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@IlVVlnL@xlaal@nVLlx@x@bXnV@@`mXX`lbnaVL@blV@bwnxI@xXJ°nKl@lbnKnblUVanKVb@lUnJVIVUb@VU@mL@Ul@XwllVVXV@lVnlVnl@XVlK@@_VWVxX@lbUnV@@JlbnIlmnVV@UwVK@U@k°a@mnIVVVK@nXLÆaVWXVK@_W@Umw@UXWWkUUVWUIVaUkJUVWbUmU@mkUJUU@UVab±aVaUIUmVKUaVUU@VUUaUUU@W¯XWWww@k@Kl@wkV@U@alK@aX@@UmIUWUI@mmkXU`U_WJUnUJmUk@@amLU@UVW@UkU@@VbUWVUk@@wmKkUWLUWX@JmIlUkkKWKkLWU@UKWa@bU@@a@_UKWUUUmJmw@nV_@ġğKóLmbU¼VÆ@xUX@Um@wklVnUnlkaUV@lV²WVklWXXbWlkVkIm`UULUU@UWx@XU@@lWLU@kbUbV`UXllUV@bmb@LnKVbULmnVVIV`X@"],
- encodeOffsets: [
- [110881, 22742]
- ]
- }
- }, {
- type: "Feature",
- id: "4508",
- properties: {
- name: "贵港市",
- cp: [109.9402, 23.3459],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n@VzUJnVK@XV°nVVnwVb@xVVknJlVVUbnWL@bUxVVXbl@lVXkWXwWaa@¥@nUUUV@JVkVVV@XUWanknKxn¯VyVI@m@UkL@W@Uk@aUalKnUUV¥@KVkkaWVkUVkUm@aWanI@n@°aUUVaUa@_m@UamaV@akU@mV_@a@KWIkmLUKaUVU@kVUK@wUIWVUaVwka@Uka@aV@@aUKVkK@X@VbKU@JULVLkVWUL@aUKb@VUL@LxUKmlkImJk_@WU@kmK@UV@¥XIm@@Wn_@KmVm@@I@aUmkXm@UWV@mn_@mUUJWIUWV_WwU@mUknVVmxU@@VUV@zU@UVW@K@X@VLUVKz@J@VnX@`±bUXV¼ln@xmxÝL@Ubn°@XWVUxUVVnkbWVXV@X`ÆÈKnlLVanIV`nLVUl²V@V¦l°¦wb@nKnLVbVJIVXK@bn@ènx@xVbUnV"],
- encodeOffsets: [
- [112568, 24255]
- ]
- }
- }, {
- type: "Feature",
- id: "4506",
- properties: {
- name: "防城港市",
- cp: [108.0505, 21.9287],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XV@X°°UlxkbVlVb@nkbVl@xl@@b@nXbVL@Vl@UbV@@JVLXbmV@bVVUXUJU²WXlKVb@VVXKlXWlXXWV@VXJlI@xl@nlbn@lln@lbXalIVK@VwUVbU@aXylUX@@aW@U_UJmUnVKUamL@Kna@aVUkkVWU_ValaV@XK@kV@@WwVXV@VKVVn_lJlUXkWaXWlkXU±kU@VUlbkVmUmlk¯ÝW@mb@¦VxULmkJUU@ma¯wmkX@VóJ±bUVUXÝWklWXXlxUabIğÇ@U@mVUKkkm@UJm@XnWV@x"],
- encodeOffsets: [
- [110070, 22174]
- ]
- }
- }, {
- type: "Feature",
- id: "4505",
- properties: {
- name: "北海市",
- cp: [109.314, 21.6211],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VaVLnK@IJVwUaVaUkWKn_mX¥WwXmLXalbU£UyVÅ@Ýwm@°lLÅUmkmwÛaƑLÝUUm@ȣÆV_Ó@£UUV¼U°W̄ÞVbXbôx@b@bmV@ÇUÝ@@ĢU`m@nxnIVVVXVL@`@bV@@aXbVL@XVlKXLlLVlknJ@IWVXXKlVnL@xl@UVVXa@UV@VlX@VUV@nK@bl@nVVIVmXIV`V_lWnn@VJVXnJ"],
- encodeOffsets: [
- [112242, 22444]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/gui_zhou_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "5203",
- properties: {
- name: "遵义市",
- cp: [106.908, 28.1744],
- childNum: 14
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@@UnUlJnwJU°VL@bnVUwlJ@XXVlU@klVUJknlUllL@bUJ@xULUlUblVkblbnwUXmla@wV@VK@L@UXaVKVLXWUVa@U@Im@@W@£UKUakKWIXU@al@@llUnL@W@Un@@VlUV@VIUanKl@Xb@lmxVb@b°bb@nlJVVnnJ@b@LV@ln@LmV@Vx@blnVKnlJXIlwJ@Òb@nlK@Un@UL@VVVVUUUVKl@VUVLJ@UVUUw@Wm@UVÈVlbUb@JLlX@@xLmk@@nlx@bUJUzVJ@@LVxUV@bWxnLnVVK@_K²xVbV@n¥@aVI@b@l@VaKnb@n`nmmýW@U_wV@VlVV@Vn@n@nI@Jn@°¦VaUU@mVVWVaUÅU@aVKnVbVUmmU@a@kUwm@aUUmUUJ¯lakUaXaWUUaVkkamkmUnVlULVlJ@XU@UJWUUwk@aU@WbkWL@U@WU@@XUKmV@aUVwUĕUJUamUUVUÑmnIVJ@kl@XalJVn@KVL¥@UWIXWmU@mVUKnUWLUKUaWUUKVU@U@anUny@UlUkK@w@a@aVU»UkVw@WmkJÅmUUVmwXalLXWWUnam@XkJ@UVU@U@W@@U@I@Wl@Ènlw@KXLWblVUkalKUUVVaV@@wnIlaUmkUKWU@KkUkLWaKUUWUn@VK@LnnWJUIVkUWVnV@V@@XK@VUIUJ@IWJkX@VVJIVkK@I@UVaUWk@m@wnUWKk@mxk@@lV@bxmb@x@VUmLkUJ@nVV@b@VkLVbU`¯Il@U_UW@UU@K¯wm@xL¯¥kI@bkb@Ua@m@kkW@XVbmV@kV@bWbUbV@¦xXlmVk@¦bkaWL@KUImK@wUK@VUIb@bmK@LÅy@akXW@kbWlXblL@ULUb`@UkUymX¯@mUJUUJL@Lm@@WX@lUVlXll@l@Èk°V°X@VU@UVll@XUJVXUVm@@VXLWlnV@Xk@mVULnxV@@bmkL@VWLUbU@UVm@b@ķ¥UnmJ@UUVkkJUlÔU`UIW@°kLUlUI@WVIU@mWKkXk@WU@bXW@J@xX@l@LVl@xLVxXX@xKnxVknbKVV@ULWlXU`@nUlX@llVXVUKlkUKlI@anKVLXKVaUIVWV_VK@VnLlU»VKVLm"],
- ["@@@KlKkUUVVX"]
- ],
- encodeOffsets: [
- [
- [108799, 29239]
- ],
- [
- [110532, 27822]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "5226",
- properties: {
- name: "黔东南苗族侗族自治州",
- cp: [108.4241, 26.4166],
- childNum: 17
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@VV@XkV@bUbWJU¼Vb@Vnb@b@J@bL@LV@UVlUI@aKULVb@bkJmxlLVxknVJkxnKmnnL@bn`WIXlWLU@UxVbUVmKVXI@JVIVJ@UL@W@@UmUXUlVUVJXImm@KL@UVmVXVLXblKlV@LXVLlVVnkbmJ@xnXl@bXa@VanaÒLmVnIlÞ¦°k@b@@lVnJlUnVX_@lVlKVUUxVLVWVIXJUlnnWlI@KUaUUVKn@VaVXV@na@mw¯@mUkJUamI@lk@@am@@IUmVImUUw@anUVaUU@LU@WaWUXWWwV@VwnU@L@ynbl@@X@aJ@nW@@Vn@lVLlxnIl@@UWKUnIlJXIVllIVV¼XK@aVIV@@bn@VKXLVKVVVInwJ@UWI@mX@WKnI@KmUUVJUL@VKW@@k@aU@@W@InJWUXwWI@W@¯wkaVaUIl@nValIXWWI@UUm@anwWkXWWIUbk@UJmIUamKVUUUVVama¯VkIVVUlKnXVwX@@WVaUUVa@IlaVmknawkUU@U@mUVUVwl°LVbnJVU¯la@mX@@UWKXU@aV_V@@JlkU¯@VnK@km¯kU@WUW@mmU@kmlU@wkL@WUkL@VmLJ@b@V@bknUUVK@UVKUK@Uk@Wa@LUVVnUbmVk@@UU@@aV¯K@U@UU@WmUL@aU@WVw@IxXll@UXK@KXXVJna@wWa£naUKVm@UU@mUmalm@@XkVm@U@VLmWU@kkWxU@@bVV@VkXVlV@UUk@@mI@KUwm@UmVUUwU@lwkV@IUa@mUaVIVKVa@w@U@UJkb@n@bmJ@XmlVUxWXkJmUkUUVWxUlU@aULUmbU@@WXkmL@xUV@nUxÇm@XLWbnlnVnnUVUnVVz@lbUVVlULVb@V@nUJkwm@Ux@bWbUK@UULkaJbUU@U@lUK@XUJmnJ@bU@UwWax@zkJWnUJUUVVV@bXn@xVb@JLm@Xw@`@bkb@VmXUV¯L@mW@@n@V@L@KIW@@aaUx¯@Um@XbW@@LV@bnVWVkKUzlV@bÆa@lnI@VV@@LnVVKUaV_VJVbnU@bn@nX@yVIVxXKVLlUVaXU°J", "@@@KlKkUUVVX"],
- ["@@UUVUkUmV@ln@VXVK@K"]
- ],
- encodeOffsets: [
- [
- [110318, 27214],
- [110532, 27822]
- ],
- [
- [112219, 27394]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "5224",
- properties: {
- name: "毕节地区",
- cp: [105.1611, 27.0648],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UkV@kW@Xn@@KKVIVVIn°@nWVzl@V_VaVK@kKWaXklaX@lW@bÆz@KnL@aaVJ@UVL@xnLVJ@LXKlba¥l@nUWkw¥U@VaXa@amLkUKm¯kmkIUaKUIWkKm@anw@mlwXImUk¯@a@amU`kkKWVkxmUUak_mJmw@wmXUW¯X_@WnI@aVwkWWýÅU@WLkUaUbVV@lUVVnm@kUmV¯kKLwmVUUaWVaaWw¯wÈ@VULUVUUK@nWJkIl@Umxnbm@kbUJa¯bUbVxmLUVaU@VUUWxkVVV@bUV@XWbnlUbbUJlbUV¯b@z`WbXnmbawUwVWUbUxmbU@Uam@VkVawVaUWI@mUKóz@lUlÅ@WIb@xXxml@XklULWKUmwUa¯KUXWJkaULmKkLWbkKUVImWa@kUaULW¯LK¯@kbL@bx@J@bmnnlUlzU`U@@Ub@mn¦°bUVx@bkVm¼mx@mkmVV@bkxVnaVV@bU@mL@b²`lIVV@lXLlbVxn@@bl@XllIVnbVn°°wlbXw@mVa°lVnU@mVLVbn@@b@@WVnUV@Xlxn`VznJVb@L@bV`V@UnwU@WUXKV@UUlmUUlaXalLmbIVbnJVIlVVaUUnWVXnVLk@nWnblnlb²xxVKVXlVXLVWLlUVJna@wVL¼@JVX@`@nnx@nWJU@Vx@XXKUblxU°LVKVVlL@KnbVUnJIlUnKl£VWxIlJ@nVÞUVVnbVX@V_°lnK", "@@@UmWUwkU@Um@@VkL@V@VVkV@nbVa@"],
- encodeOffsets: [
- [108552, 28412],
- [107213, 27445]
- ]
- }
- }, {
- type: "Feature",
- id: "5227",
- properties: {
- name: "黔南布依族苗族自治州",
- cp: [107.2485, 25.8398],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@V@IöalK@UV@@KUaVIVVLlaVbVWnX@@LnUlxl@naVLXVVaVUJ@lUUanWWI@VlV@Xbb@Vn@VmVVbk@kU@VV@XJ@zn`ULW@kK@_WVUK@LUb@Jlxn@nnWlU@@bx@XVVU@UbVb@n`VI@VVLUlUIUV@KmL@VV@XIV@@lVLVmXV@WLXLW@U`nkb@Vl@UL@VVVLllX@`lIXbJIXWLaVL@XXWĢb@bmK@L@°@VnxmxnK@xVn@VkL@VLakbl`VnnxVnUlV@@VVXV`@k°JV_UalK@U@aUU@mIlVnKV@U@wnaw@akU@l@nwl@XLmV@xnl@VXUb@V@JlLUJUI@UlWUnLVUUaVwV@XKWkXJm_@amKnmmLwlUIlmUwkKnwlI@aUaVKL@bVJkVUU@@KK@a@I@ama@UUaV»XIVa@alU@WUU¯IWVUbkVUKWLUwUJ@zmWm@@amVUaUIU`VbULmU@KU@@UmJ@kÅb@akUVylLXUmU@aU@KX@Wan@V°@Vwb@bX@J@LK@@U@mX@@n°KVUnW@Ula@a@_x@WnK@IUa@wWm@aUUUVVVIXmlI@ywXbVxV@@aInmVI@WVL@k@VVVaIlbVK@VVLXa@aVwn@lxVI@m@UUaVKUkVUka@UymUVVUmmUmmkXaWK@ÈnVw@mVU@wKlnXW@V@naVVKUk@KVIUW@mk@KXU@Um@@lVk@UVJna@UWaL@a@Xa@kmmVUUk@mkkamJImJUUmIm±aUUkambkamVUU@VlbUbVVxXWVUU@VUakU@UmUVU@mnUVVnUbVJ@bUW¥kLVamVkUaWJU_UVWKk@@nlUVVJUXm@Vm@UnVlmbnmJUbULU@@UUKWVIWxnJVb@xUL@bUJWIkxbkb@xVJbmU@kW±LkKUkVa@a¯am¥ULkalÑlKXUWXaVakImV@ka@UUJ¯aXmmbKWU@wUUaUaKmU@UXlWb¼WLUKUb°UlVbkbVL@VJ@nVlUbUXmJ@VX@lbUbU@@bWb@VnLVJ@bVVUzVL@lnL@bVVVULmKUkJkbm@xVb@VkKVnnV@b@WXUnVlVVXVJUXlVXbWV@VU@Ubk@@KWbUUmL@JnXV°XJ@_`UbkXVVlÆkb@VLXVV@V@kKXX@`V@@n"],
- encodeOffsets: [
- [108912, 26905]
- ]
- }
- }, {
- type: "Feature",
- id: "5222",
- properties: {
- name: "铜仁地区",
- cp: [108.6218, 28.0096],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°a@aÈbVUlU@aVKnVVVUlyX¹lWVa@UVnUVU@m@mUl@mÞw@xnIVbna@KVIJ@kwV¥UXÇVkVW@kkKWU@aXUWmnIVa°VXbmL@VVbnVVVUbVbJVbVKXkVKVanU@aWnWUWa@Unk@mVIVK@wXxlLXbVJVlKbl@VI@maXalVVVbX@@aalnkx@b@Vb@Vnx@bVVUXn¤WXn@Vl@Vlzn@`@I@KUU@V£namVkXa@aVKnnU@anVlKa@UUU@amk@»kU¯@aVWnkWmkImU@akaVm@»VUV@UKnkW¯XWlkUKnIWa@nmlIXmWUnwUwWm@wULmaUJkIUaaWaklwkwmJmU@bkJ@XUJ¯W@XbWbUKUkWJUUVKnn@UmmXUWa@mU@@UI@WmXVykwm@kaULWwU@¯lKUUVU@mU@UkmaUbmV@bxVnVUJVn@Jn@@bl@@knJVblInV°@nx@mbU@UWUbm@ULVVVb@LkJmXkmVWIUJUXUKVwVUkLkU@W`UmkVmIU@k@@a¯lÝ¥kmJUnKÑmbUb@Wbak@mWU@UbUVVkLlbUVkXaWK@LkxÇmk@@X@J@V@@X@VUV@VIWln@mbXVWXkKWbnxVUnVÆInl@XUxVl¼UV@b@b@xlLkV@VmzmV@b@VUVVLXVVbVLXKmVVLU@nnVWXXJ@V¦UK@LUmkIWbk@@lUImJnVÒVUnVVbVIVĖUxV@bnUVL@WV@@X@VKlXXaV@@blVxXVVIV@@WkIUVKUkVmlnnbllUVbXVWbblVkb°VInVVV@bnVx@l@bnVVnUUamUL@bVVÆUbUXUn@VVUb"],
- encodeOffsets: [
- [110667, 29785]
- ]
- }
- }, {
- type: "Feature",
- id: "5223",
- properties: {
- name: "黔西南布依族苗族自治州",
- cp: [105.5347, 25.3949],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VL@Vl@@IXW@kVUVbnW@XlKVVnUVlL@baVbb@xX°ÔUxV@kbm@VxkxWJV¦@ÈnVKxWXJmV@nÒ@xVbn@@blLk`VX@bla²JVUlnn@U±lw@wnw@mlwVIX@@m@klKnkaKnwmmXkÆVmU¥l@nb°n@aVwVmVIVnI@a¯@mU°l@@VnI@JV@UV@b@IUbVJmXöºzllUbVa@aXUl@U@llLnKVaUa@UmK@UwVbnKV@VwVK@UXV@Vbn@w@UWnX@a@mI@UUKlaUaVk¯VaVLXK»XaWk¯mkğwmW@mIVkwJUIÇVwUUkVKkm@UkmU@WÅwm£Vm¤¯IkJWa_lUbmJzÝJkUÇVU@bUÝnm¯LUb@`mL@VkL@VUmmk@UU±Umka@kU@ķymUkk@mmkÝmUaUakImV@V@VÅL¦JUXmJXWb@n°Æx¼nV@LlbUUbmL¯@ÞbV¤nbVx@bUVlblI@KVVUnVJUn@VlLUlmLUUUxmK@I@@VW@@bU@UJmUkLVVUl@b@V"],
- encodeOffsets: [
- [107157, 25965]
- ]
- }
- }, {
- type: "Feature",
- id: "5202",
- properties: {
- name: "六盘水市",
- cp: [104.7546, 26.0925],
- childNum: 5
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ôyVL@nXJVUbxbUlU@nVbV@naVwaVUXVxxbnaWmXa_@y°aVUkaVIaVamkXa@WVU@aUUlUXwVV@UVbVUnKUwVa°abVIlan@manw@VklJXI@mLVVVUVK@UÇk@KUa@UkaVU@UVWV_XWVXVWlLXKlLXaÆKwVL@akKm@Uw@@XUVk@VUI@wWK@aUVI@UkK@mLW@kImJUÅVmkXUW@UJkx@nmx@xkxV²m@kmUV±Ikb@aUWl_kK@am@Ua@wÑ@mnUWIXwULm@ÇU¥XIlwUwn@laU@Vw¯ÓW@waUab@akKUmVUUkL@WmXUaUV@lWX@Jk@@UUKULmLUJmzkKmVX°VUnWKULL@mU@UnVJ@b@UV@X`m_@l@@bmbXJmnn@°wnn@VLX@V@nVl@nk@@bl@nn°WlXzW`XXVKnUlxVbUb@VXb@VxÈbVlnbmn@kVUL@mLUVVL"],
- ["@@@@UmWUwkU@Um@@VkL@V@@V@VkV@nbVa"]
- ],
- encodeOffsets: [
- [
- [107089, 27181]
- ],
- [
- [107213, 27479]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "5204",
- properties: {
- name: "安顺市",
- cp: [105.9082, 25.9882],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lL@bUKxÅLWbkKWLkKUXUWWXU`UX@VUVlb@VVb@Ll°xXxbbXUVbVnUxKlL°nUlVn@UmVU@kUUVablVXKV@ÆXþlXUxnU@mVK@_@ml@UU@blU@KnLVyUw@@UmkWVw@UVK@VXzVK@nVVUUW@kVJnla@nKWkaWL@Uõb@JU@mU@@_WWL@lUU@WUUK@lakÅUUlWVa_@`WIU¯mW@InKVVXa@Ll@VaV@@UXUWakUVWUIUWUkUmVXW@@amUUmLl@UUawn@laIVlnLVKUUU@amK@kUKVyUU@aUImK@UXa@aV@VakaW@@UnIVWVaUkb@mWX@Vxm@UaU@W@VULUxU@mLaUx@VnL@VVbUbmLkK@kVk@WV@bUbVakkyõ¹nWUIVa@J@aVUU@@ImJ@Uk@¯V@n°@bmJUUJUnUxbm@¯mak@¦VUnÅWlnnmxLbmlkL@l@nWVnlÆUVnIlJ@XnK@lL@VJVU@bXL@xVJUl@VU@W@Vxn@"],
- encodeOffsets: [
- [108237, 26792]
- ]
- }
- }, {
- type: "Feature",
- id: "5201",
- properties: {
- name: "贵阳市",
- cp: [106.6992, 26.7682],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nlLXVJLVblJn°lnLlVnKlU@nUUa@WlX@ln@Vb@la@alJ°¦Kwn@°xLVkUmmwUmk_labK@UlK@UUm@wLmnwmw@U@¯@KnL@aaġXWW@UKbKWXJIWakJ@_kWkKUU@UVKk@@UlamV_X@WKXK@WUUnUK@kU@WJU@@UnK@LVUVJVkUK@UUJm_@UaVaV@UU@Ww@aV@Xkmmm@kw@IVa@KVLXU@`lLX@VKm_@yI@WU@UlVl@UanU@Um@UaWaU@Uk@XJmXVbkV@IUVUbWUUKmbk@kwmV@K@mWUXUakbKUUUJVb@LU@@VkL@VXKlbXmL@kbmUI@lVXUVU@mULWy@UUL@VUxXnl@V@VxUzmK@LkVa@VVk@@n@`UL@nmV@bmJ@X`WX°WVn@xnxnIl`VbnVlwXUlLl_nV@b@bl°VnWJkx@nmx@b"],
- encodeOffsets: [
- [108945, 27760]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/hai_nan_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "469003",
- properties: {
- name: "儋州市",
- cp: [109.3291, 19.5653],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@஼jpnr``pRVHÊ̤Zt^JÖA[CâlTébQhRPOhMBcRSQiROE[FYdGNOEIH]MgEAMLLIAG_WMCSL@ED]PCLYC[ZIHgjSxJTMbHNEFCMEE_HSDFHSLECRNSFDRICHNADGPI\\RZGIJTIAHLDQOHG`GTNCOIC@eIGDWHIS[kiE[FMbECZS@KKS[FDWsCeRuU_DUQNOE[LKGUBM¨EDQP@HWHGDImXCog_~I_fGDG|QDUWKBC\\ore|}[KLsISBHVXHCN`lNdQLOnFJSXcUEJMCKSHOUMDIm_DI`kNDIGEYFM\\YPEEIPMSGLIKOVAU_EBGQ@CIk`WGGDUM_XcIOLCJphHT_NCISG_R@V]\\OjSGAQSAKF]@q^mGFKSW^cQUC[]T}SGD@^_aRUTO@OHAT"],
- encodeOffsets: [
- [111506, 20018]
- ]
- }
- }, {
- type: "Feature",
- id: "469005",
- properties: {
- name: "文昌市",
- cp: [110.8905, 19.7823],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@hIJ¤Ī¯LQDaFßL[VQìwGF~Z^Ab[¹ZYöpFº lN®D´INQQk]U[GSU©S_c}aoSiA£cÅ¡©EiQeUqWoESKSSOmwćõWkàmJMAAMMCWHGoM]gA[FGZLZCTURFNBncVOXCdGB@TSbk\\gDOKMNKWQHIvXDJ\\VDTXPERHJMFNj@OwX@LOTGzL^GHN^@RPHPE^KTDhhtBjZL[Pg@MNGLEdHV[HbRb@JHEV_NKLBRTPZhERHJcH^HDRlZJOPGdDJPOpXTETaV[GOZXTARQTRLBLWDa^QAF`ENUPBP
\\Eji`yºEvåà"],
- encodeOffsets: [
- [113115, 20665]
- ]
- }
- }, {
- type: "Feature",
- id: "469033",
- properties: {
- name: "乐东黎族自治县",
- cp: [109.0283, 18.6301],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ªVLP`@PEdNRAHOPEAKHEVL`GZBJfvdTAXNNTZJFPrHHNpKTD\\ILHbEVd^JOHLh@NNBnHP`\\xH@NBRLJTlNv_^CTLd@bNDVFbxdFVUPBTKOGEOUO@OEBXQP[H_EI\\EbeYa@UO_JMEJ_IEDKJUGMDcNUd_FMTEJSGoZ]EIYGO[YWgEQ]a@WHEDQKUSDUGAbYBUpSCYNiWqOSQEoF[UcQISWWNMSDe_cLQ_UBiKQOOASQAWgSā]ZaSPÝZ]XMXS[^oVËNgNKlE RôEø"],
- encodeOffsets: [
- [111263, 19164]
- ]
- }
- }, {
- type: "Feature",
- id: "4602",
- properties: {
- name: "三亚市",
- cp: [109.3716, 18.3698],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@®ĂhTBXTRPBRPjLVAR`dKf`TCNXMTXRJVdE\\FpTRrPjXZMTDVoZABaVHTCLVCRGF@X^bFRhZXP\\ZHHMA[^wBWXJlW¤EJ[bCTOFWWMm@ILMGWQ@DQ^QNWFSHEbF`OXNbOVNKTEPDTLTCCVTREfvfEHNbRAENH^RJXCFHNFRpVGHWISDOTMVCZeGamaLoLÛD¹¹ėgsia{OųETtlÉwr}jR±E{L}j]HąKÃT[P"],
- encodeOffsets: [
- [111547, 18737]
- ]
- }
- }, {
- type: "Feature",
- id: "469036",
- properties: {
- name: "琼中黎族苗族自治县",
- cp: [109.8413, 19.0736],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bRFnHNbHgN@NPEnbXP@bND`NT\\@\\QZb@`@J]V@XhDpWnCJGHGXO@CR§FANHVKLF\\MPVR`CvVfQtDPKpGHG@S`WJP~^dSTHWX\\RHTFACQTIAUPOU@MG__IaYSFQKNSbORHXCZeTFJgB`YBMNMFi~IVDV[tGJWXGDQRGF]JrALgESLSAYDGIaFeXQLS\\MKSLSQYJY}eKO[EHiGSaK[Yw[bmdURgEK^_kcSGEOHKIAS]aFSU@Y]IWFUTYlkP_CUOUEkmYbSQK@EMWUuAU\\M@EpK^_ZMDQ^OXwC_ZODBrERURGVVZ\\DTXcFWNIAWJWAYUUFYEWLQQaCIZeDM`cLKRGpanJZQd"],
- encodeOffsets: [
- [112153, 19488]
- ]
- }
- }, {
- type: "Feature",
- id: "469007",
- properties: {
- name: "东方市",
- cp: [108.8498, 19.0414],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ºxJYZQIYXLl@dR\\WZEn]bA\\S~F`KXaDeTiNO^EEKWEDQXITBXaWaDQMUJOIaTWf@NJV@dSxGZFu_@WMKAU}AQ@MwG_[GOAmMMg@GKP]IUcaFKG[JSCoLGMqGEOYIMSWMSBucIeYA_HUKGFBLOFGPQBcMOF_@KO©UAtERadwZQ\\@ÊJÒgòUĪRlR°KĮVLJ"],
- encodeOffsets: [
- [111208, 19833]
- ]
- }
- }, {
- type: "Feature",
- id: "4601",
- properties: {
- name: "海口市",
- cp: [110.3893, 19.8516],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ńZƂt̬æßFuz¹j_Fi[AOVOFME_RBb]XCAKQKRSBQWSPY\\HbUFSWSPoIOcCOHIPkYCQ]GdGGIFQYgSOAQLK`MFUIGa@aQ\\GGUFcHKNMh@\\OYKAigsCgLSF]GOQO]@GM]HyKSHKPW@Pxi@EMINYREXWRQ@MQcFGWIAwXGRH\\yDI`KJIdOCGRNPNtd\\UTMbQYi@]JeYOWaL[EcICMUJqWGDNZEXGJWFEXNbZRELFV]XQbAZFrYVUBCLNFCHmJaMIDDHXHEhQNXZ_TARFHVB@DTQIRR@YHAJVnAbKFUEMLd\\c^ÍÞ"],
- encodeOffsets: [
- [112711, 20572]
- ]
- }
- }, {
- type: "Feature",
- id: "469006",
- properties: {
- name: "万宁市",
- cp: [110.3137, 18.8388],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@^J@ZTVbET^JBGLFPTHld]`FLQhcVanx\\\\ZbLHTGj\\FLP~fIZRZPVTQFSVAFJE^NDLEE[~LjsxVTG\\NZZNGlLRRGLJTV@hPZANN^@T\\NEPPbDZXO`d^HSvcJDIV\\XZAJUFCLNP@PQ¤@[ïKLÑIÏ]ÇE±I{uYśUćFcYUmsVeBSVgB[RO@aYYPO^]@UVaNeDShMLG\\EfFVE\\F`"],
- encodeOffsets: [
- [112657, 19182]
- ]
- }
- }, {
- type: "Feature",
- id: "469027",
- properties: {
- name: "澄迈县",
- cp: [109.9937, 19.7314],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@T\\GJCXJH@fJDDPNCNJENN^NLHBNSx@DDYbBLLDRbjZTj@`XXTlG^Xr@PJLW\\WLTlWR@HDJTD@X_PO@STMDNTMVV@NLDM`M\\XM\\JNBH[PYZúYzŸ`Ċ\\ÎÝd]c[NKVFLEBaUmBIZGQ@JQSR@CUAEGBQ`SWYRMFgWGCGJCbNnIDGMEDKVAZUEqBYRa^WEUFKYQMaFWXEHIFWMYHCrXVIIiaK@aMCUYNSIISTwXALKH@XWXIEIJQCG[IEQDE_XSBaa[AIPW@]RS[FWS[CD]PEBYNGFSaSyJG]@ugEUDQlGHiBKHUIoNSKqHFaPMICK]UUHIPDJMuCA[SCPIDIOILGAEmU[POPBVSJDREBGS[QXWSGcT}]IO_X@TGHoHOLCX\\ELT@LYTDaFENF\\lj"],
- encodeOffsets: [
- [112385, 19987]
- ]
- }
- }, {
- type: "Feature",
- id: "469030",
- properties: {
- name: "白沙黎族自治县",
- cp: [109.3703, 19.211],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@D\\RV]dTXELnHr]^@LETBBRTHPi^[@U`QTHDJ`MGSogDIPKdJ`WVNHCXHl_DJR@AH`FBVPUJLHKNTJOFFZON[ZEHFCJlMJ_Cn`CJVNGPLTNDFIdVTWEIPmRKMc_kDMWGGUTAtJLK~\\f{pqD[LAVXRCH{HC`eJ`}@W^U@I@_Ya[R[@MSC_aMO@aWFmMOM@haGGMEmaQ[@MESHaIQJQ
MckBIw[AOSKKAMPSDSLOAV_@@`KJRbKRDfMdHZERgAWVsDMTUHqOUr@VQXTT@TfgL^NH\\@heTCZaESNObHPHeZF\\X^ElM^F^"],
- encodeOffsets: [
- [111665, 19890]
- ]
- }
- }, {
- type: "Feature",
- id: "469002",
- properties: {
- name: "琼海市",
- cp: [110.4208, 19.224],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@TP\\pATHTGlZDJGAQjE\\Rb@jVBDCN`JZ[NCNHNXbULPrP\\KNbMTLjJJRFP`pNLZz^FLRHjVPZ@hxVKbHBHMNNJFRlLzGPnNHhIrHHADcPWdUAmEMVQDSKYHY\\EhBN^HpXGNDBNNBnIßÅ_g{³So]ã@ORO@KMEDIVYB[WJUICudGTc]P_YWaCOOMFS[]@MMYBgOU@ISHKQQkKMHYY[MSHwUit}KF\\KFMCF]EIUBETSROUKTLT[NKTWREfJbCHBZKTFTKh"],
- encodeOffsets: [
- [112763, 19595]
- ]
- }
- }, {
- type: "Feature",
- id: "469031",
- properties: {
- name: "昌江黎族自治县",
- cp: [109.0407, 19.2137],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@`ZĤd`òü BSPGP@VSbQ`@]HC~T^SE]N]FkW]E[fYGGOPaTMbFDYfS@g[MGK]he@SSSRW@UVqrPVGNStCXUhBFQGYNcCeLQQaLI@_`@EUwcEaCUaMc@SK]Du`MSkKI~BVNL@X`EvYwHcTU@MIe@SXJbIPNVCRXbWbSAWJCRXFFL]FMPSjCfWb_L}E[TaBm^YF[XcQk@WKZJYRIZw¹ "],
- encodeOffsets: [
- [111208, 19833]
- ]
- }
- }, {
- type: "Feature",
- id: "469028",
- properties: {
- name: "临高县",
- cp: [109.6957, 19.8063],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@jD`hNd\\^dZädĒH´Op@ùZY\\OAGIMN[[W_NCNMKU@NUMSNCTSP@`O@WSCCI@GXQSkXKX[IK@OWqH]SkWW@_SiiYQaKCAKZaCCw@MTGAMKM]FMMIMDSM_HGHRPKCBGSJJIYH[QOJCHMBDGQJECMTDQKFGTCEGTF`NFEDMFaGSNwIiTGhYJD\\KZODC^@FTKND`XBHKJNKFBNhG^FJMPcHEZF\\QPRjQTAdgNOPgQaRSê"],
- encodeOffsets: [
- [112122, 20431]
- ]
- }
- }, {
- type: "Feature",
- id: "469034",
- properties: {
- name: "陵水黎族自治县",
- cp: [109.9924, 18.5415],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@R]NC`YL]FoN@V[vBXVFNL@TRZalnVFVP`DlOZkVSXEE_F[EUFeH[NKTgfCbMVU^@P]ZObZP@\\QhATUfAtUasñiāEoI]eYǯ@aKmaeWuCºKÜKpnbHbYfUDSNCPJTRAHJTDJSfDNLHXC``VBNGTYCQDIXMDSP@xLNEFRNXBIpVNLXah@RgF@`qOML@LJNSPLbaHAh@Jdj"],
- encodeOffsets: [
- [112409, 19261]
- ]
- }
- }, {
- type: "Feature",
- id: "469026",
- properties: {
- name: "屯昌县",
- cp: [110.0377, 19.362],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@\\OnVBFKHPJCJOJTDB\\vDINOCGJVVL^JDONEbrGTLpMVJLGjAHGRkVChF@vH^zIbTETMHAZOFC^\\DXT\\EffAP\\PdAV@UIYfS|S@YPICMeM@sC[_A]VQEwyHSMuNcAUlQJMVGMS@mVBZPFO\\CSFQK[LqDMACiUa@[QiFBRIHYCHkGSBS[oSOqBIE^QHCRWHIXsHU\\UC}JEjMNAN_ZAIhSEYfWDQGaPMTLERZTJb``NHV@"],
- encodeOffsets: [
- [112513, 19852]
- ]
- }
- }, {
- type: "Feature",
- id: "469025",
- properties: {
- name: "定安县",
- cp: [110.3384, 19.4698],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@JjDNdJ\\FbKPXfZ^Ij@RZNaVSc[MsMOHQPDJcLIJ_zCG[HQxWJBHXdENRR@XQFWZQQGOFSWUCI[WCJuRGLXNMPLhCl[Ta@SqGgJMGOmyHkKEQMINMAGaGULgwY@UOGiKQ]EYyMKoO_QEIIKiNSMa[LqOKOaVMWMGMDY\\_IKrL\\ERT[DEPYOUA@nNTUHINkRBVMdNvGTxzRF^U`BD\\@tfNDNOJ@Z{TeTJZ@VUcB[OBOeeQT@^OXBJb\\AbWTF`RCJFH\\RDJIJFXW@WLGBKxWTSJJMTVZND@bbL"],
- encodeOffsets: [
- [112903, 20139]
- ]
- }
- }, {
- type: "Feature",
- id: "469035",
- properties: {
- name: "保亭黎族苗族自治县",
- cp: [109.6284, 18.6108],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@FJp@fxpQ\\ApN\\GNPNBM`HLMrXLXj\\PEHnI@WUCEM\\GTc\\GZYHTPBHRCPTdH\\K\\@HXiBJILJJAVNTOZJNtFPC`YxDPWci@IBgbGKaTOIM@KNKrP@_hE@QbgKWUMJoWAQMFEKM@wTONCJWRCZDHSAM_UD_GWMKeCITSCGIQBGXUHQoMEEGWDQIG]FMQBMaFGueFeSQDUSDSKOCSFMLUaPWM_PaEGFETMX]RCRR@HXKN@JNnXXESPaDI\\£FkXWIAX]xB\\GN"],
- encodeOffsets: [
- [112031, 19071]
- ]
- }
- }, {
- type: "Feature",
- id: "469001",
- properties: {
- name: "五指山市",
- cp: [109.5282, 18.8299],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@TCNOLBTLBPx\\AJdlNRRIbJTGNF\\@RcIYbmHoLQdKN_fCJYbDRRXKZFVEZVXBXIJBXMdESW[CUYHUVQFQAqsEIMPYMSBUIIJKAIjGW[@[LGScDOGQOAGSYZ[HSd[HFNVD@XmJFG[OWiWKNqGKN_MAMO[HoM[BoRewo@Y^HpITSFENc`MVCdHNIVCLJFI`NFIP`@VZbaf[FFJG`O\\WRFA@PVPFPPH"],
- encodeOffsets: [
- [111973, 19401]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/hei_long_jiang_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "2311",
- properties: {
- name: "黑河市",
- cp: [127.1448, 49.2957],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VÈÞ@kxnX°VÈa°V@kôwbJVkXlVUx@lL@xkVV°VbxlVUnVxk@KkVbIl@°kVl@lÆnkll@@VVX@V²bUlVlVUVÇn@nkJlkVb@x²V@n°VUnlKUn`@n°bWLnVUblVUVVbknV`°kkl@@V°@nzJ@XxlWXb°n@bĠlbXbbVbJ@Vba@@lbUbVmn@lVmnIW@WbÞ@n@x°@ĢaƐéϚnlȝĠŻÈwm@ôçUmm£Xy°UV@wÈ£Ǫ¯kõÝçUÑUķĢkVÑÆÞU°nŎ¥ČUĊx°m°¦żVƐx°Ç£@yUônÞÆ@Èĉ°Kô¦WkWUbÇ»@ÈĕWÇÈ£ŤU@n£ÆUUKVamanwÅmÝJ¯k@JIkaVaUUÇbkaÆÑkWmÝUÛÝ@wnU±@kkV¯KUkJ¼U¦Å@ówķaķůV¥Uaó@Åwm_kVwĉĉmmn_V»a@UVwķóU¦LǫéóXÇmōLǓÇķxÝkĉkmakbUͰ@W¼@bÈÆ@ĖLl@°J¯mkl¯LݱLamJ@¼VƧUóUXċb¯ńVbkÆÝI@llxk°V²V@UxÞL@b@b`Çzkókݤ@ğ¯WLĉÇLmmnċVkbUaL@¯bU°ğLÝÝ@"],
- encodeOffsets: [
- [127744, 50102]
- ]
- }
- }, {
- type: "Feature",
- id: "2327",
- properties: {
- name: "大兴安岭地区",
- cp: [124.1016, 52.2345],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@kϙmƏêġb¯@@wmÝ@XV@Ill@bUxl¯VlVbV@ULVlUV_kxVVVÈÝJ@¯Ulm¯x@xóÒĉ¼m¯Wxţ@Uz¯WwnUwť@knW£óVUUwğyó¦WIVmmI@±kwÇ@@b@ĉ¼ó@¯wó@¯aó¼KÅaUwmWUwÅI@aKó@UaLaVÅwō¼UUÝl±I¤VxÇx@zkJmnnmbnzxll¯ČkJl°@kbmx@x@kêmVnWxôXxU°bWLóJnÇWĵV¦UUbbÆġKk¯VU±aXmċÑUwĉKġkVxkÇKkbIÛXWl¯bX¯KbĊÞVÆnĸ²lxU°n°òÈb¦xVb@¯Vx@¯VķÞČlĊ°KĸȘI°¤ČIôò»ƨnȰKǬ¦ôWŎÈƨwlnKVXmbX`lbwkVWXXL°aƾaĊ£n°@°¥ŎzÞ¥»alwôkƒJa@ĶK£bU°ĊxźVÈUĠ¥ƨVI@XU°x°Ln¥w°UmwXmÝV¥Ģ°@nU@mÆ£¯lKÜw@aÅU¥UaÝIkmV²nn@Ķ»@Uk¥VKÞ@ÞÛ@kVmĢa@_Jómǖ¯ÆwóÇa@alUwwĢřk@wÆWXUWXWam@_ƒ»ÇéXaĸwVa@ÝKkUWkXkKXxn@lĊV@¯m¯nřÆw¥"],
- encodeOffsets: [
- [130084, 52206]
- ]
- }
- }, {
- type: "Feature",
- id: "2301",
- properties: {
- name: "哈尔滨市",
- cp: [127.9688, 45.368],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°`_JlU@@V¦°JUnLôlnŤ@@ÈaUÒVbkbl¤zk°ÇVÛô°IlVUVôUxÆU@bźĀº@¦b@l²UVl@°ÒĠxnXxÆVô¼Þ@Üx²KÞlVѰUȰôlwô@²ĸ°lanV@VŎUll@bÈnÜmwĢ@la@ÝÞb°UXblŎ²ÆkVI@nJnĠ°knÜbĢwna@akÞKƒĀaIVbU¥wĠwkôxnLċVçkaU±IUmnġW°WôĉalÞÅĵ¯@W¹XÝab¯a±X¯ºLaVmkLóbkaVUKVkkKV_@aÝykk±L@ÅU@yV_aU¥ówÇx@UkVn@lkÅlwWVwUkĉmkklW@abVwnWWwWL@UUÇLÇm@wJĉL¥@Ý_@a¯yUWw¯¯Uġx¯aÝXVmaU£ó±¯nwa¯óÅVXmanUlUXkWa@mkIğamIklÇUkĊzkKlUōĬl@nX°@llUxʲmKĉVWwk@UbUK@bmVmIVmwaWxXlWČmºÞÆbUxV@ĵńWÆĉLkWUbaWzkbĉ`U±LklōwUVÝ£UW`Uwk@mk¯VkaõVX@WbLK@XƧºWzxK@lmX@bkVVÆk¼Vbk@Vn"],
- encodeOffsets: [
- [128712, 46604]
- ]
- }
- }, {
- type: "Feature",
- id: "2302",
- properties: {
- name: "齐齐哈尔市",
- cp: [124.541, 47.5818],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Þ@ÞĠKV¯a°@KVblaČUmnnKĊÈKX°Ġ@Þ£ôllÈy_@a@aKÝVwU@±¯Ulkw@kÞJlÅUa°ŃČaWVôƨVU@»nIb²KÞ°Klkn°¯I@kK@ĕÇÅ@aX»¯@VĵlaÿVamI@aÅÝउýĊȗJôȁÅkmƑÛ@kxġ@@laVk¯»īŹak¥Å¯JUaWU@@wa»KUkÆkUmUmwÛ±±UUbUUXwWwÆÝklkUanaWwnKlkal¯kaƽakÅxa¯@amb¯VlÇwÛĀV@xmêVÆVVaôVwÈx@ˌx¦VÞ¯VlmX@L@¯Ua¯LmV@°XċKV@UÈ@¥@wġIUkm¥Źw¦¯lmn@°kxVV@¦óamn¦l@nxlĉVómxnÒĉĀĊ¼þǔêÞ°ˌĠÞÒ°ĀɲĀƨźˤȤƨĊ°w@£nymwnkUUV¥ôÑVmkÆmUUVamVIkmôlxkXÞþbll@kVƆVxV@¼VÒ@UnnÞJ"],
- encodeOffsets: [
- [127744, 50102]
- ]
- }
- }, {
- type: "Feature",
- id: "2310",
- properties: {
- name: "牡丹江市",
- cp: [129.7815, 44.7089],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@U`lLUlVLUlbaôlKnUbK°¹²W°baÞbknyUlUkamř²L@m°@lm²n`ôÅlKxÜKnxV@l@ÅXyW_k@wmŹĕmX»Ûl°ôÈ»ôô_WW@Ual»wU@@wUV@VXI@wĢ͑ÞȻaU_@mUkly@¯óV»XmWUXUWmnm¥nUUaWLk»Æ²IÇawÅaݰ¯nUa±a@¦õÆğ@@ÅbxUÜnÇłlb¯¦ôó»m@±Uk@Wwa¯xUV°xXbÇÅUVK@¹KUaȯ@ōÝXallÛkalÇUǫÇÅÇakbÝƆ¯nl¯@¼VUx@x¯W¼Æ¯mĖĬ¯ČVkķÅmx°ô²V¤bUnÞW°bĢw°V°XxV°z@bÞ`@¦KĊI@xnÈÈKV@VXKxXmXUxab@kXllĊnVlUxXkxlÆkm@UVl@ÈwôxV¦bU`@zÆV@²KllÞz@b"],
- encodeOffsets: [
- [132672, 46936]
- ]
- }
- }, {
- type: "Feature",
- id: "2312",
- properties: {
- name: "绥化市",
- cp: [126.7163, 46.8018],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ऊþÆÞ@bnJUbĀnblĊÞlĸwǔÈŎKÈnôWǬêKV¥ĸôUx@VbU¼m`nnĊĊxlUmkaVÿLw@°»UmbKmÝUwUmVknKUUl¯KUUÈnK@ĠkX±lX°L@¯¥@wV_mĵ¯WwL¯UkōÇVUlwVó±¯aVka°wVk°mÞ¯ŦřÆl²ŎkU@mUkb¯ķ±ó@kxȯó¯VUÒkݱLÛwÝ@ó»ÅUWwmğw¯Ñ@UkV±@ka@¥¹Źÿ@aÅVwóVVUkU¯JÜóÈUl¯yk£laUaVÑÇb@ţ@kmómKV¯IU¥@@kVI`@ô¼blUlbÈb@xÇKkĢɳaÅɆō@VK@z@@¥ÆKnÜ@@aÛUwwnUķ@_V°@klVnULVVÞbVl@°@nxn°LÅÆlVÈmU²@VmĠLxn¯xkWzJwnLmbXbW°Æ²@x@JVxLĀ²Æ°I¯ºÈ@ÒnÈ"],
- encodeOffsets: [
- [128352, 48421]
- ]
- }
- }, {
- type: "Feature",
- id: "2307",
- properties: {
- name: "伊春市",
- cp: [129.1992, 47.9608],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@K¯kWW²ğl@mLÇVVLk°VVmLUlVnxVnÞLnaV¯¼@xKUĀlbn`nÆxô@VbU¦ĸŰĸbôxÆ@V¥»IVl°LUll@²mVx@ÞÜÞVnlXÅÒlbÈaVVUblbJ@I°lÞInÆmxnbUbVLÅVm¤@ţVǤXÈÇĖ@ȼaXVÜaXbWnzŎařKôbUlw@¯naÆKnUU¯Üa@mkkVUĊmżÝǖK°L²lÆI@¯¥ĉƛVaÞk@ÝVaĠlnUVwóma@wĉ@aVxamX@a@UaÅLaVW_nWm£nWm_ÅV¯m@mó¤Ý¦¯ÅalmX£VWUÅwmÇ@@IVWUw@aI@k@wŎ»WÅVaKIka@¥lUkUlwÅwVyÈwWU@a¯U°mÇ@UçaVa¯mV»ÅwÝUlUkV@kmUkX£w°@@ÇaÝIamÛam¯lğmmI@JUl±ÅōkWa¯VÝa@Þkbġ@xÛnÇm@akkōVōl±kÅťŚÝ°¯nUl¯xlbU°b²ôUxkVÈUŎVl°KXxͰnU`@x°¦@"],
- encodeOffsets: [
- [131637, 48556]
- ]
- }
- }, {
- type: "Feature",
- id: "2308",
- properties: {
- name: "佳木斯市",
- cp: [133.0005, 47.5763],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nbÞJb@ȯ@xW¤Vln@lUVlkÞVÆxU¼°nUbbVèÈ@nIn@ĢmlUw°żVUn@lnL@VôbwĊlJķĸĢlwôwƨxVVUŦxLźÈ°`nnĠwŎJÞĶwôJ@¤XnÜĸln°¼È°lUbx@l@ÞÞÈm°lôwL°¼ĸ°Þ²nĠ@ôwÞ`ŤIVÒĠU@VJĸbƲ@°ĊKJĶaĢȰ@ô¥°n¤bČU@VxmUw@aÝţÇķ@ĕķīU¯²@ÆmVÑô¯X¥ċç@ĉ»U¥ÝţKWVÅkUVÝŎUmÇÝx¯aķxÛUóL¯a±óōb¯ÑÅVÿ_Åķa@UK@wm@Van@UmmLVa@VImmXUWÝUÅKUwÝUUkVk@l¯XÅ_J¯kJmÅLa@¥U@¯Vz¯@`@¼mxƥŏKÛk@±laÛ@@Xm@@xƽ@WŎnˣĕÅ@@aÅ@@nÝbǯ@_UkUWkbwÝU@çWlw@anI¯lyX°m°VaÛm@mVwÞK°XlaXmm_@UkwÝK@VIXmV»I@a¯ğWbġaU_¯JU¯ġĉkō`±nÝÆkbóĊ¯XĢXmVn²JVlbUèČmKwlóğxxV¦UaJbƑÿÝLl@bmbġx"],
- encodeOffsets: [
- [132615, 47740]
- ]
- }
- }, {
- type: "Feature",
- id: "2303",
- properties: {
- name: "鸡西市",
- cp: [132.7917, 45.7361],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@LKVVnkbVÈb²U°VnklVlaÈL@anU°ÜmXV`nôLèxlLXL²aVVmÈX@ķlnUÈl`ȹ@Ť°U@xKnnVmlnnUllVnnaŎwlVÞÒ@n¦LV°lwVkLaÞlnÒ@xmLÞ¤Wn¼WÈLVVUxlÈôWVaU_VKKXUÆbnnôKbÞw°bÆWXamVwKUw¯WUkUlJUwVUa@@kmyzmĉw@kVwkW¯ÅKU_VmxU@aW@@kK@wa@K@@kVUaky°_Vmkna¯K@Lwġk@@IÇóXwVakmV@mwXUWanlĉ@ÇUwKóܛNJÛm°@wÅ@±b¯W¹WVwŹĕ¯kVmōb¯w@awmVUUbVIkaVwķxk¼b@VXXó`ó¼Çó¯kܼWnźĖnxl@X`WzÆ"],
- encodeOffsets: [
- [133921, 46716]
- ]
- }
- }, {
- type: "Feature",
- id: "2305",
- properties: {
- name: "双鸭山市",
- cp: [133.5938, 46.7523],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UUwómÑÞÑUÝÝUkmmÅyV¯ī¥Uÿĉ¯mÇkaWbÅX¯aÝxaóLmmÅaWVLULV`UbXókÇVwUUÇKX»XmÝ£nK@wmÑkÝbKUlx¯kUKm¥@ÝÑkUōxmbUmkVkmmnkUmmL@w¯Vţ@Ǻk_ÇmVk@ĸVxVȰlLkllUbōwnVW¼nlUx¯XmWUnÝ@xÝUó¼¯J@LVbkJWnkbW¯ÝLUxn@nÜb¯U¯nWkz°mJ@bkxX@èÞVxlaXlVV`°@ÈÞa@mÆ@@bÆ@ˤĖmXōƾ@@wn@@WÜ@kb@²ÜlŐLƦnw@»_°@y°UV@@¦bÆKnI°lIÆ`°W@kllUVÞVVxLÆÞVXWVnnUJ@UbnKVnm@Ubn@@xL@VbÆĸ`UĀÆÒ°Ŏa²ô°bôKÜVĸw°bÞwÈVnÞōVUÆlXU"],
- encodeOffsets: [
- [137577, 48578]
- ]
- }
- }, {
- type: "Feature",
- id: "2306",
- properties: {
- name: "大庆市",
- cp: [124.7717, 46.4282],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@mÇ@Ñǰ¹¯J±ÅÿKUwI@w@±ÅX¯WanamKxIylX°wmwğKUn±@nVÇUÅkƯKmmw@@¯UkÝaUUVKmUlk@¯U`ĸ@VmxVxÜ@bÛ@mÅL@¦@@yLUŎ@ÆɅɴblġÈL@wÇaakkVa»@ó¯_ÝJwÇaÅXnyU¯¥Å@wbÝaLmm@@VUlbğVm¯Xm_`¯_UxmLa¯b@maó¦Çk¤V@bóJknVxVXx±aLUbVxkLVlLWl@nX@VÅbWlÈnxbWÅbm@xbml°bXbWXVmnn`Lmnbmb@k@mwU@@¯Jlbk°lbkmLXxmbVbkllÅÞxXxVWVVa²VܲnxVVnÅlVlL¼b@xV@XVbIư¦lźbĬ°¼Ulb@kĢ@lw@ƒÜlnȂÆóȘIĉ"],
- encodeOffsets: [
- [128352, 48421]
- ]
- }
- }, {
- type: "Feature",
- id: "2304",
- properties: {
- name: "鹤岗市",
- cp: [130.4407, 47.7081],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Þ¥ô£nn@°ÆUn`mXn¤mX`UXbÆKVb@@bnWbwUbĊ@x@nbWVm_mm@ó»UmÅWXkĠ»²¯¯nķwŎ@ĊŎK°bĸUnÑKȦĠÈbÆknJÆUĢV°IVƾwaVkǯ¯»mķkÛWm@£óIĵxÝōIğxmm¯_ÇŹKwťUVUƧwóxxġkĸķIkĉxóa@UmK@kVmUݝVxkġn@mmJ¯n°V@bXVÇxUzÆxkxlVkV@¦lbJLUbÆXō¼@xl@J@bVxXU@JÈ@nxVÆUXW¤knÆb°"],
- encodeOffsets: [
- [132998, 49478]
- ]
- }
- }, {
- type: "Feature",
- id: "2309",
- properties: {
- name: "七台河市",
- cp: [131.2756, 45.9558],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²mŎ_lĊĢV°°IV`ĢbaĠX°@bJU¼WnUJ@ÞLlxV@n`lIUa@K°Iô»ÞVwÞ@VmnX°WVwmkX»UmŎxVaklkkKǯUUwÇWUnU±bKWKkwçóKmU_nW¯ÛmV@bÇKkbkUml¯U±VÇaUamlUULKk@U@mwÛLwkLóÆm_±nk¯@@n±KnŚlbkVVmzlWXº@Ͱ"],
- encodeOffsets: [
- [133369, 47228]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/he_bei_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "1308",
- properties: {
- name: "承德市",
- cp: [117.5757, 41.4075],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lLnlmxnIVVlUnb@VVxXJWL@LÞVnnVJ_@wkmKbxwXkWXXKlb²K@nVVVbL@WlU²lKVnUJVz@VVb@lżmVUVnbôaVX@°Ub@lWbX@b@bVb°x@VxÈLVlaÆ@Þb²k°@lVU@Xn@VWLXb@¤VXKVVVLnm°_ƨ¤@aUIVaalkX°kV@alwUVyU@kó°na°UVUUmUÆw@mkLVUWVIWLnn@xlVnKmyU@U°UXaV@U¥U@UÆ@aVUkWU¯aU@WLUV@bkbmKULmKkUVUkmVIUwlWV²Uml°U@WLUwVm@UUK@_KUUÜaXw@VKUU@mVIUUlmnIVVVbÈVlKnbVK@nI@nVnwVLVKKVnb@aUIVW@In°@lVnI@lWĢ@°UVL@b@VyUUa@w@WUnU@WǯK@UkkJWaÛbmk@mVaÞU@amkW@mXUKkÿ£@akl@Um°UXwlaal@nmlXnW°znW@awV@akbĉ¥VmU@IVUJkUmWUKbmkUaKkUVU@KV@@klwWaU@kmXVènbmlUUKX¯JkbI@JmIUWU@Lml@XkJ@UkK@aVKwWaIWwmU@mU@J@UaċUaUUVkI±k@UU@UbVVm@UVKLlkIWaULUWXUJU@WbUb@lkXUxm@@JVn@J@bnb@Vkx@bLUÆnJaVXnKVVmzX°V@_lJXxWXK¯bÅamU@lUIbñJ@LÇKkIÇ`kxWL@@@bUVUb¯xWKkÅVlULW@n¦Ul@IlmUUUVm@kWnkKma¯XUKWmnwVwÝLmVUbUVWb@LnxmxVmbXx¦@nb@`V@kbLUmVUlkbVXkºmnm@@xk¦bĢÜl"],
- encodeOffsets: [
- [118868, 42784]
- ]
- }
- }, {
- type: "Feature",
- id: "1307",
- properties: {
- name: "张家口市",
- cp: [115.1477, 40.8527],
- childNum: 15
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@kġÛal¥@wn@nml¹UWlaVknUVKla@U@_ma@¥WwnaUwnmw@KXaVUVaUnmWUk°lnUVUXWVwIWVóKUI@WXxUU@mma@kUKWLkw@yk@aVkUUċaUU@Wk@Unm@UVmLm±IUkJkW@aI@m@UVUla@VXVXmVwnkWKKU_k@m¥mX_JmnU@km@U@KmUVU@U@Umk@@LmW@Û£Wka@wk@aI@mmk@mUa@UmUIwW@aWUbU@kbÇ@kw@makVUkU@am@aU@mxkUbKUXU±KXVWLUK@wkU@V@WXUa@WbUxJI@¦VèVVX@±ê¯KUI`¯UULVx@V@UKIVkLmVkKm@nUJÝbkIUJVXVVxVbUVJUn°bVmlU°XnK@Ul@lVÈVUXx@W@VXVKÞbn@VnbVm`UxkW@UVkLKm¼@lUnUJVnVXV@Vm@@LVklIkl@VWlULWKUL@mJ@blbUVUlmzUJUxm@UUbċÜk@Ub@VLVV¦ôbVmUKUkU@m@VlVn¼WbUJ¯@@°nIllÈl@nXWlLkJ@bkxlxkxlXUlklJXL@bWn`@nÆXxlL@xl@XbLKlVlIXblVUbUJW@lX@VL@VVXJwn@WnL°KbVbl@VI@K@U@nmVmV@XUWI@aXm@VUUkWmn@lmUUk@mUmK@UnwVĉ@mU_V@XJôVVULVUn@llUnJl_n@ml@XlLlw²LVJUL@VmbVblVXmVnl@Ť¦nn@Ü@bl@@XV`Unb@VlLVb²JXn¥ÆÑ@¥Þ@"],
- encodeOffsets: [
- [118868, 42784]
- ]
- }
- }, {
- type: "Feature",
- id: "1306",
- properties: {
- name: "保定市",
- cp: [115.0488, 39.0948],
- childNum: 23
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VbXW@@UlV@xVLXKWU²LVVWLalVnwV@@bn@bVVllUnb@lxÈ@laV@aXV@bXxJnV@VVb@nnl@nJ@bll@aU_VWUwVUkUmUkb±mVwU@VIUW@UWk@VU@ynLm@IV@bnKLVaVmnIlaXwV@@WVL°@@xnX@V`V@VbUVVLVKnwnL@ll@@_V@VVnaÆ@KVXÆ@n@wKmUWm@km@kÜKXU@ÑW±nIUwVKla@I°wU±kkmm¯m_JnawW@IVaUama@wUmU@mVw@aXk@mWa@£km@a_kVmUnWW@¯bkUmk@VÇm@@kUUKUU@UVUamVUaWIkb@xU@@amUkKVkam@@kVUkUWmKmUkLUb@xmJU@UImVÛVmnUwJU@VX@UWm@Ub°¦UmxklmX@`ULU@@UW@@xkn¯@makVUmxUb°lUbUbnUJUUVaLkbUUJUU@mUUUJka@xUIWJUnJ@Vz@kb@`@bln@lb@X@@@XlbnbVb@VJlInlbVw@UKl@lbnan@VbJôLnUzlV@lÈLVbVK@LVxVWXX`WxXzbV`UXV¤nx@bVlVnVlUL"],
- encodeOffsets: [
- [117304, 40512]
- ]
- }
- }, {
- type: "Feature",
- id: "1302",
- properties: {
- name: "唐山市",
- cp: [118.4766, 39.6826],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VVl@²lJUVVbČVVb@@InV@VnXxJXbxUL@bLl@VlI@WnkKV@VXnJ@IJla°IWLVVnkmaUçWVkôaܯ@nV°wnJlaV@VUnUUaW¯wXWWwna@£UaWKU¯¯@aVUkKUamUUn»anIVwUWlk@LlWVakU@K_lbÞU°@y°n@KÈkWWţ¥ĉōkġWUw¯£¯Çwţw@kK@k¥ÝwÅbÇ¤ÛťVlW°@ĸx@VVVULVLkl@V@X`Ub@Xm@UWbk@ÆVbnLWV@lnXUbl@X¯lmUVkKWLkK@_UK@U@UmmUxmVXLWVULkU@`W@ULUK@XlJXzV@@xml@VU@UX@Kk@WbUK@Xn`XmJnmkxUVbUVlVVxUbV@nKlLkVKÞbVKXI°KVmVUIUKULVxVJVLkV@V@UbU@WUU@UbUK@b@nV@VkLmb@b"],
- encodeOffsets: [
- [120398, 41159]
- ]
- }
- }, {
- type: "Feature",
- id: "1309",
- properties: {
- name: "沧州市",
- cp: [116.8286, 38.2104],
- childNum: 15
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@ln@UÈl@Vnl°aX@mXnVlU`@bln@¤Xb@nWl@bUx@nnVV@xnbVbUb@JXxbmXa@kUVwlWkKôVm@wkkK@kl»ÈmVKXkla°@XVV@VI@ml@@Vn@VX@V@J@VxUzVV²blVk¦@Ġ@@»@VK@VÈLlK@XnJ@alIUlaVVb@n@aU@WUIV@mUn@mKXml@lL@LnWb@XV@@aVVbV@VVIVWÈbIÈ»ƒǟlWaVUÅUUm@kVUWVkaUwmaóUJUU¯ÑU¥mk¯UaKÅnÇyóXmWÛX¯aċbÛaJWÝU¯»aóóUm@IVVl@bLUJWLX@@xXUxl¤V@VnVUVXVbV@@@VVn°V@ţU¯VUmUWV@mUXabUKUwUaÇKnVk¦Wb@VnLmV@bkV@nxW`Å_UVV@bUklVX@VmlUx@VVL@xVWVL@VW@UUm@"],
- encodeOffsets: [
- [118485, 39280]
- ]
- }
- }, {
- type: "Feature",
- id: "1301",
- properties: {
- name: "石家庄市",
- cp: [114.4995, 38.1006],
- childNum: 19
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@la@y@UImVXIVJw@lbIVVnV@VVIVVlaKbVUVVImVaaVk¯VanwVlUnb°@lm@wX@@VV@VK@_nWlknwV¯¥Van@VX@W@UVIVxnmÜUnUVJV@nI@wValKnV@kmU£na@mVk°KLVa@UU@UmknWWkXU@aWW@@km@UaU@@klK@UkaWaUnamm@Ua¯wWU@UkL@Un@xVlUXVJUbLmU@aUWUkmKkLUUm@mWXammkkWUm@@U¯JUUmkU¯@mKĉxÝwÝ¥LUómwkUUUWVkKmkKmLXlxVLVxXJ@nVJnz@VWL@`nX@x@kVUUmJmIXxJVnUV@UVV@LU`UXVVlXL@l@b@VmX@bxn°UbkKWLXlW@@bKmKULmakLUlmb@Xb@xmXU`Vb@`lLx@nWVXL@°WlXnlbKVKXVb@X@l_lJ@V@XnI"],
- encodeOffsets: [
- [116562, 39691]
- ]
- }
- }, {
- type: "Feature",
- id: "1305",
- properties: {
- name: "邢台市",
- cp: [114.8071, 37.2821],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nKlLnlLXUVVlVnxôVKÞ¦ÞxĊwnL°@lVnVV°I@Vn@VlXnlnbWnXn@VVlKnLVlVX@bnVKVaUIVWkU@wVm@¯@U¥VmU_°lKkw@LXVaU@wUUUKlUóW@UVUUl°KwlKU_naKVnlKkkWWa@IJVa@IlJnU@KVUUmVlaXUl@lm@kXWÝÑnk±k@wğ@@U@mKĉLmVJ@zmlnWLUÝJU_@@mJkXUVlbklÝ@Ýab¯@¯±JÅwġaUU@kU@mVI±bUKLWUXJkaLóKULWbUVkKmnk@@bmLUl@b@mnmJkUULabnmn@lVV@¦n@l@bznx@`Vz@bxnV@xllbnKVx"],
- encodeOffsets: [
- [116764, 38346]
- ]
- }
- }, {
- type: "Feature",
- id: "1304",
- properties: {
- name: "邯郸市",
- cp: [114.4775, 36.535],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bVKlVnInm@@akVnK@al@nmlLVUXaVKôLKlbIVWXKVL²aJnU@lV@VVĢbÆx²I°°@aÞbÞ@lkkaVUlWnI@@V`ÞIVXKmnk@yInUĊKÇkUUamUUk@aU@Uk@WUwVkVJVkkw°a@mK@UX@VVLVW@wwVa@¯Xm@@lUIWaU@UWkXWmU@UwmUkKmn@lkV²VaULUVmJUUUwLma@UmkIUmLmVmx@bLUamKÅL@VmbkU¯KÝamzkJUb±VkbL@lU@WIkJzkKmKnUalWkkKW@@nkbk@WW¯XUVUJ@XlJ@X@XlWLkU`VUnaWaUV@UVIaUxUUmVK@I@W@ÇU@@U@b@nmKXmx@UxkVWUX@`VLlL@`zXÝb@b@VUVkIUJVz°KVlnLlKnLxlLVVUVlXUJ@nnI@mVUlbn@@m@bVnV"],
- encodeOffsets: [
- [116528, 37885]
- ]
- }
- }, {
- type: "Feature",
- id: "1303",
- properties: {
- name: "秦皇岛市",
- cp: [119.2126, 40.0232],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lnV@Xbkx@lU@@LUVlVLVbnlaLXVVnlIVUJV@UnĊ¦lab@nJ°UmV@wn@VUJVI°bnWlXnWVLVK²bakklI@aUaVUwVUUalaVwnUVak¥X@WkLVÓmmUK@_lW@n_UK@alÅ@ğÅƑŃÝm@ÑţÇlL@¯mz¯@ÝVak`@LlVUbkXK@klVXUxJmbm¼VnVVblLUV@b°V°XLVb@¤mbXxWX°xXVbmVUVU@kbmI¯xmU@Û°óbUl"],
- encodeOffsets: [
- [121411, 41254]
- ]
- }
- }, {
- type: "Feature",
- id: "1311",
- properties: {
- name: "衡水市",
- cp: [115.8838, 37.7161],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@KVlV@X°xb@VnnmbVXblb@VkL@lV@Vbn@@l@XX@bWVXlmXnlVV@@VUbK¯LUl@nmbV¤n@lLXnlVUV@ln@lbUlLnV@bV@@wlaXJVbnUVbVU@VVLVVn@VVX@@UKXUU@wUK@UwVnk@UUWlkV@aUVUÆ`X_w@mlU@anUmK@UXal¥UmÈLVbVxVLabVW@nXUVnV°UŤV@U¯Um@U@@UUaWVUmUUU@k£VwW@wW@XKIUa@wU@@al@UK@_mKXKbUU@aVKm@Xm±@kbÇakLğVaUw@a@mkUJk@ykw@£WX@lknk@WVkbUVnUVL@mVkI@JUbI@JXbXllkLUmLmbV`kLx¯LkVUV@VôXkVVLVV@xVUbW@KxlL¯kV`UnV¦°@"],
- encodeOffsets: [
- [118024, 38549]
- ]
- }
- }, {
- type: "Feature",
- id: "1310",
- properties: {
- name: "廊坊市",
- cp: [116.521, 39.0509],
- childNum: 9
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@laU@UnL@VWbklWxnIVVV@XJlbUlXVbn@@KmV@@X°WVInJmn²@lmVbnL@amKV_kwlmX@@LVamaXaaVU@UnJVanLlUkaW@UaVakK@IlKUU@an@ln@alKUkIVa@a@klaUKUV@UkUV¯KVV@kUmU@@a¯ImJUU@VV@UL@U@@WXUWa@Ukwm@X@@w@al@@aVIUmVUUUVWUknK@I@l¥kU±aUUVyUw@@I@UUWm@@Uk@@nUJU@WU¯@kbWlULnÇk¼@llLl@xUnóLlkXUxV@lWbI`°nnnllV²¯x@JkbLUVxmJX²@ÒWVÛL@lln@XnnVL"],
- ["@@@kX@Valaa@KWI@UXW@WanaUIW@UaUKķk_W@UVUKU@b@UamxVXnJUbWVXLVbn@W°kb@U@Wó¼mIU¼k`V@bVbl@lX@lUôVlUIV`lXVn@lUlVn@l@UVaIUWl£UmVWU@@UUKlUUUnVL@KUnLVWUa@U"]
- ],
- encodeOffsets: [
- [
- [119037, 40467]
- ],
- [
- [119970, 40776]
- ]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/he_nan_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "4113",
- properties: {
- name: "南阳市",
- cp: [112.4011, 33.0359],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lKl@nVV@bn@VVnmnLLXx@VLlKVUIXWÜ@Člbl@XUĊUlwnWLÞwm@ÞUVmnVl@nXJXLm@VnnJlaI@VkxVb@VlnJ@knKVn@°aVanal@XK°b@¯VJXIVK@al@nVk@nKab@XL@blVVKVLXK@VaVI°mVaX@V_@a@yUkVwVIVaJ°@anIlaV@nKnXÆm@wUUV±UUWUKnaWwXUWmůVam@kakImUK»lan@VXXaW@@UlUUa@a@UlwUV@Xal@@anIVaUK@VXmwVmUmVLXl@nalLnal@nKlkV@@UnJUXnl@nVl¦V@@VnJ@nUVVVVIn@VaJÆn@@K@mka@kmWVaUI@a@k@@aUL@mmaVIUKUV@@IU@mUmmL@K@UUUU@mW@@nU@ğ»mVmbk@klW@UXnV@LJmlUnUJUUUW@UnkKxmLa@@@lUUbmUVWk@@nkUmam@UakJU_Vm@ÅlÇLUVmVUwULKU@k@UVUlU@@U@UaUUWaÅzJaWLklb@bmL@kKabWUV_@mV@b¯JmXUbUK¤ÇLUU@b@JkLWmkUWIkJ@VmX@JUbVXU`¯VV¯blK@LXKlUV@Um@@Uk@kxWkbL@KkbmL@UXmaU@@l@x@blX@xUJ@bULUlULÇ@@VnU`W@@nÛ¼U@@VmKUkm@VVX@@xÇ@bUbVb@VX@@xLUb@l¼XLlbUlVVUUb@n"],
- encodeOffsets: [
- [113671, 34364]
- ]
- }
- }, {
- type: "Feature",
- id: "4115",
- properties: {
- name: "信阳市",
- cp: [114.8291, 32.0197],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VllInJlknJVkVU@mXlUÞ`VnVVU@U@y@nXlKVnJVkXKWaXIb@yVkVUkVwn@K@nW@kKlUXVVUlbnUV`n@V_V@llX@@Vb@bV@@nlVUb¯WLnbmb@nLnKbUbVWnLlaX@VVUX@Vln@`kL@ll@VXVJÈIVl@XÞJ°UnaLlylU@UXKlnn@lanLWWnbVI@KXKVL@LVWVL@UVKUIVWX@@XÆJ@In`@lJVI@aWÛnK@UlK@UU@VKnlmnXalUllLUbVVknJ@nV@Vm@al@@xnVlJVUU@w@ak@XW@_mWnUlŁUmVKV@VXwW»XWaUwnkWUkVUU@@@WlaUkkaIWVkm¯xmIUmLUVaUIó»m@mmwXk@amk¯¯l@wmkLmmU@UbkUWJ@XUbJ@b@l@znÆmK@Xk@Ub@lm@I@akmVKUUVUkU@U±JUbk@IWmkxa@UUVUWVkIUaW@UlLWn@VkJI@VkK@L@bmKkJmUUaUKWXk¼VxnJ@V@@VULV¼@@UkaUlWL@U@W@IkKmL@KULUWULWKUXUJmIbK²UWnWKUUkLUmUUam@UU@mUL@xkV@VV@bmV@Vk@mwkUVUx@mbXÇnVbUL¯WnUVLVb@xnlWnU@UVUVVUbVVlVkn@llVUXUWUXVbUJ@bmLUJnb@nVK@bl@@@bVJUbnX@lb"],
- encodeOffsets: [
- [116551, 33385]
- ]
- }
- }, {
- type: "Feature",
- id: "4103",
- properties: {
- name: "洛阳市",
- cp: [112.0605, 34.3158],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VVUllLXl@LWn@J@bKUVmnL@`VblLnbV@b@JmL@LnV@VV@¯VJVnXL@nm@aÞ@ak@mImVbXLynLk°@°aVJnUV@UVVXk@WJ@VXLlUnJVnn°U@»°Uwl@bWmUXÆ@VLXU@m@Ua@Imkba@naWW@_@WXUV@@U²@K@I±U@¥kKWLóLla@£Um@kWKXU@mlLXUVKUU±J¯_@`UL¯Wmk@WakklUnVUVaU@KUU@mmK@_a@KX@VaUIm±kaVKVUkw@kaW@kbkL±UUaK@UUKVak£@UmmL@lIkmU@Ualw@UJkbmIUmn@WKImWk@mUUnÝV@nÝxKmXkxĉVWVk@kaċÛ@WXJUV@zmVWnbUbVbLlUnlUÒnWVVWnk@@Vm@kxm@Unl@Ll@@V@XnkJVV@nlVXxU@ln@a@VLnWĊ¦nx@lbVKXLl@ÞVLXJl@XXl`lIXVl@XlXUVKwV@lanxzUbVJ@VVX@b"],
- encodeOffsets: [
- [114683, 35551]
- ]
- }
- }, {
- type: "Feature",
- id: "4117",
- properties: {
- name: "驻马店市",
- cp: [114.1589, 32.9041],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n@b°UÆXnVlnLÜ@VLm@n@na@Jm@k@lVVxXX@V`lLVXVV@VVÞLVV°²@labnxV@@bLmlm_VWnIWUna@lLbnV°VL@KVLVUVaVLXK@mÆXna@wVma@Xw@KlL@a@Va@wUkaWnIVla@Kn@Vn@VUl@nKVnJ@LnK@aVkVUUW@VakUVanI²XW@UUU°KnUVLl@XaVK@aU@KUI@W@_lm@KkLUKV_U@»@UVJ@XV@@mVL@K@U@Kk@VwUUm@kmWL@VkVkzKmb¯VÝI@WUkÇJUIUWk@@klK@_km@UVWUUW@kbmKUXaVamLmK@namaXK°VakU@mU@@aa@UW@kkU@U`m@U_mVkaUVWUkVL@lmX@Lm@UxVlUUl@zaWJXbWLUlmIUkLmW@@z@VUVUUmÝ_kVW@nUVUlmIklmIkJUkl@n@Lm@ÅIUbm@UJUUVU@mmI@UU@k¥mUk@WmVmI@VU@klmLk@mbkKmb@WkKUVnUnnxW@UVLUbmJ@bk@WbU@Vkx@V@bVbkV@V@XWbUWm@kb¼VLnlJlb"],
- encodeOffsets: [
- [115920, 33863]
- ]
- }
- }, {
- type: "Feature",
- id: "4116",
- properties: {
- name: "周口市",
- cp: [114.873, 33.6951],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lnb@xlJ@UnLlKXUlJl_KnV@xVL@bkbVVUè@Wb@UbmkVmbXVJnUl@a°@@bLVblXxInmnLVwanJÆw²IlmnXVl°VVbÈaVb@lkn@VWnLlUVmÞUUklkVkUaVaVaUwK@kkaVWmw_l@nUVVb@baV@VV@zXJl@@kl@lk°WVnÆbnbUVJI@VKVm@kK@_kK@a@aU@@wW@@k@aUW@IUWVUnLlUlVXKVwmk@W@VWa¥@k@lnUIÇKUaU@UUVmIUVUk¥Vma@¯k@Wanwm@@n@@m@UIVkUVamUXWaVU_@mUVUImW@aUIĉK@VmIb@lU@@nJkU@KIUmmLk@UVm@Um@@LkbUmJXlbV@xUb@@bkK@LWx@bUn@xmbÅW@nWLUKUbUVKU@LUK¯mU@VV@xULUVL@bU`WUz¯aUamKUa@@xkX@x"],
- encodeOffsets: [
- [116832, 34527]
- ]
- }
- }, {
- type: "Feature",
- id: "4114",
- properties: {
- name: "商丘市",
- cp: [115.741, 34.2828],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XVl@lLÈ@VkV@V»UanWX@VaÆÇô@ÈaVX@xVJXUÞUaVLĸbXKlV@m°Vn_nyXX»mUk¥lK@a_@yInaVKVa°_@WXI@@KVnIlbnaV@l@a@_w@lwUKmXa@UV@»Vw@kUKVUUm@w±VUXUKUwmJUU@km@@±mXkmUI@mmKUwkbWakLWaUIkJmX@l@@VUX@JWbX@VbULWblUVULknlV@bVJkmb¯KknWmk@@nmVkx@VmU¯KUnUL@JUIVmaÅaUm¯Xlkk@@lk@WI@yUUU@b@aUaUmVk@`nxUXlb@lLVxUbUbVbUllkVlÝVUnkVmKUXm@kl@nUx@xnxn@`VX@V²x@V@b@Wl@zU`VUVVbL@VbW@bkXllkLWV@V@VVÈwlV@@XK²LlbWnnÆL@VnJWn"],
- encodeOffsets: [
- [118024, 35680]
- ]
- }
- }, {
- type: "Feature",
- id: "4112",
- properties: {
- name: "三门峡市",
- cp: [110.8301, 34.3158],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WKUmUI°U@@UmU@KnK@IaU@makKUa@_KnmVUL@a@IXm@KWkkKVkUU@aUW@UUIVaymwkbU@xLVUWWkk@WUkJk_WWk@WIUKÝk@WKULka@mwĉ¥mXUK@@bm@kVWwkU@mUUlIWm@@Uk@@KkVmn@lwn@@Ul@XmUXUmVÑkmkVKUaVamaUXn@ykLUK@WwKmKnUm@UmaU@mUk@kL@lxċxUnkVmnXxWb@`kzWJ@VLmVUnlmUL@lW@Ub@VXUb`VLUbUJ@nmnUlUUm@@bUJlnUU@lxkb@@XJUn@kb¯VVVmlXXlJlzn@VlkVW@bkKbmkUbVblXVxKÈnwÞlĊKlVnKlwX@lL@xlUnVn@l@lmX@ÆÈb°¼ÈwVJlx_°xalUÈxlUnbVxnL@lllbmn@nb@@VL@V@@VLJnIVVlKnV_"],
- encodeOffsets: [
- [114661, 35911]
- ]
- }
- }, {
- type: "Feature",
- id: "4107",
- properties: {
- name: "新乡市",
- cp: [114.2029, 35.3595],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XVlLK°bUblbUbl@nX@WXVVKVk@@mb@UbnW`kLLV@VVLnKlVXIlV@@a@l£nWlkVa@°bnUlLVlnabnUVUXKlU@@lk@aI°y@ôkUU@wmônkWakmlUkVmkUlmUUm@nkUKWanamULXW@UVnUln`lblL°KXV@ĠJ@L°JUVwanK@UUImmkK@¯±Um@IVmUmmÅnWaUK¯aUkw@W±kVxUVwnÅJUIWaÝJóIbm`ÝbÅImJUI¯¥¯@mU¯UJmnUVóUkl±V@zXlbWVXL@bmmº@@XmJUXU°llk@nWJk@U@¦U`m¯Wx"],
- encodeOffsets: [
- [116100, 36349]
- ]
- }
- }, {
- type: "Feature",
- id: "4104",
- properties: {
- name: "平顶山市",
- cp: [112.9724, 33.739],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@l¤UbVL@VLVb²VlKlaX@lb@lxUVULbln²VJUbW@@Lb@`nL@nVV@LVUbUVmkVllXbl@Xn°VK@_°`²IVVV@VUVJnInaWK@U@KLÆ@nmlXXWVUUw@klKVa@knyVkVanIJXUl@XbVUl@@aa@mXkbnK@UlK@UUUVaXaWmkUm¥nWmXaWakl@VmÞbKVL@aVI@mUwVm@KÅméULKVaUk@kUK@UWXI@VlKXU@VVnInVV@VLlK@UUkKU_@WWUwU@kln@@Imb@@mnUKÛ@mKUkWVXxmbVLXVVU²VV@xÅnmWmLU@kbmJ@b¯IUbJUUxVl@z@bU`W@Ub¯nUJUb@WLUKULkU@aWK@abmL@lmUk@@bULWJUI°@¯aWLk@mbUb¯b"],
- encodeOffsets: [
- [114942, 34527]
- ]
- }
- }, {
- type: "Feature",
- id: "4101",
- properties: {
- name: "郑州市",
- cp: [113.4668, 34.6234],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@nWVUKÅ@WnVnIV@kÆwV@nn@lxÞlnôJzXJl@nalUČVll@²UlkôVVUnmI°VnV°@°¦VJnIÆJÞan_VmU@ama@kU¥kaUklw@UIV¥kVUI@mmUÅmUlwVU@amUJWbUakVVé¯Im`k@wVWmLkU¯XkWmLmx@UUbm@@xJ@LbW@UUVWUkVK@kaIUamKUkkmmLUkJUVWXkWmnÅ@KL@@VXLmbmJUIUVU@ULWVkK@nWVXL@lVn@¤bkôKXKlL@¦²V@JL±@@VU@WV@X@`XXmb@blan@Jb@V"],
- encodeOffsets: [
- [115617, 35584]
- ]
- }
- }, {
- type: "Feature",
- id: "4105",
- properties: {
- name: "安阳市",
- cp: [114.5325, 36.0022],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°kVaV¥kVmUkWkWVkVKUwkkmKUU@awWWXWakKWkXmlaIVmX¥U@a@WnK@kVI¯@KğI@WU¯LkKak_kmmVU@VWXKnVmbXbVLmln@VVknlVUnVlklnXbmlmlXblnÈlWbn@@nK@VLbVV°VVzln@VxIbU@WLUa¯VUkWõ@¯kkmxk¼lXUlVbVLnlULmU@lLkVUlX@xW@¯mU@UmIUWL@aXakU¯anWk°@kkKmmUIWaambUkkKmV¯a@UblkmXk¤@@b@UbULWVnb@lUVVnmnVVUJ@bWXX@WJkL@blVU°UV@XlWnXUbW@UVkVVWbnLUJWLUK@Lnn@blVUnUblxVUVJXUa@UbLnUVV@mVIVVn@UbV@XbmbUV_lVXUWanJVI@WkI@WVIVU°WXXl@la@mX@lLXlkVbmXylIXJV@@kKla²UVaIVyÞb°LlVna@UÆKnLVbK@anwU"],
- encodeOffsets: [
- [117676, 36917]
- ]
- }
- }, {
- type: "Feature",
- id: "4102",
- properties: {
- name: "开封市",
- cp: [114.5764, 34.6124],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lUVbXaInV@bUVxknVVÆnn@VJlUU¦VJ@kxVllb¦lV@nb@bVUnaôJÞIXbVJÆImxUVwU²l@XxVl°bVLXb`XklUnmVblL@lmx°LVK@UXIVaWlL@Uk°KkVaVUXmmI@UÅKmmXka±KL@W@kUÇxUU@@UXUlKkklW@aXa@UKUaVUUV_@yXk@@a@U±w@UUW@_mmw@wVwmUaÇbUa¯UUkmWkn±JÅxmIbUxmKmnJWwkUaK@a¯@bk@mVUIWLmwm@Ua@WJUb@LUl@UUmLUbWJ@VL@VmXWWzUJUê"],
- encodeOffsets: [
- [116641, 35280]
- ]
- }
- }, {
- type: "Feature",
- id: "4108",
- properties: {
- name: "焦作市",
- cp: [112.8406, 35.1508],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@V@VL@x@bXWV@XklUWX@J@nI@KlLKUVaV@JlL@KUk@KÞLl²_@nWlLUVV@nLWVUJVn@anV@awÞUVLVxb@lW@lbXnVn@@¼L°mKVn@bnl@nVK@blbLWU@VWLXV@nlKn@lVVbXw°nV_@¥Vl@XI@mlkkV¯VWnI@W@n¹n@aWKXUaWk@yk@kċUkVmbk@WIyóImÝkkwm@mU@xÅlU@mJXak@x¯V@¼¯VmUmmIkVWK@UXIl@UWVUU@mVUI¯b¯@lmKzWKUanJ@nlbÝ@@b"],
- encodeOffsets: [
- [114728, 35888]
- ]
- }
- }, {
- type: "Feature",
- id: "4110",
- properties: {
- name: "许昌市",
- cp: [113.6975, 34.0466],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lIVnKlnVlnLVbJlb@ULVlUXVVX@a@KI@wn@aVV@nwnKlXW°lVnKUXx@ln_°JVIXyXnW@UK@UXIVanKVV@Vk@KVaXI@Vbn@nxKnaUlnVa@Xa@VçUUla@aUK@wmULk`kIWVkLmK@V@XUln@JXV@nmbUóImUa±@@ÑóVUUk@UlKVU@akWVUUlUUaUK@UUKWbUkÅJ@XWa@XbmJ@nUJ@bUKLÝaUnk@lXbWbXnmn¦lVXnWbUbVV@VkL@VmLaWl@nb@bk@UVWak@WVImJUbUlmz@lUbkL@lVx"],
- encodeOffsets: [
- [115797, 35089]
- ]
- }
- }, {
- type: "Feature",
- id: "4109",
- properties: {
- name: "濮阳市",
- cp: [115.1917, 35.799],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lLXbWXXx@bVVnLllVxULUlXXlVlUnlU¦Ub¯lnK@VbVb@XbVLKVxVVnIlaba¥lU@wnalLnVVlVLXnlWVXn@@lVI@WnU@mÅW¥aW_k@WwXy@km@wUm¦lUxVLV@UwJ°x@VX@Vb@`VX@VX@llIVbnJlIbVlJ@mѯLóa@KUakX@UK@wU@lWUUݯImW¯aLUKU@k»k@mwa@UnKWI@UU@akVWKk@a±bóUWKXUmkKUmLbUx@lmLX@@bVW¦UnJkbWnXl"],
- encodeOffsets: [
- [117642, 36501]
- ]
- }
- }, {
- type: "Feature",
- id: "4111",
- properties: {
- name: "漯河市",
- cp: [113.8733, 33.6951],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@LUnVxnIWa@Xb@WÆIVlXaVL@VVLVbkVVUVlX@bUVkLVl@VVôU@Ò²@VbnôJVan@mWU@ImVk@WkI@wmak@wlW@w@VbnLVb°bVyXV_@aUKVVK@wUU@aK@kmbXVmJUX`knnK@aU@mwakb±@¯UUÝKUUU@WU@VkLUKU@mUmJUU@WVkL@UWJX@VVL@lVlUbLVKnêÆ"],
- encodeOffsets: [
- [116348, 34431]
- ]
- }
- }, {
- type: "Feature",
- id: "4106",
- properties: {
- name: "鹤壁市",
- cp: [114.3787, 35.744],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ón@xVVól@¯zJ@bkl@@kVWLUVmVXbVJnnlLl¯@Xlm°bVlWb@bKVXnJ@VV°nX@@wWVklUK@knVVKmkUKUaVkWkl»nwl°lö@lXV°UVbXKV@aJw@UmkUy¯UUUaK@UL@mm@XaÇkkmWank"],
- encodeOffsets: [
- [117158, 36338]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/hu_bei_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "4228",
- properties: {
- name: "恩施土家族苗族自治州",
- cp: [109.5007, 30.2563],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VKbX@lbUVnL°@VlVnUl@VUX@aVmaXlaUUU@wmaVUn@Vnmmk@mU@knaaU¥VamX_@WUmW@_kVaVKnLl@VVal@k¥@kUW@kUKVUlUVÑW@kÇaU»ValmkUVUVak@aV¯_@WUkmVUlU@aalI@akkVWUaWXUWwWVbÆ@lalIVK@Um@UUW@al²a¯UağÇm@bkk@w@@WaULmxIUb¯@U`UXJmL¯aKXWUL@aknmK@aWUXaWm@I@UÅmVU@aUV@bVI@WkUbXkm@VakwUKULWKXmJ@XUK@mL@KUwVaUI@KU@mmnmXka@»V@@UUaw¯yVk@UUVmmkÛÈU@mWUnmxmlUbV¦UlbWVUL@UUIUmÇKVVbUVVxknLUxV`VX@kJVVUXWaUVVlUnmKUbkI@WULmK@L@LVlLnmUIWV@akn`VXUJIVlUVVbUX@¤mbnLmm@UXk@mm@Uka¥@kV@@KkU@aUKWbkLWVkIVk@UbVlmX@bU@@mmL@bn`@Ln@llVLVk@XVVU@`VXU¼k`VULka@VllVIn¤VU@@blÜbkx@bkLkKn@bn@@b@JUnV`UnVbVKlVXUlbn@°Vx@@bnVbUllVn@VVK@UnW@UVUlnkVÈÞxVbVVIxVaÆ@@aka@UVaU@@ak@Wl@nbVIÆ@Jk@L@VlXnlla@VJnw@UmwXU@aVK°ÒnllnLlbxnKVaV@l¦²nVl@llLx@XVVĶ@nax@U@alXUVaLÈþV°XxWXkK@mLnlUb@bxnLVlVVkb@UJ@xWXX"],
- encodeOffsets: [
- [112816, 32052]
- ]
- }
- }, {
- type: "Feature",
- id: "4203",
- properties: {
- name: "十堰市",
- cp: [110.5115, 32.3877],
- childNum: 9
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@@a@w@kV@nbVK@nUla@laÅl@nlVakwWX@WkLaVmwV@anK@UlIXmWkk@@mmLkWlwk@U_mKXwWK@U¯K@UU@VUakmkIyUUVUmanU@mlwk@_mWXaUWU@Ç@U@aUaVwUKUIVkK@UWIXmaV@k@Vm@UnwlUamk@V@ULUamxUJkU@I`WkkK¯XWak@@W@IUVLWJkXkaÇVUK@kUmbmUUUKbkKWUkI@kKÝ@@aUm»nI@mU@UnWV_@aUmWbkLUl¯b@akkk@WkkJm_k@UV±@J@bnU@@WÝIUJVbXL@nlJkx@Wn@VkJmbLmU`VbUL@xVn@XV@mVVnnJVbUx@VnVUbVVx@nbUK@b@bJm²VUlbXzVJVJVbn@@Xmb@V@bVJÈ@Vnkn@°aVVV@XKnalLVmUnnVKVlnLWlXXKlk°XWkLUVVV@nU@ml¯nmbk@W`Å@mbLWm¯UxnêVèk@mbVnUK@kKmXk@@JUIlÛLllnbVnlJ@LULnlÆaVLnV@nkVJ@lkô@²bÆm°wLWV@VXKVXI@W°ÆVKb°UJVIVV¦XKVL@lInaVÝnUl@@bX@nmVL@lVLlVLVUnbVW@xXnbU°¤V@a@kWKUUn@VlnL@UV@Ü»@mX@V_akaÞ@VK¯@kkW"],
- ["@@mUkUUm@nllVKXXVK"]
- ],
- encodeOffsets: [
- [
- [113918, 33739]
- ],
- [
- [113817, 32811]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "4205",
- properties: {
- name: "宜昌市",
- cp: [111.1707, 30.7617],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°`U@blUbUVlVknUbV¼Èb@lXUÒkVUVVL@lVX@ll¦k@UbU@kmKULUbl@`nXV@XW`nUbV¦bmb@lV@nnlmnUm@UVnb@xVVVkbWnbVnVa@an@UaVUJXnWlXX@l¦@lKÆXbXV@VV@°¯°xXxXV@nV°UVWU_VWXkmaVnWVkn@lln@lb@UVLXWlnX@aXUmaVK@UXUU@WVIWXXVU@¥VK@UÞa²LlV@kV@UanKma@UVUnK@UVLXyVLknJ@UV@@UXKWUXaV@Vb@mVLnKWm@aUUm@@UkK@UlaLXKWaXI@alKlmUk@wVKXL@m@WWn@UVa@K@wna@aW_XWWkXbVW@k@U¯WWwka@UUaVIVkU@m±@U@@wVKka_@VV@XUVwU¥yUkm@V±ÈUKk»ÇLmmLk@ó£kmWwm@UIkWKXwWU@kLwkbmabkK@VLkmWIUKkUUÇIǫJXÅJULVÇLUV@UK@kI@WVI@UaWmXVVUL`±kÅLmKkkÅ@UaXXxWVXVbUXll@bkJb@bkVUVlnV@X"],
- encodeOffsets: [
- [112906, 30961]
- ]
- }
- }, {
- type: "Feature",
- id: "4206",
- properties: {
- name: "襄樊市",
- cp: [111.9397, 31.9263],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@Xl@Xb°WlLXl_@JlVVInwVbVK@@UnlVbkmx@VUnl@U@nbWXJ@VlLUVJVLUxVb@b@VÈ@XVVWbnX@`lkx@nmVnbUVVVzlJnlVbUV@@V°L@VXLWxnLV`l@kxlXnK@nl@XlWn`Xnl@@UVa@VÈK£VLVanW°U@UVU@`VInmV@nV@Xa@aVW@UalkXKblIyÆXnlJXbl@@VV@nklU@`nVKLVKVb@VU@UÈKUVKIlUX@V`lIVbn@nblVVmV@@XXJUVV@knKVn@`@XVnKwlLVmUUU@U@aXL@WlU@UUW@UmU@KkLWaXkWmXUWm@U@nk@UmK@U@UaUVUUKV_@al@namWUI@KUK@aV@WUIb¥ULUJkImK@U@KV@U@a@UkU@K@wVaUwlU@mUULmKUkV@@anIWmUK@I¯mKkl@LUb±lUakLmk@WwUKÝVUIm`¯n@Uk@makJU_@Jma¯ImwUVkKbaUÅ@wWaU@VU@mXIVmmUkJkwm@mIlUKWzUK@VmLUV@VnbmLVbU@@lkU±KbÝV@UL@¦VWUWXUJ@XVWV@VULnbWVbW@kmWXUK@Vkam@kkm@UlmXUnbWlUXV`UX¯VmUU@Ul@Lll@nnJ@LnWmbm@b`", "@@kUUm@nllVKXXVKmU"],
- encodeOffsets: [
- [113423, 32597],
- [113794, 32800]
- ]
- }
- }, {
- type: "Feature",
- id: "4211",
- properties: {
- name: "黄冈市",
- cp: [115.2686, 30.6628],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VVUnWVXnVJ@U@V@VXV@@IVJUn@V@L@KlIVlVanLVbnVlIn@@a@Kl@@IJlI@aXU@KlKkVblJXUVlU@VbVkVKXn@VlxVa²I@VlVUxln@bJXklaVWnLmÅ@y@k@aI@W@aXIlVVaV@nnlKnLVW@IUa@a@KUVVlI@wXKVV@IUla@lUXwWnnalLlxXLll°@XwVKVaXIlnb@nln@Va@U@k°UmÆUVaXIJV¯ÇUmmkU@WaKmakVm@U@aVKkkmKkVmIkǰ£@aUUVaVVnKlkXmk@lUVaX@@Um@UmlUXVUVU@wK²¥Ua@I@UVl@UV±UIUǰ»VkUmVI@a@Umĉ¯V±bŹĖğaÇL¯lmkX@óĀ@mÝêb±WkLn@xXx@@b@V@LW@UblţX`kxWnXô¯¦ÆV@L@JVLxkK@V@bkz°llXz@JUlVla@XUVbVKXnW`XXV@laVV@VX@V¯xx@xULVbUJ@n@LU@VmmakbUK@bIWWUUVkUmkLm@VJkb@nUJ@`V@kXaUaVmmLkUmJ@Uk@U±lkzmJUb@bVUxVXU¤L@JX@VlL@JkLUVU@mnUl¦@V"],
- encodeOffsets: [
- [117181, 32063]
- ]
- }
- }, {
- type: "Feature",
- id: "4210",
- properties: {
- name: "荆州市",
- cp: [113.291, 30.0092],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÈJVlVVLXJlnK@UlLanblaxlK@XVWxXLlJ@VnXxlnô¤l@nKnÈKl¼VL²ÇUn@VlzV¦UxWVU@@U`lbUL@xV@²@@nlVUUJVb@VlbXx°XVWX_VKUwVKVa@UVKUUVk@KnblaUU@wnWl@UX@lÆ@@aIVmUkxVJUbÜ@Uk@WWnk@VVm@I@m@Un@mXUlVlUnJ@knJVU°@@aÆLX@llL@¦nJV@XblLVa²U@UlW@VX@`@LV@@bXJlIXml_lJU°bKÆLnVVl@öVmXaVIĢllUlVnLVlX@@bannxVLbn@°ÆXmmkĉ¯w±Uċ@KÝÅƧŃÝçUw¯m¯k@WkV@¯UIUJW¼kbUwk@W`@¦Uônb@VÆlÈ@VU@£UWWnUÆUnmJkUÇ£VWUI@aUU@WkI@Ua@JW@k£kaWVUKmnkKbkkVWbVmUUmwU@kk@UakUUa@V@nlx@lUb±lUbnnWLUyk@UamUK@mlk@Wb@VXL@x@xWI@a¯¯V@bVn@LkKmL@`XmKmVU@@bkL@V±bk@UaaLKUVIWXamVVbUK@b@Lm@UWkxULWVUnm@UlUX"],
- encodeOffsets: [
- [113918, 30764]
- ]
- }
- }, {
- type: "Feature",
- id: "4208",
- properties: {
- name: "荆门市",
- cp: [112.6758, 30.9979],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n@lxlInVUnWJ@nUVV@Xb@xVÆbalLVUnx°JnbI@V`lInbl@@V°mn_VJÞUVLXx@nllKVb²kVa@KlknL°@JVLXnmJ@bU@VlnLVKV@nX@lUKVaXal@VKn@¥°L@UnwbnaV@KV@VUX@lVXI@KW@@IXWV@laVLKlaXUVVnkVWV@lwXblIXWVkVmaU£VaUmVIkU@y@WakKUamU@UUK@kmK@w@@mK@LV¯U@WwkmULamVVUU@IbUKUakmm@UakLmxU@UÒWlULţÿmwkIUm@akÈblW@UVUUk@JW@XkWWUkUKUIlw@aUWknWUUmnIWaUwVaÛaVUIwVlUnJ@bÅ@@kVWk@mX@xVVkbma@LUlVVUL@VUbULVxULW`UX@V@lUXWaXlWXX`@bmb@x@LUb@VmXX@@nWKUL@xVlknkL@bWJXbWLKkb@VlL@Vn@VV@bnXmLUK@nUaU@WbXVWL@VU@@V"],
- encodeOffsets: [
- [114548, 31984]
- ]
- }
- }, {
- type: "Feature",
- id: "4212",
- properties: {
- name: "咸宁市",
- cp: [114.2578, 29.6631],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÞÆLČ@V²°xĊnlWnům@aK@°nJwnVIUaÆJÅ@wwVXW@aV_l@²V°lĊwlaXLwlUkalVVaX@lVXI@aUXJ@U°UU¥VIVKVklanLVa@VÈIVV@nk@aVa@mV_@aK@klKUa@UnKWk@@lU@@UW@@nUWUwmaVIXlV@mLXblJ@kV@kk@KU@WkUWVÅwkLmW@UmL@lULKULak@maUUÝwUJIbKUU@aWK@kUWVkUwVw@mÝ@I@wkW@aww@LU¥kJ@nVJIkVVnkVUkyUIUl@xWUkaW@@°kzWxkLUWmzk@@bVVVb@@XlV@Vl@bVbUn`Wn@WbVVI@`LVbXLV`mnU@@lL@LUak@Lk@WbUJn¦@lVb@xVb@n"],
- encodeOffsets: [
- [116303, 30567]
- ]
- }
- }, {
- type: "Feature",
- id: "4213",
- properties: {
- name: "随州市",
- cp: [113.4338, 31.8768],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@n`lwkUmUVWX@lk@VanUĠ¼V@@mX@@nVVVXLmJVLnK@bV@@J@VUn@VaVUUUVWVLV@@Kk_@almaVkUU@WVVUVLXmmk@wUaUKUV@°@kmaUaÈmWmUVklaX@lVnxl@@UnaUk@VUVwVKn@VVn@VbVJUknUmmVmk_VwKUUmVak¥@UVKVIkW@UmIVWkIVkmmLkwmVU@LUU@VVXL@JmLUbmK@UUKmkKUUmVUaUnÇlk¯mJUnmLUaUJUaWL@UkJU@aklkU@¯@KWLUmUUWVkbLUKkbU@WX@JX@@LWJkUW@UVU@@LUmbamx@V¯K@¦mULk@WbUbLkVW@kVVxUb@x@LlV@V@b@VU@L@VLnlJVIVK¦aVJ@XU@bLV@LVJnXmbk@@bU`VLUVVb@V@VnL@Vml@@VXnWVXnWlXblK@LnV@VVX@VkV@XWK@bVV@VV"],
- encodeOffsets: [
- [115830, 33154]
- ]
- }
- }, {
- type: "Feature",
- id: "4209",
- properties: {
- name: "孝感市",
- cp: [113.9502, 31.1188],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VnXK@L@°lVlkb@VlI@VXKVbVIVbnKVmnI°lÈkVmVbnUVVlLnVL@VnLVanK@IWKUUV@V@KVnUlxnKlnUlJUXnJ@VlXUJUL@Vl¦UbnVVLUxl`UnnnmVVlnVKbmVX@a°Ý°LaXJV@VUnKVXVK@LnKlLUbVVX@VwVJVn@@UU¥V@@UUK@maUVUkkJ@L@K@UmVUI@JU@W@U@UV@UIWmXUVmUUÇ@UVmIlmnmakK@akaW@UwVUkKVnUlKVwkVU_WKUkVW@UXaWkUa@w@VU@XaW±@IkbKb¯L@WXkW@UakL@UV@UmVUmL@UXWVL@aUVUUUVU@yUUIUa@wUKWVU@kWk¯UkwVKLUxK@nVxUlUUWVUmw@wUUyXWlX¦WbUV@U@blbUVVbXXl@lVL@bk@lxkVVnVx¦`UnkL@V@L@@@xnL@lVL@VnVVblLXb@@zlVUJVnUbV¤bUnUlWXkJWakxU@UXml"],
- encodeOffsets: [
- [116033, 32091]
- ]
- }
- }, {
- type: "Feature",
- id: "4201",
- properties: {
- name: "武汉市",
- cp: [114.3896, 30.6628],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nbnmknJVUÈ@@U¥VknmV@VUlK@IkK@UW@IKV£UWVwU@aVanIly²kVl@@VnIlVnKUnVbblWU@@_VI@mlaUIn@lKVnUlVVXXJ@aVLlanbUnV@@K@mVIUaVK@ww°w@UW@UUUkbU@WWX_WmULaVU@WkbkUV@IWyk¯kly@a@UlLwUK@I@KÅUW@űUm@wl¥ka@@_Vw@ķa@akw@kKW£XVUVwVwUaU@VUUxWKkbĉx¯k±Uk@U`@bWXUx@xÆÅIVbUJmxIm¯@UmxnUVVbnJV@L@@kV@bVn@UVULlx°VXllV@XUVL@xVbJVV@zUVVVUVV@bUKWX@VnKUVVnU@@VlKVb@lXW@X°KaLla@JX²Wb@UV@@xVbXlWb@VUXVlXLV`UlUxkLmVUlLUVVxX@lb@blL"],
- encodeOffsets: [
- [117e3, 32097]
- ]
- }
- }, {
- type: "Feature",
- id: "4202",
- properties: {
- name: "黄石市",
- cp: [115.0159, 29.9213],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VUVV@VbUxaWUblUVmnKlX@bXJVIlVUxVVVIUzlx¯@VbnL@xx@UVaXKb@XkWU_Vm²klWXVKl@nXV@@wmlK²XaÞén@ôÿ@lWn°kUKmmUÑUmm@wkImWU@UakL@bVLUVċ@bUK@alIXKWK@nXnKmkUVw@¯b@LlUL±Wn@KULUaW@kL@lL@bU`@nUb@bmlU@UÇJ@UUbmKkblUULUJV¦¯V@VWIV@bWJkUW@UbkUlbkV"],
- encodeOffsets: [
- [117282, 30685]
- ]
- }
- }, {
- type: "Feature",
- id: "429021",
- properties: {
- name: "神农架林区",
- cp: [110.4565, 31.5802],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n`lIXll@ll@b°aVklKXaVn@bU`mX@VV@nmJn¼V@bÞ@lL@lJXVlLaVLVnVnalV@VLÈUlblWXIKVU@J_@annaXm@KmI@mkk@KVkWWw¯w¯°@UUU@WaÅWkL@¥@kWWXkWmIUVVbm@@bUbmUUbW@UVk@mVkU@U¯mKVUkaW@aULÆVbb@VÅ@Un@VLWl¯L"],
- encodeOffsets: [
- [112624, 32266]
- ]
- }
- }, {
- type: "Feature",
- id: "429006",
- properties: {
- name: "天门市",
- cp: [113.0273, 30.6409],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@K@UlKVm_¥UwUmlUkwl@@aUK@kkWWUaVUka@aV@VUXaW¥Xk@WWIklm@ÅxmIVÝUkxka@bWJaUL@W@l¯UULUbkVUa¯bm¤UnÇUkmUUxb@VkXÇal@bVnlJnxŤĀVKXkVÑV@nwlKVbn@nlVbVLaJ@VVUnUbVKlnXxV@°U@KnL"],
- encodeOffsets: [
- [116056, 31636]
- ]
- }
- }, {
- type: "Feature",
- id: "429004",
- properties: {
- name: "仙桃市",
- cp: [113.3789, 30.3003],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VK°VkX@@VKbXI@alblwÞVUnJÆwn@lkXJ@XWVzV@xnxVXUVVVkUw@mLVwKVU@Um@alU@@@KUmIUaVUmnwmwmb@aW@UkmKkUkVġkUJWbnUõ@UkmUÅKL¯aVkIk`WnkJ@xVLUVVbUbk@WlXbmVxnxUblbUV@@VUV@nVL"],
- encodeOffsets: [
- [115662, 31259]
- ]
- }
- }, {
- type: "Feature",
- id: "429005",
- properties: {
- name: "潜江市",
- cp: [112.7637, 30.3607],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UbVxbXmJVnXVlmVX@bkxVJVLVlXXWlX@@IVlVUaVwVlnÈVVmn£°aVbUlaVUK@mVU@U@VUkaVamwUwnWaXkl@VaUaVUUK@wWI@aU@@K@_UW@kX@V±VUbkKWaU@mI@¥kKkW@ÅK@b¯@UVmI@lmIkVkUWVnm@@V@n@JUnU@mlXXl@@V"],
- encodeOffsets: [
- [115234, 31118]
- ]
- }
- }, {
- type: "Feature",
- id: "4207",
- properties: {
- name: "鄂州市",
- cp: [114.7302, 30.4102],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°¥WóXmlw_ŤWkVaX@@K@U@a@WwU@mWk@ULWkX±lUnV`XWl@aWLUb@Vw@wmKUa@°kwyVUJUUVwkUUJWI@akWmLUnkVaXVbUxUVWX¤lL@lx@bb@ĸUx@`@lbk¦@xn²VÆX@"],
- encodeOffsets: [
- [117541, 31349]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/hu_nan_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "4312",
- properties: {
- name: "怀化市",
- cp: [109.9512, 27.4438],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@n@b@XnJ@k°x@aVUnlUXnV@@VnJWUJVnIVV°UbVVVL@²LUVa°V@aV@nmUXblLXWVXVmVLVK@an_`@X@l°VlXXW`nX@Jmn@b@nV@Lm`bUbn@VUVl@nIVbUlV@LkJUnVV@xVblVUbU@zUKU@mx@xUnn@@WV@lbUb@nVWXXV@VIV@VUnJ@VUz@JWbXllI@VXVVL@Vn@Wlb@lXVlLaV@VJ@XX`kVwVl@bkbUlVXIlnLVamVwV@@nV@XaVJVbX@lwV@n@nV@VWnIVVUÆ@Xxa@IUUKmk@mVIXmWUVJnUVU@anaVwkU@UXa@W@m_@a¯@@K@UVbnK@blIlbXa@WW_n@VU@¯bmyUkUJÇÅ@WU@kWKÅwnm°KVkmankVWnXVWV@UwXkV@mUlLnaVaX@VUn@VnVK@xlnXWU@a@@klakVwmUaV@wmIÛ`m@mVUXmlIXVI@K@aU@UaV_UK@wkUmmUKWXmVkUL@mU_nK@aVU@Ukak»@U@ymU¯UUVKkam@nka@mwkLWb¯mka_VaVKUIUw@kKmU@WK@UnmaULkU@wUalWV¹U@@WUI@WU@_@W@U@mU@WbbUK@Um@@UmbUwWWkk@WUa@anUUwlWUwUU@wlJVUnnV@@mnI@mK@U@wa@wUm@_mVUUaVUk_kċUkVWL@mlU@kn¥W@UwUWV@VÝU@lXLWVUbVLXlVIlknmU@VUJk@@@kVmwmVkxU@@XmVUb@xnKVLl@VxUxkIU`@bWVXX@JWL@bkb¤@bmUUU¯Kkmb@VVUVVn@@Vb@`lnxmblUnbk@xUmV@bmWbUV@VJIl@nVUbK@nn@VbnJVIlJVkXJ@X@lmx@bnnWVXJWXU@UlU@mk@@llb°xIUbnJ@VWbXVmI@JVX@bk@bWL@JUXUK@U@U`n@@Xm@XVW@@nX@@`ImxU@@JUI@KLmK@UÅUUV@VW@¯kUU@UamVUUmJ@nxmLKkmJkwkKm_mKXU@aU@b@Wk@ma@zUJVUmbUlU@xnXlWlXXblK¤V@@nUVVLkVl@Xb@VVKnXKVx@znW@X@@lVK@X@JXbWbnn@JUamLVVXIVxnK@aWUX@x@VnI@WlI@anVIVxkl@lbXXxVVVJVInbV@@ln¦ml@XXVWbkJWb", "@@XLVKVXVKUa@UUUmV@l"],
- encodeOffsets: [
- [112050, 28384],
- [112174, 27394]
- ]
- }
- }, {
- type: "Feature",
- id: "4311",
- properties: {
- name: "永州市",
- cp: [111.709, 25.752],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lxUXVlXUVnlVĢJVbUXVJV@XUW¯VIUK@klW@Un@nl@V`XUVL@l@Vx@XXW`UnUbxUlVnUVlb@VnJUVVVInJlUVnwVklKnwLVJVV@nIV@nbVa@KVVVUUaKV_nVVJ@_VWnV@n¥lI@anl¥X_VKlwVlULUVVV@U@VXL@IUmn@VU@wmKXUWU@m²l@VIXWWkWUkWlkIVamUXamUnmWUU@@UnlK@XJl@kVUk@mWKXkl@@aVU@UVWUUVaIn`VUVLnw@U@K@U@w@UVmUU°K@UnV@bV@Xk@KVm@amkaU£VWUUmUUwm`UbULkaKXU@kVmU@aV_UWVIn@yXXK@klmVV_kWVUn@WUU@UmaU@wnwWanUmmXkam@UakLmK@bxUUUU@Km¥Va¯@kUaVUlmUU@mUUÇmUkUybbUaXUWWbÅLmL@VaL@WWXUKmmk@a@UUKXW¥kU@VUkxmVkUWbUJnVJ@nVJXzWxk@lVbUX@VVL@`mbUnUnVV¼k@Ulm@mwLb@lmLUK@UamWkK@£Ua@UkJkUmbVlkX@bWbUVnnUVl@bbVK@VX@lbV@nU¤x²Knblb@xVô@l@b@l@XWxnVl@VV@XLVlLUUXV`bXXmJU@@bm@UUkLW@UlUKWUUbwUmL@nklVVmVXXm@@bUKlÆnXkllVUVVL@nUbV@V@nnV@xUn¯U@JW@UX@xĉ@`m@@LV@b"],
- encodeOffsets: [
- [113671, 26989]
- ]
- }
- }, {
- type: "Feature",
- id: "4305",
- properties: {
- name: "邵阳市",
- cp: [110.9619, 26.8121],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XIlJIVVK@n@VVVKnLVwVmnLVK@U@wJ@wVIưX@ÜÈUÈxll@kn@VwVaXJWXn@@WVL@UUKVKV_U@@aVKx@UaV@lk@XylbUaV_Vnal@WU@aI@aV@@aVUl@XmUXWaXml@@kk@ma@V_UnUVUUWJUa@kkaWLUmk@@LUVWUkJWkK@¼UnWJIkV@b@JUIm@UlVm@Uw@a@kWXWKUknW@WUU@kmxUkVmIUJUUVmI@UkaUVUmVkwVaVmX_WW@Uw@@kUKWVU_k@mm@@VkX@lVLUJX°WVU@UIVWUaIUġmkVUkWUVWkwWXk`mI@¥kUVUUn±@mXkWknVUVmmU@@XVUk`@Xk@¥¯»mbĉó@mkU@kUKmX@UnmL@lULkKUWUU@bUaUn@Vb@l¦Ub@l@UKmnKUnlUVVbUVn@`Vn@xb@x@VL@nmJ@nU@mmUVkI@xVVVxkXVxmV@bbXVl@XlXVxna@Vn@@VVLaXaV@n@@V@X`V@@XVJ@XV@UºkXVb@xlVVKnbm@VXLV@nlL@VxJVULUb`lb°nXalKnx@lbmn@lbULVV°nV@z@Vl¼lb@VUV@bmLV`@nKlVnUXWVLnnlV@xVLU`VbV@"],
- encodeOffsets: [
- [113535, 28322]
- ]
- }
- }, {
- type: "Feature",
- id: "4310",
- properties: {
- name: "郴州市",
- cp: [113.2361, 25.8673],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²zVaVlnVl@nVkJl_XJlIVmnL@mV@VXn@lV@XzV@lyV¯²U@UlJ@XVKnVVIXl@UVLV`@n@JI@mlIKVLnUlVUVVLXaKVLl@nb@WXV°KUnVVL@xVJL@b@LUVVVUVXbmbVbn@@lUbm@x@XVVV@@@bkImx@Vm@Xbb@l°XU¤aLmnL@bl@@VUX@VxnVanLnW¥XKVwnUWXmVIUWÆLVxLw@wVmlU@¥XWUkwlÇn_UwWV@VU°wnUy@aVkVlnL@lVnw@VlJ@bXx@bVKnb@U@WVUl@@Vnbl@XLlK@aVLVKnxÞn@aLlmUaVUm@ÅknUmaUKmVk@mkk@UlWUkVm@w@kUU@WU¯¥@wÇ@aVIlUV@kUWU@UUm»@k@mKVkUKUwaUaUa@kkUWJkImaU@UK@maUzk`@zy@XmJkL@UUJmUkV@z@kkVmK@¦UbWL@a@UbmKmwUKXkVUUkmVkw@UUKmL@WUIWaJW_k@@WmI@mk@WkWULUUVKUUVm@Ub@nUÇ@U@wV@Ua@aL@akl@kUJwó@@L@V@`@J@xnnmV@bkJmUó@nJWUUmU@UV@LkWlnnmVXbmxxV@nbVV@XVm@UVlXU`Ukn@lWLWzm@UJVXU`@bVUn@lWVLlbVKVan_VxnVVVUXV¤bnl@bUn@LWlU@@amU@V¯LVVUn@V@x@V@L@VmxUKUVm_JUbVV"],
- encodeOffsets: [
- [114930, 26747]
- ]
- }
- }, {
- type: "Feature",
- id: "4307",
- properties: {
- name: "常德市",
- cp: [111.4014, 29.2676],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lUmkUwUyV@VW@¯VaVmUU@KVUVUVLnaWnkUÓV_@mVU@Ýw@ka@kVmUmK@IkaUamKkXWaUW@WUk@@KVU@aU@L@J@XÇVUKVak_mWkLWakVUbmLUUmlUVKUU@kUWW@UImJ@xkLkKm@@X@óÝ@UUk@UKVULKXkWWbkaIUWU@mUk@WLaUJġ@@XÈÆVIlVnz°aV@Um@X`@XWbkakJ@amLaU@V@L°@@bn`@@XWb@VVlUxmb@bUVmVUIXVWnJU@nnlVLV@JbWzk`m@UVK²VxkLVl@Vn@V°xVKVkVVlUblx@bUÆ@@nVnUllkx@VW@@VkLWxUL@bÝ@kKkVõV@bkXVVUV@VkUkVLkVa@@¯xUxmX@JVb°WXkK@Vm@kVbbn¤xUXkJblxnXÆK²l_@Wnan@UL@bJnIlV@lU@@¯ô@lWȂIVKVmU@aXaV@lwVXn@@K@UVKUUnUbn@lWXlJnULKV@l@²a@UlK@aV@naVXWV_nKlL@KUm@a°U°@VXL@a@wWmXal@k@VLnV@@bl@VnX@mwVa²aVU@mk@"],
- encodeOffsets: [
- [114976, 30201]
- ]
- }
- }, {
- type: "Feature",
- id: "4331",
- properties: {
- name: "湘西土家族苗族自治州",
- cp: [109.7864, 28.6743],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@KL@wnK±nnm@WUkÜÈn@n»@mVamkmUl@VnmmU@wUan¯VKLnVWlInyWUI@WWk@KXUn@mnUmU@WmkV@kXaaVaUmIk@kaX@Um@UKWU@UkJWkXa@IVy@UmIUVU@UJU@WXWmU@VakaU@@Xm@Vm@wnwV@VLyV@VakUUa@wUUVmlI@KUVkUamJk@VU@UmVaan_@KmU@@anm@ImWX_WWUk¯@k@W_m`@bULUKUnUWWXkKWaVmnU@@b¯UUbV±K@UKUUVa¯UUmJUVIXmI@UU@WmVmkUV@b¯w@lmI@W@a@m¯LXbmJVLklWL@V@XXmbVVU@@VU²Ul@VlX@b`XxzUmkUVÒl@bXLWxXVl@VbkLma@nmVmULVbmVUb@lnzmbUÒVl@°nLVlJkn@bmJk_VmmkblxÈx@LUbxVb@Vn@JmLVU@nV@¦VbnJ@lVVbkxbm@UxVLV@n`UnVVVkl°zxVb@VU@@ÆlXnWm¦nbVK@XVVUVVl@XKUV@nVL@WnIWXLVKVLlxUbVKXVWbn@@UnKVLVbJU@aVU°b"],
- encodeOffsets: [
- [112354, 30325]
- ]
- }
- }, {
- type: "Feature",
- id: "4304",
- properties: {
- name: "衡阳市",
- cp: [112.4121, 26.7902],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lV@XV@mXVlXLWX@l@bVxn@UVkn@VJ@I@alUJXIVm@»LXllIXVVU@Kl@VnXKlb@lVbXIVVUmVVU`@nbl@@lXLVVVKVbnXWJ@VXbWxXbUlVK¦nLVVUVVbbK@ULnK@Un@VxlUV`UnnL@VVL@JV@VUnxnKVbV@@VIVUnJUVUl@nWXllIUaKVbÞLV¼²`V@VIUwlaVmXa@IWanK@U@mkVVUVaX@lnaVLÈ@¥@kkJUWJUaXkaUmwVXJ@_lWUU@¥n_KkamUK@amKnKbV£¯W@kaWan@@UnwlJ@a@@UUU@Wwn@Va@km@UanaWaUVUUVU@K@aKUI@wKUUVm¯LWUX@mak@UKLWbUKVUkUmVUKLkJ@nJ@I@mU_UK@VWkUJmUUL@WkI@V±VU°kzU@Wy@kUm@UWU@@nmKUnkJWIk`IUlmk@mUUkUb±yUX@VUV@bk@WlXL@nVlUlk@WI@kLm@VV@XVmnnVWbnVUblJXkVlXXlWXUJk@±@nXVWVnL@xUVm@Vn@JWK@UV@UUVUVKUkkxULW`k¦m@bkJm¦U@mUX@`UImUU`LVbUVUU@LUbmaU@mJU@UUIKmxkLUl"],
- encodeOffsets: [
- [114222, 27484]
- ]
- }
- }, {
- type: "Feature",
- id: "4306",
- properties: {
- name: "岳阳市",
- cp: [113.2361, 29.1357],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@wUklmUUmU@@UVm@wUaV_mmUKmwkIkJmUUnm@@UUbUKUmÛamm¯xVLkbÇÆUVUzkVUlUUKWLX¦W@VUUUaKUbmLKm@akU@amVaUUVIVWkk@wk@@xmLlmÅwmbVlXlÝIWVkK@kkVL@VWKU@Ublnam@b@bnW`@XUJk@UUWKk@UKnn@xmLUVm@kbVbVnV@Vb@KnVLWXÆV̦VblnUJWz@ÆVóUVbkVaÅx@¦lVUbVVknWKk@wKVUÅl@zkb@`m_mJ@xXmbVb@llV@n@llbXLUXalUlalVnwnLVKlVbX@@IV@blJ@bVL@VVVUXȤVnkVÑXmlbnVKkÑÅ@UmaVç@±XUlIxlV@VaX¯lUVVUVJnV@°°n°Vxĸł°¦b²¦lJ@U@aUK@kUm@_m±VIXal@Kl@bV@KK@km@UmUUaK@_UJaXU@Xm_VmUk@WUk@kU@a@m@UaUUU@al@nyXXWWwkly@¯n@@bnV@k@mVIVlUUmlUJUwIbXVaUal@Kb@VKVkXVl@VkUU@ylUVVaVL"],
- encodeOffsets: [
- [116888, 29526]
- ]
- }
- }, {
- type: "Feature",
- id: "4309",
- properties: {
- name: "益阳市",
- cp: [111.731, 28.3832],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÆxXL@lV@ĢVIbXKl@nVV@XVJlbXalXWLVKUVLl@VV@ôÞ@@Wn@lLlK@wnIVJX@VX@lVVULVnkVVnKValUXblKnXl`UbVLÈU@W@IKV@@bUV@L@lXV@VXXblWnLVblb@JnLVUn@llb@x@ÞUV@nU`VÔmlXmbUKUVUV@LVVUnUb@°UX@UVzVxnlVkVnlVnaW@wnIn`@_la@ykÆVULxl@XLlmUUVakU@¥ÆwblUUaôVU@ÅXyVImkUaġ¥ÅUWXKmU@La@UmUUUalan@VUnK@wmmL@VlXLVVl@VI@WX_m@a¯mKUkwW¥UK@_UWWLUVkUWL@WUIkVU@JwkLUUmJVI@WkXm@VmkKUIU@mmm_@VUV@kJċwUU@KUWkkW@IWW@km@klwkWVkkUV¯m@kWLU`mIkmkXm@@`@L@xUKWkU@VL@JUU@mbUKVa¯WVnL@`lXUVkU@xW@UbUWVU@UJ@lnU@mnÈmVa@bULwUb@@VkxmUUUVK@IUmk@akm@wmIkK@bVWXkm@wULUmm@UVW@UbmbkKVnU@WlxVU@UXmWUXmlnbUl¯Lmn"],
- encodeOffsets: [
- [113378, 28981]
- ]
- }
- }, {
- type: "Feature",
- id: "4301",
- properties: {
- name: "长沙市",
- cp: [113.0823, 28.2568],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lVUllXkx@lln@XX@JlXXlV@LVVČxlI@VU@Un`nnV@VJlLUnn@lW@XUJnIVVlKx@IVlUVJ@XXKlVVUXKVX@`VLX¦lxVnL°an@bkmVaV@XL@UKlU@llLXUÞJWkUknaÆxnknK@w@l@xllUXUJVVUbn@blV@bnLnKVaLVbVVUX@W¥XKVLVVklUVyUVÈÅlaUK°wnnÜbnVVLaVV@n@VmnVlIlJna@Valkn@na@amwm@UXwK@aUUVUUaVawWK@kU@UaW@kKUU@kW¯XWan@kmmÅ@@I@U@KmLkaVUKkLWVUk@UVmU@am@kkk¥UVUKmaUb@UbI@aKkkWm@W¯K¯b@VmaULVxUXlVk@UxVJVbUb@xUL@ULWWLĕmxVVL@VbKUwaŲWwX@@WUWLU@VbkV@aU@@VUnmJ@VUn@VLUK@UmUIk@UÇmU@@UW@J@LbUmVI@aUmW@@bkXUx@lmLUbm@UbkJ@V@XmlUbkKm@ma@kUaVU@aUK@mImJUIkVUVUakbWwka@UWKkLUamKUXm`Å_UULmaU@@lUV@X"],
- encodeOffsets: [
- [114582, 28694]
- ]
- }
- }, {
- type: "Feature",
- id: "4302",
- properties: {
- name: "株洲市",
- cp: [113.5327, 27.0319],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XUnwĖKXXVK@VK@wVaUaUIVwl@kUVWUwVKnb@U°a°LX@XnllL@bJVa@VanbVLUV@al@@UV¯ÅÇ@Ummkw@¯yVwnUVVVUkmWVnKVUa@WXkVKn@lUVUVVVXIlV°VnI@VlKnV@mwVm@LXKWkU¥wWw@k@mX@KX¯V@VUVa@VnKWkV@VUkm@aWa@wkUWwkmV£VÿXUVL@mVIXaò@nW@aU@@am@aUUUmXmWUk@nUW@_maVmwUkamaUL@awW@akI@UxUm@kmKUklU@bzVm¯xUVU@XVxm`kÈlxXVW@¦kVUn@xxKUwÅKVXUJWnXmVUxWL¦XmmKbmUUwW@UV@k@VLnlbLm`@¦VVkX@`WIUxVnlbWVbXIVlI@l¦Ç@UKmbkW@UbUVUl@n@VmLXb@JWbUnkbVxUJUxWXXlWL@V@V@XXJWxzUVVVVKnXW`@bkIUlnLVJUbUIWVXlWV@XklVbnn@xl"],
- encodeOffsets: [
- [115774, 28587]
- ]
- }
- }, {
- type: "Feature",
- id: "4308",
- properties: {
- name: "张家界市",
- cp: [110.5115, 29.328],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@InWVw°w@@blUKlUlVU@VUUUlW@aöUlUlLÞ@@aVKXwlK@UX@@UlwkVkUm@m@ÅV@akwVaUkUUlUL¯w@UUm@UkKlw±UULVn@l_XyWwÅ@VUUmJUXU@@mmU@kxW@UaUIWbU@@mU@UxnUbmKkWJkUVal@aUkUxlW_@WUIU@bkKWUJVnUbbWblU@nl@XnVmV@nmWV@LXl@XJXVmzkJUXmKULm°Vb@xnVmnUk@VnnlUb@nm¼m@ÛÇVl@Xmnm²mL@xK@LUl@nULÆx@V@VXVWbXXl@nLlm@bVKXWL°bnU@VaVU@mVwJnwVK°zn@VVba@Ċ¼"],
- encodeOffsets: [
- [113288, 30471]
- ]
- }
- }, {
- type: "Feature",
- id: "4313",
- properties: {
- name: "娄底市",
- cp: [111.6431, 27.7185],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lLnJ@xln@bnlV@JLVUVnVlw@U@VaxVK@abnUmÇnV@km@I@VUVVXVaX@@wlVVUkW@_mKXU°UbVLnaV@V@IUKV@XlVL@w@K@_n@lWlnnJV_XK@l°nU@WVU@kV@nbVKVl@nLlLXU@lmkw@nW@UKVa¯IVn@@aVUUKl@nXVKVn²aXblKnLlmVI@KUU@akLUaVaUXm@a@wVUVKnLnWlXln@@U@anUVm@UInm@IUK@UmKVmU_kVUwm@@VmLK@VLaUaVUUUmK¥ULkVWaXwWa@UXImWUaULUUWKk@WnXbWVWnk@UV@bU@@bJ@bV@XkmbUU`VbkaWz@klU@b@VwUL@bV@U`ULVL@VUK@Xm@XWWIUbUxm@@lkkÇwVÛÇW@¯ÅUJ@xIx@@VULmKUnUxmKULUUm@@ULUJkIWJ@b@LJUWkJWnUV@nnÜ_nJxU@VbnUxlkb@l@"],
- encodeOffsets: [
- [113682, 28699]
- ]
- }
- }, {
- type: "Feature",
- id: "4303",
- properties: {
- name: "湘潭市",
- cp: [112.5439, 27.7075],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Æ`n_VWnLVblKXL@VlbXxlaVbUVlUVJnInJ@VL@bUVVb@lnbn@lLVank@W@UlIVan@VanK@kVwlW@aX@Vn@bUJVna@KIX@@VV@nVÈl@VJn@VVLK@UVm@UnIVm@UV@@blUUaV@XKV@XW@XxƱbVxLUa@UKWk@wmmUalk@WXUWkXUVJVaUImKVklJ@aX_mWULUUVUyXwWI@W@U@UXKWkXWVwU@±_U»ÝKUaLVbkJkWmXk@UVVmIUVJ@UU@UamLmwUVU@mnJ@VUnmV@b@Vm@kkWmXmKULUV@x@bWnVUbVblK@bVV@LUJknmKkLWa±bUmULmWk@VLUV@bm@U°JUbVLX@@mlxkn@WVKkmK@k"],
- encodeOffsets: [
- [114683, 28576]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/jiang_su_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "3209",
- properties: {
- name: "盐城市",
- cp: [120.2234, 33.5577],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n@°ĀÞ°@¦ULWKkx@bkLWb@lUlVXXJVbnUKmxXV@bm@@XLÞܦXlVnmzVJ@n@²ÞôkÆÞaȰĉwnljÜóéVÛnĊīČljĉ@ō@KÞUlU@kklÇÈÑÑlġXɛ@UġaU@U_W@n@kaUL@VW@kKmkUV@bkbWW@bkzma@JWI@KUKUL@U¦`@XUJU@KmXw¯KXkmy@aUIWJXXmV@K¯UU@@bVL@¤VLXbV@@JVXVK@JVn@bkKmakVVXUVVVlI@`U@nzVVb@¤n@@UlKXLVVI@V@nV@V@ÈUx@óVōkÅWó@mU@bk@Ýwk@WbXxm@@J@zV@kVbVnLWVUXWUXUWLU@Wl°z@VkxU@UVWIxWJkbĬnW@@bUl"],
- encodeOffsets: [
- [122344, 34504]
- ]
- }
- }, {
- type: "Feature",
- id: "3203",
- properties: {
- name: "徐州市",
- cp: [117.5208, 34.3268],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XKVX@WnIVx@K°Lnll@@I°KnVaU°x²mlx@VanU@ak@akmV@@w@Ua@aUwVwUw@w@UK@£kaĉlóIÇVk±@@kUKmVkIkxW@Ua¯UUm@UVI@WVIJV@@Um@UanaU@mI@J@XV@XaVlkXVaUUWLUyVIXmWak@XkJókJUL@KWkk@ULU@WalUIkJmImkVbV@lV°kXUKWKULUmb@VUlVnb@VV@IVKUUmU@ak@@bmV@xklUU@UKmV@nJVbkXKUamLUJ¯UUVmIbVVLl`@LLU`m@kXUVU@VlxUK@xkIWbUKx@VkVVnb¯@@U@xkmbkLÇKb@@XnJ@LmVkl@@XlUVkxakVVb@bVnUbU@@xVUVb@nIĊ`XVVôJ_K@xlU²KlkU@VaVVÈm@kVUVmnamUUaVXIVJ@ç@¥nkVLn@@XVK@VUX@JVUV@UnVJVLUJVLUVlnIbKnU@m°VanI@anVKVLanlKblKÞk@¦@¤@VKnLVKLKVzlWLX@VmV@VbnU°@UalkWXLVUKWkUUW@£Wa"],
- encodeOffsets: [
- [121005, 35213]
- ]
- }
- }, {
- type: "Feature",
- id: "3206",
- properties: {
- name: "南通市",
- cp: [121.1023, 32.1625],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VJ@bnzWl°LxnW@LVVI@W_V¥@VKVL@LXJI@nbly@aXXla@aVUnllLX@@UVKlb@@mXV`V@bĢlkČÇÆȘ¯wnĕVĉVÿUƒUĠŦğlXÑVǵ@±ōLʵ˝lÇbÝÞ¯xk@Çkķén¯@ğġƴǫ@kVVlUbL@xULÇóLUl¤@nkVV°VLkxVb@laUXUKWĖklVX@¤UUkb"],
- encodeOffsets: [
- [123087, 33385]
- ]
- }
- }, {
- type: "Feature",
- id: "3208",
- properties: {
- name: "淮安市",
- cp: [118.927, 33.4039],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nźUôÒɴèl¦nĖVkbmX@xVlVL@xUb@bUJVnUxlKVLÈxmzXV@lW@XVb@bÈVxnbVIXa°LaÆVVaXUlK@aXIÆVlXKVUlIXalK@alwXLVK@¥Ý¯¯ÿ@mVk@aX@mīlaXIwXJVUV@lw@U¯ybUaUġUÅaUKVknaġm@kUm@wÆIV±nLÆwÇnUUk@ƅÝU¯JÝI¯¦Ul@b@@VVL@l@LLÅmL@b@UaVaUWmLUKV¹KLWKX¥WI@mXk@UmaUVUU@VmL@WbkIUWUmVóIkbmm@UbVLUxmJkU@bkJWbnXU`WzKUÞÈlVbLmx@kè@Æ"],
- encodeOffsets: [
- [121062, 33975]
- ]
- }
- }, {
- type: "Feature",
- id: "3205",
- properties: {
- name: "苏州市",
- cp: [120.6519, 31.3989],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôèĊVnX°¤²lxƒÈÜ@²x@J@b@X`nIUÆUUV@bl@VVnL@L@xJ@X@blJXnW@@`XbWkV@UbVxXUxkV@LóxVbUVW²VJĸklUǬ@ĢƳĠ°@mƒī°»ÈÇ¥ULUU±a@bU@¯U@KnImUVWUkmXUVU@lIVaUUVWKUbUkWKU¥n£WakJUkULK¯LKkVIn@VaUVUUUkVk@U@amUkJ@UUlwX¥W@@UkVmk@JUakL@kk¯ÝmJUn@nmVXlmbVVkn@UJ@±WUxV¯a¯KōbżÇxUxUUlWL"],
- encodeOffsets: [
- [122794, 31917]
- ]
- }
- }, {
- type: "Feature",
- id: "3213",
- properties: {
- name: "宿迁市",
- cp: [118.5535, 33.7775],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XbWnUJVzXKVVUbWklUWbU@@W@IJ@nVmbVbn@@V@UIUJ@XUJ@VVn°VVbX@lwlJnUVL@l²@lÈUôJĊklb@¤VL@@xVxUxVx@bVb@@xU@lnmnXmXLVmV@X@lxVnVJôLLXax@b@@KVL@bn@@m@@alLUUVaU¥nIV±I@mXI@aWWXU@LlUXWW_XWmaUwÇ@aaWUX@@kWUynÇwUKkLVwUmVI@aVa@wUKUk@wWnlaUmĕk¥ɳçóÑŹVmmzkVmm@a@Iók@@LWU@`WbXLWlkImJVn@`nXVbXmL@Vn@l@nUVl°Xx°U@LVĠ@z°@¦UV@Xn@VJmV"],
- encodeOffsets: [
- [121005, 34560]
- ]
- }
- }, {
- type: "Feature",
- id: "3207",
- properties: {
- name: "连云港市",
- cp: [119.1248, 34.552],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@lzXxmÆV@@¦@l`XnlKXXmKnLlab@xmbm@kL@V@Vl@@VUXJXmb@@°Æ@èÈzlW°XĢJlÈ`lInbWV_@m@UUķnôw°ÆmnaVVÛVmĸ»Ģw±Ý@@mUInyUmWkÛ¥ÝK@Wn@@aWUnwVLmUaWIUWVk@kkJUVWLUkÅWJ@bkLWVUbÅUb¯KWbUJWXX`WXkV@KWVXX@bWJ@nJU²mJV¦UbVVkK@b@@nm@@aUK@L@@awWbKóKUIUmkwW@U@UnWKnmWn@bl@bmVUb@kw±n¯wVUb"],
- encodeOffsets: [
- [121253, 35264]
- ]
- }
- }, {
- type: "Feature",
- id: "3210",
- properties: {
- name: "扬州市",
- cp: [119.4653, 32.8162],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VUXblVVVb@xV@kzV@lwVLUbVV@VU@VbUblb@nkͰIÞV@ƆVlmVÈÅxmKU²ÅJ@xVn@lĢnmbUlVLÆbĢVVbVaXk@VXKVVWXVWXUmKUaWaU@¥@£XWUUV@@ynam_VWkUVUna@ÆV@mnkWmXkWUW@k@@akkllWUI@UnKl¥I@VVma@a@I@U@a@anK@UmK@ÅVUnJlkI@aVwka@mVIUW@UWL@WÅbmIULkaUWUxkLUKWlXL@VImÅVUmĉLUól¯I±l@ÒUbVbUVVXUJUnVV@lnbl@"],
- encodeOffsets: [
- [121928, 33244]
- ]
- }
- }, {
- type: "Feature",
- id: "3201",
- properties: {
- name: "南京市",
- cp: [118.8062, 31.9208],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@k@ma@kUUVmVIUWVUUaVa@Ѳk°Jôk@Wmk¯KmX¯aUakKWU@XULXaV@@mUaVUUl@VmkaUXm@WUUna°IlmVmIUW@Uk@@aV@VVX@VI°»nmU@VKVan@m»UaU@U_@WlIUaaVaUala@¯n@kaUkUUWKU@mwkUUmmL@K@LmUUVKVÅImUJVkVVLèVLVU@WLV@nVÜULVUL@bW@XbWbkJUUVUxVXmVk@WUUkVmIV@nbnVWbJUkUULa@Jma@XkK@VVL@L@JLUVU@V¼nXlbm@kbUKmn@lVb@VXXVUV@b@LVbÆxXbl@@lV@UVV@XVK²VlI`UbVbUlVVn@WXn@@VUV@@KmbVLXÒLkKV@nX@VVUV@bnVllbmnbIWVXU@`lLlknVnmlLlbUmVInK°nUU@l@VU@Vn@@alI`VIXaVaVa"],
- encodeOffsets: [
- [121928, 33244]
- ]
- }
- }, {
- type: "Feature",
- id: "3212",
- properties: {
- name: "泰州市",
- cp: [120.0586, 32.5525],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lUU@@y@In@WwXal@Þxl@@anVô@ÆXlŎôU@Vw@ÇUU@@m@UJUUWKkL@Vm@@£aUUmyV@@_kJUUVUUWlUnblL@aUmI@ULUW@IU@WaUK@£UK@aV@°V@LnUWWXIlaVV@£UWlkXĕVLVWb@kUalwUKU¯lU@mk£VôKÈVK@wKVaUkķlUI±ğ¥ÝUʝôm¦ĸ@XXK@VVXUJ@nlbUx@blJkmIUV@ÆnL@VmL@b@b@V@J@bnbU@UJk¦mL@VVJkXkll@b@@lXXVWlXnml@nÅU@mbUVlVUXn`mb@zU@VVWX@¤¦V@Xb"],
- encodeOffsets: [
- [122592, 34015]
- ]
- }
- }, {
- type: "Feature",
- id: "3202",
- properties: {
- name: "无锡市",
- cp: [120.3442, 31.5527],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nLÒlxUVkLam@kVWUULUxVVVbUV@bVLUnnźÞVĠ¦XVUUaôw@KlUVwWUwVa@lUXWa@_X@WmkI@a@WI@w@KmKUUk@@aVUVVÅmJ_@W@a@I±wÛ@ƑÇkw±¯£mWĉUóçK¯VkUWK@XkV¯UWabmUaUUblln@b@xbXWX`@VxUblL@bn@Vb@`m@XbWnn@l¤n@xnVlUVLÆWkV@VbÞJ_nl@nKVU@aUU@mVk°WVLUV¯bVXbXlVn@VmL@xV@bl@nW@X@VVJ@²VJVU"],
- encodeOffsets: [
- [123064, 32513]
- ]
- }
- }, {
- type: "Feature",
- id: "3204",
- properties: {
- name: "常州市",
- cp: [119.4543, 31.5582],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@LnxUbVVL@xnnWnn@VVXn@yImx°La¥n@VkKVwW@nXVJ@b@UVn@UnUV@Lb@`VLklVÞnÆ@VaXLlÈJmmVUK@aVUUaUUVwVKXVlUn@blKVUkwÑmKUVUI@±UI@U@WmX@k@aU@wnK@UUmWkaWU°aVUUK¯XUl@nVV@bUVmLk@m`ÝIUaU@lÅXUKkVmU@wmk£m@XmWan@@_Uam@@akKVaUw@W_XWa@w@akmm@mL@UJmnUK@@XnJWLkKUb@VxkWLaWVUImVULUK@L@lkLVVVllbm@@°kbVbUbbVbkJ@XV`V@Vbn¼"],
- encodeOffsets: [
- [122097, 32389]
- ]
- }
- }, {
- type: "Feature",
- id: "3211",
- properties: {
- name: "镇江市",
- cp: [119.4763, 31.9702],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VĊKnVÆUnJ@UWKXkVLlKVwXVlbVKnJÆaķn¥°óÇIkWKUbÅ@mUÝlkUK@_a@KVUVm@mVU@@aUIW@mXUxLUlm@¦bK¯nwJzm@UW@UmmXmm@wKUUVamwKm@UbUL@Vmn¯¼JUW@UUU@@bl@@VVXJnnUk¯JmbVVXn@VWlbUnk@VVUVb@nU@WbKWV@XVlLVb°bnW°Lnl@X"],
- encodeOffsets: [
- [122097, 32997]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/jiang_xi_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "3607",
- properties: {
- name: "赣州市",
- cp: [115.2795, 25.8124],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@`l@Èbln@KVLl@V@bÈlnKXkVlVL@lJnb¦VKVVnXW@w°@VUmlnUV`UbVUV@xnKVI°KXKVkVL@al@XaLVlULWVVVL@bx@VXVmb@x@VVV@nn¤lb°b°KXXWbX`lbXxz@x`VIVUnKLxWXLVKVbVLVU@wnW°b@nalXmXVJn@U²mKkVlU@@xlnaVmlKn@JVLlnVl@XXÆèVlUX@xVLXVb°W@wnUWmXk@KLVwUmUkUKUw@wVaVK@k@WnkUKWkwlmXL@KVUlLVKXmWUL@aL@malaVk@aaanX@VVUblbJnXaVwn£K@UWmUk@UaWIV@bJW@KmmU@aUUUkmKkVKlUUnKVUlVaV£Å¥WUUK@UkUUw@m@mIkUUWLK¯Uw°¯@wUKUbKm@kkKUL@UUKV¥U@manw@k@U@Wm@@U@WwkmwWaUU@UUmV¯kw@@kmkKkUW@UK@ÅV@XWWkXa@Ul@Va@KVaUUU@aXwla@UkVWaXk@K@lmkUmV@Vmbk@»XI¥VUkVUVU@anKVUKUalU@wX@@a@K@ÝwL@UnÇlUIkJmn@bVVb@VmnkLV¯U@±lIWm@kaUI@aÇU@K@KUIkbWbJUIUyX¯UbU@méUUmUkWKxWIkJm@V¥U_UJUwmVkUU@@knwm@UmkWJkL@n@VW@@U@knm@kUml@xÅx@@XUJlb@VXJVxn@lbV@lULnV@VlnV@bWV@bXL@lVLVbV@blLn@VlK@xln@bX@laLVbnKUVVbKlXVVkxV@nnVUblV@@z°WWkbIkWL@LUJ@bUI@b`@UmI@mkK¯XWmUV¯@UUVUUam@@VULWUJIm`IUJKUkW@UxnWbnnmlXbmIUVmV@Vnb@VLUKWLnÒVVV@VUL@kJUV@bÈ@V°@XVV@l@xUz"],
- encodeOffsets: [
- [116753, 26596]
- ]
- }
- }, {
- type: "Feature",
- id: "3608",
- properties: {
- name: "吉安市",
- cp: [114.884, 26.9659],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lxnb@V@bV@ln@nlIn@blVXKnk¼@VUKWL@bL@`UXU`@V¦XLĠ@lJ¦@nV@l°nn@mVXna@nbKn@lIV@VanJ@_lKVVnL@LK@Vn@VbUVanKlLnbnJVbnWVnVVanI@Vb@LbVKVanXVbVJVU@aXLllbôlƼXxVLVK@Xn@xnVVVmb@LnVVKVXV@@mnaVXUVnVK@_UaUmwnKV_anKVL»K@¯ÝU@U@kWlUnlknKVnaUkma@UIUwl»Åw@VwV@nn@ÈXlKVmna@kVw@anm@n_WWk@mUkUK@ImkLUnbkm@wV@klUnLV±m@UInWkWmb@¯amX@xUVUKUaULWKXwKmLUVUJ_@wyWwkaW_XaWW¯L¯akam£@mUU@U@wnaWU@Uw@aUKUXUVKUkKWbk@@bUKUlWL¯LUJmLwU@UVaVU_VkmnUV¯@@xXmWUUUL¥makI@UKUkWlLkmÇ@aUk@UKL@kmÇak@_VlkL@`lbnlLVanLnbmVÆln@kJlbknmKUbÝmmwULUK@bkLWKULUUma@Kk@UV@L@llbVzxUxnl@bVLm@IVJXVlLV`@bn²@J@V@Xmbñ@WbUJ@bm@@LUĬU¦lV@xXb@blnUV"],
- encodeOffsets: [
- [116652, 27608]
- ]
- }
- }, {
- type: "Feature",
- id: "3611",
- properties: {
- name: "上饶市",
- cp: [117.8613, 28.7292],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VI°`nm¤²@bVJUVVXUl@Vmb@xV@XbmVV@lkLmbn`VbnU@VaUnbVllUXVa@w°VW@_VWLnVlbLVbnlKnVK@IUW@_@am@ÑUólK@U@WU@VwU@UI@aUUaX@kwmJV@yX@kan@mkwVmmI@aUU@aUUW@kVkV@@anK»XVWnIVUl`@_W@wlUV@UWKnUbn°InJlUV@VnIbWn@VklL@l@Vn²m@U`kI@bWJnV@°VXnJmXVmx@VVL@bkLmWULUmU@bWXb@llnX@xkxVVnVV@¤nLnVxnJVXX@bn`VIb@blmlLnaV@blWXnlUnbl@KVanUVmm_XK@kWWnaU@UnaWUXaXamUkKmXUWLX¯WakKmnUWwXa@KW_aXWW_@WnIVl@XULnWVknK@ImyUUÆbXKÛ@W@IÆUnVÝlkVK@mUIVwkUVaUm@aVIVyXIaÈwmmk@UnanVUmÅaó»lwW@kkUVmUK@WKLUmWULkamKLk@Wa@wk@UU@U@mbUIWVKUXWmkUmVmU@LkakKw@w@U¯UUn¯l@bmn@xkJWxkL@VkI@mkmJUI@V@b@VVxnbWlkÈkVLbkKmVL@V@²nxWkLUL@xlKVxbXmVnWJ@Þ°@nxUKUw±`UImVmnU@kalm@akwU@UUJmxU@@U@kU@Um@@KnVm@kKmkU@@WUnkLWxkVUwmKmLkUbmKUbV@xUnkJ@n±UxVXUWJ@LUblUnm@W@nknUJUVm@kXllknVbÆKVVb¼V@Ul"],
- encodeOffsets: [
- [119194, 29751]
- ]
- }
- }, {
- type: "Feature",
- id: "3604",
- properties: {
- name: "九江市",
- cp: [115.4224, 29.3774],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WUkVUkmaVUb@mVUam_nalK@kUnUWaU@@wna@UVkUWVUUI@a±n£m¯_JU@ĉ¦Ul@UVKmmLlm@ğ¹m`Uk¯@@UVK¯@UUK@amkmKkVVUa@UkUKUaL@VVXUJ@n@WUbnVb¯V@LÅlÝIJÅkÝm@UaWUU@UmUXmmwVUUKWUX±mUam@kWzUaVmÇw@aÅLmKXUWKkL@W¯IwVwlkUJ@Um@ÛÈWKUxWkaUU@KkLVl@UKUX±KUb@nVVUbUVmaUlUL@aUL@@nUlWzX`@V@lx²@Vlb@bVÞ@°nl@UxVL@lUbVV@n²xVUVmnUÞbaJ@IV°xnbl@nbÆ@VwnK@VnXlK°xnUlVXV@Vl@L@lk@W_XK@KkWxUL@JnVx@aX@VVUaIXlmL@bVVX@VbnKa²XVWk°a@UnV¤nbmLmW@XbmJUbVLaÞKL@K@U@aVKlbV@nXlJxV@VnVÈÞKôbźĕČmV@Ċ²xÆIV@Þ¦ĸ¼ÞVlVÞnxln°JkLXWVUVUVwnJVI@yn@lXlaXmWI@w»ma@UmK@akKkXmW@_kaWakKWk@@K@IWkUa"],
- encodeOffsets: [
- [119487, 30319]
- ]
- }
- }, {
- type: "Feature",
- id: "3610",
- properties: {
- name: "抚州市",
- cp: [116.4441, 27.4933],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°V°UnÜ@n@lnLlV@bV°LlnLllVzVVXlVV@@L@xX@WlXm@UVL@V@n°kVmVUnKlaXxVbnlU@lVVnaVI@aX@VJ@V@bb@Vb@X@lUL@@VlIVm@wUVanLalVnKnLVxlUXwlKVm@k@Una@mWIXKWUÛVk@a@UVWn@@kl@@WXlW@_Um@UVK@aLnalInWV@@xnI@¥Km@kKmnk@mlI¤laXbVblknV@UKXVlUXa@@Unw@±mU@ak_±a@UJUIVKW_Xa@aWUK@mmUVa@IXa@UWmannlmX¯WKXwVUVw@XUlK@klJXa@kkmm@Uww@¯W¯kw@WmbULaUUU@mVUUWmkUbKmkkK@akU¯¥Ulm@akU@m@KVIVV@KUkUVUkaUWbmIkaVaUU@mWbb@bUlkbb@nK@bKXVWnULkKUV@LWKknlxXVLml@X@lULUb@xVxVLVlVnUxK@LWlXnmV@x¯XaWUUK@wVWUkÅçm`@mn@bUx@lmbUnkLÇWm@mU@Ux@Æxk¼VxVJ@nbVlmbUmLklmkVlX@VV@°Þ"],
- encodeOffsets: [
- [118508, 28396]
- ]
- }
- }, {
- type: "Feature",
- id: "3609",
- properties: {
- name: "宜春市",
- cp: [115.0159, 28.3228],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VlbnK@b@JLlUnx±ĀXxÆWX@l@V@@blJ@nX@xUbVVUbVV@bVmnmJ@bmbm@klUbLmb@lVb@xUX@bVVVbV¤@LVVbXlVwLXÜÇn@@VIlVkUxx°J@XlKXLVWnLÆK@bÈxUnVbylXn@VbnW²XVLVVUnxWnnV@VVVXVbn@ÞÆlIÞJÆk@K°UUamVa@UUU»@wV@VkkUKUVW£U@UmW@@aXkVUnVlKVVUUkVmU@kWaUanUVVamIX¥W@@aUaUVW@_mW@UnIVVn@VbVm@bVL@anKVUkWKUXVIkx@nabVKb@nVJ_V@VwVUVVXUlUUaV@X@VblabnKlkVaXa¯@m@UKVUn@WXkW@@w@KU@UWkUUUykkmKk¯KU@akUmK@k@mmÛ¯V¯U@L¼UKmLbU`mLxVnVb@`LmUVUUWmb@nU@UWULmU@KnaUUmUwmJ¯IUJWIkVkaWVUIUlWaUIUVkKmbUIÒlVUnn@VlLUJ@bUX¯@aWVUKUXKUbm@UwKWa@a@VkUWn@Uak@mbXWJXbm@mLaWVk@wL@WmanU@knwWmkaWLKWUXaU@¥lUVVVbnw¥nKV»@aUk@a@UJ@kmLma@mbUWnm@ULǺ@LXnmxUm@UbkbW@@akLmWk@UXmJmUkV@VUXVlULmKUxkL@lmXnJ@Xl°Vnb@bU@WbKUX@VmKUX"],
- encodeOffsets: [
- [116652, 28666]
- ]
- }
- }, {
- type: "Feature",
- id: "3601",
- properties: {
- name: "南昌市",
- cp: [116.0046, 28.6633],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@X@m@VIUW@UKVbLlV@VVbUlUnLnl@bVL@V°UL@V°@Vln_Ġºn@knKnLVU@VkĊ¥Vk@U»UaUÅLUalmkklWn@VUVIlm@mXn@VmkVa@KXIVUWVw²@m@U@VK@k@WUa@a@aU@IUW@@bUJmbUU@kkVmUaWwkbmLUVUnlWbUbklmLakbUaW@U@VbkVWVUUUVUx@U`UI@maULamb@lwJWUVXLlUVmL@bUK@aUnUam@UUmJ@VnX@`UXVVb@bX@W¦nJUbUmVVbXb@lVUnVlVUUkLmUUVWl@bX@VnV@X¤VUVLllUU@@x¼VV@V"],
- encodeOffsets: [
- [118249, 29700]
- ]
- }
- }, {
- type: "Feature",
- id: "3602",
- properties: {
- name: "景德镇市",
- cp: [117.334, 29.3225],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VVX@VbmzxUlU@mbmL@V²xVbUVVblbX@VkVykValKVI@bn@n`lVWnX@lL@WKnVIVa@¯nK@alIXJVIVWUwn@nUnK@alI@a@anKm_aW@UWmIUwmmK@£UUmUUlwwW@km@kWaXaV@VnVKnXlK@aUK@UnwWUnmIUW@¯mUXI@alJV_n@m±@U@kkKUlm@XamJ@UVUkmI¯JmamVXL@VUkV@xX@`k_UVmJUXW¼mL@bU@UllX@VV@bVV@bnJUnlx@nmb@lW@zUnIlx@WbVV@bVJV@UxV@@X@VkLVôÒn@@b@`VX@J"],
- encodeOffsets: [
- [119903, 30409]
- ]
- }
- }, {
- type: "Feature",
- id: "3603",
- properties: {
- name: "萍乡市",
- cp: [113.9282, 27.4823],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VWnL@UVWLXaV@@ama¯Uk@WmInW@klKVwnLVKUkVW@UlUnVnIVWl@nXlK@bX@laVan@VnwWm@KȹVK¯m@kmU@¥kIğ@WKU¥@V_VW@_K@aXKVL@Ul»mWLkU@amkJm@kmU@@a@UmakwU@Xl@VXk`UIW¼kWWX@@lxV¦XlW@Ubn@mUkL@UmJ¯UkUWVUaUlm@UXWlnUJ@LmLUnXll@bUVUUmVUn@¦xlnn@VÆÈU°kbVVxllnL@VnVVUl@VanL"],
- encodeOffsets: [
- [116652, 28666]
- ]
- }
- }, {
- type: "Feature",
- id: "3606",
- properties: {
- name: "鹰潭市",
- cp: [117.0813, 28.2349],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@XV@nlL@lUnm@Ln@@VlV@@VV@nwVI@VVlx@bknlbV@nmnUVJ_²VxVLw@m¯@ÝXImnUWaUwkL@wVKlKXmw@±@UKnUlLaKlUlÇXkmaUw@U@a@UUkwUJ@zWJw@WbkVWUL@VmUklUaWakb£kJ@nmlnlL@nL@¦mJ@wU@mXkJmbK@bUL@VVn@`kXW@Xk@@lm@UX@V@blÜUXVWLXJ@nmb@V@l"],
- encodeOffsets: [
- [119599, 29025]
- ]
- }
- }, {
- type: "Feature",
- id: "3605",
- properties: {
- name: "新余市",
- cp: [114.95, 27.8174],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@m@@WULUKWwÅ»ókakkWK@bUVUIUamWUbULa@KUa@mJUbmUXUmUamImakKmLUbVUam@@UL@KKmUUkL@`mIUb@U@V@bVl@b¼UmL¦mxUaUUVk@¦VWbXVLXKlbXnmx@lmVnb@XKxl@XUbnKn@WaXIWnal@Vb@XmlV@U@bXbLVxn@VaLVWVLXUb°@VW@aVIkK@UmVmkUÑVJnalLVUVJXbVkVJXUlblUXJVI°JnI"],
- encodeOffsets: [
- [118182, 28542]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/ji_lin_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "2224",
- properties: {
- name: "延边朝鲜族自治州",
- cp: [129.397, 43.2587],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Wxĵm@ó¤VX@@xܼƨ²xWxVV@XVbWXllaÞU°Ċ@ô¼LôÝWanV¥Ñnĉ°¥ÅX¥°¯@w°w@»°k£°mÈŹmÈbÆŎ¦K°z@kxl¦UbU¤klVKŤÞȰ@@bV@nVVUlÞ¦lUllVlU°ÑU¯V°wbXxl@V²@nô¼ó°kmVk²ĕw@wVÞÞ@@Ġö»¯@bnb°mÞ¯°V°ÈJmX¥mamUÅUlaU¯@wKkl±n@@wkÝVUUl±¯I¯bal@kLmakb@ġŹé°Þb°ékLmwXaÅb@bVlbVbÒVbUbUUanwakbVUVak¯ULmxV°UxnôŻX@JXklbkbĉabWU@kWUU¯@@klm@@Å@awWXlKkI@WbUaVIUanU@ĕ¯KmUnWUwm@£ċèkUmbUmm@@nkJUalwk@@nmWUan_óaWmnw±KIwl@UmI@an@@mlUÅmV_KUk@U`@_KUmU@U¯mmb¯@kbImV¯LkbKÛ@ÇnɱJóaÝĢkb@xÒÇll@²VÆUVVUǰXóxlV¯lV@bV@nx@¤@șŎnxV¼knJnKX°¦UlnVbUbÆVnÞWVX¦llb@l°VJôÒnLVbbX"],
- encodeOffsets: [
- [131086, 44798]
- ]
- }
- }, {
- type: "Feature",
- id: "2202",
- properties: {
- name: "吉林市",
- cp: [126.8372, 43.6047],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôlzaÈV°K@mLWlnVxUVÈ@ÝĬUÈnôLa²VmĀkV@ĠĊnU@bV@b@nl°UVnÞaôJ@bV¦mlkbmVXx¯@VxmnbbÈKV@bÈLwĠyônmnbÜ@nnVx@n²KJ@kal@nxÞULź±Vwkw¯LWWUkŎīVww°yVĕ°wÈVlkÛ»@wW@Uô£@nĶXwWaUamKóÑUI¯@kakkW¥XUmÝÅUVaUamVk¥W¯LmIlmU»mwȚō@£kJUÇk@am¯y¯UVwa@wġx¦K¯X°Ċ¯¦U°ċWULÅa±b¯@UkÅWmVkIUlóċ¹`óIlXWXxmbULÝbƧ@x¯bÈl@x¯zaݤ@nmVWb²bmn¯J¯Ò@n"],
- encodeOffsets: [
- [128701, 44303]
- ]
- }
- }, {
- type: "Feature",
- id: "2208",
- properties: {
- name: "白城市",
- cp: [123.0029, 45.2637],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@óǩŁ@WlwUaƑwÛÅÇéĉamKōÇ@IôġVȁÑŹçÝUƧċĉwóóÝ@Ƒ»ğL¯ll²@ƆÅV@¦mÅb@nmlU²VxlUn@VbnWbÇbkÒn@èlnlUÒ°Lx@¼ĉb@ÒUċxÅènLVxÒbÅJ±a@_ÅJÅnVbKlnUÜĊ@UxXVÆnmVJÞ¯VĠwXw°xWLxKV¦ôUwVÝǬóÞÞ¼ÞkVôȘxÞUlVn¦ÞĊa°wb°@bÆwlŤL²`z°@V@@nJVnl@@¥nUmmn@mwnmmUnk@mlwUaLnwn¯°anWakIÇmXwÆamUXUlJXaUUklKUknmÞV@K@VWÞ@VkUwV"],
- encodeOffsets: [
- [127350, 46553]
- ]
- }
- }, {
- type: "Feature",
- id: "2207",
- properties: {
- name: "松原市",
- cp: [124.0906, 44.7198],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@źèȂÒUóĢ@JŎÈLnĊbÈêÜÆƒxVbkx@XǪłôkÞ`Wb@n°abKnVw°`_X`W¦ĊIkmVakwKx°UÞbU@ll@°¦VWaÞbxÞI@mVI@VkÅUWK¥nLa@@È@°Æ@nU@KÞalkUwVékUWwkUVkkJk¯@»ókV¯ÆÇI@bĉô¯@ķw¯nmmÅL¯wVUÞy@UówÇLkmm@@UóxkkĉmL¯wVwkWWXmLõm@kűV_ô»ÛƯ@VaVaĠVlmğwķUóÝƽ£ÇJkbǫaƽLW@nxݤkzy¯XɅm@VôÇX¯Ė¯ºÝnUnLVlUÔmV"],
- encodeOffsets: [
- [126068, 45580]
- ]
- }
- }, {
- type: "Feature",
- id: "2201",
- properties: {
- name: "长春市",
- cp: [125.8154, 44.2584],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@U°xÆKnn°mĸx°@Ċó@aÈJ°ÅUôl@¼l°IllUlVXxlVUêVxkllnÈUVll@Vx²IÞ¤VUlVnIôlÞlwô_bVaĶLXÅÞÇ@K¯@wÛaçn¥¯WXyW¯XwUmmÛ@manómğzxÇK@aUÇLamanUw°@WwnUalnk¥U@aóIÝbUm¯Vmk@@aU@amVğĉ@lUnÿ±UbóKmVÇÞī@ÇVUUwmXkKn@L¯ÇUbyókōè@bn@lÝX@x¯ô@ÆUV_maXm@aóJWxnX@VVnĖVnUJ@nōÆÇ¼V¼kxLklÝw@xx@zV`ÅbmxU±xUnnmknğUbUUb@ŰÜó¼U`Ʋ@lönKnXWlXUx°xnKĊllôw@Vn@lnÈKôx@VÝzV"],
- encodeOffsets: [
- [128262, 45940]
- ]
- }
- }, {
- type: "Feature",
- id: "2206",
- properties: {
- name: "白山市",
- cp: [127.2217, 42.0941],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ul¦kÒÆ°IlÒU¤ôz¼lJUnÆXVl°@²aÆbVKČXV¯°¥¯ĉ°WL¥Ģw@xbUx°V°znb@ÈlVlI@w@mU@akU°kUôwWȯVUVUűU@kÈkÑw@laÞġUÞ£@ƅKnÑ̝@WaUaVUVkkw@a¯@¯ÝVXnW@@WkXmK@xkKUb@bW@Uw¯mmb@WKUbmUbUaWbJĉIVW@Il±LkmUbUm@nkKWa¯n@`UbmaĉL@bÆ@W`L@n¯Xb@kb@xL@VkL±mlUIU¥mL@lÅx@_la@UaV@kmmK£LmKUnÅKVbmXVlèĉUUbmlĢŤIl¯bǦl@ô¼Ģ@x°l¤nal@xb"],
- encodeOffsets: [
- [129567, 43262]
- ]
- }
- }, {
- type: "Feature",
- id: "2205",
- properties: {
- name: "通化市",
- cp: [125.9583, 41.8579],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÆlXnĠx̰lȰK°kXm@¦VbkŤJnݤkVÞVVkÈb°y@wkǰawƨ@aÞKVnaWwXWkôJ_ČºôVk»óyV£kÑJůlÑk¥Va@wkbmk£¯@wġó»@kÈ¥°akJÆ£ġnkVaĊVkçWUnUaÆLVmnLKU±@m@a¯UbmV¯m@_KUaÅWó¹@UanmWak@@wmI@y@mkJVa@UaIkJ@n@Um±kkxmIkbÇm@°bXnV@°ÈmlÞ¼¯XVº¯LmkWWXLmVVlkn@@lnWÆVxbmnm¯lÝaVÈè@¼VbưÞUVJkxIxIV¤ÒXxmn"],
- encodeOffsets: [
- [128273, 43330]
- ]
- }
- }, {
- type: "Feature",
- id: "2203",
- properties: {
- name: "四平市",
- cp: [124.541, 43.4894],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ɇn°WzlyÞ£mwX@ƾKǬblaÈIƾ¤ôÞĸVĠxnmmV²wVnwÆaU_@yw@wÞxlkKlwU»È»ŎÅ@mVIUmmĕUU@mWXwIô@bWnnbU`V@Űó@wÞW@km@aŎç@m°Ñ°Inm±aXaUn@mƑU¦@ǯaU£aUġ¦ÅÒJōUŻókUÇ@¥¯ak¯mUVak@@aċçÅaUm¦Ý`XbÆ@n`IxĊÞōÞml@Ub@Wl_¯JkÇUÝÆÅb@nllUb¯±a@WĉJġUnóm¤xôaVnxôI@xV@bmÆ@lnLmÞ¯ÞxVb¯þ"],
- encodeOffsets: [
- [126293, 45124]
- ]
- }
- }, {
- type: "Feature",
- id: "2204",
- properties: {
- name: "辽源市",
- cp: [125.343, 42.7643],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@żôŎVIÆÑĢ¥VbV¤°bÈ@V¥ƒÞ£lÇUUUÝlÞ£mţIlUa@¥nlW¯L¯kÇġ¯ğwWmÅk¯UVUbWlXlmnbUx¯xVVknlUbVÇKUb@VnbmlnzUº±bmJUbWÈnèmÒ@X`WL"],
- encodeOffsets: [
- [127879, 44168]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/liao_ning_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "2102",
- properties: {
- name: "大连市",
- cp: [122.2229, 39.4409],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@IÞmVk@wXWÜbnwlLnU@nLlbXW@awnbl@XLa@Ċ¥@LULnJ@xVnmV@VXXV@VJkn@VÜKXXôJlbxl@IVbnJVLUbnlnVwJVU@XUaUUlwn@°nVKnV°_VJwl@nwlVIXWlIVVnK@IWmkIVaVU@WÈUlmU@UWUalkXġŻ@kI»mmakUmĉUŁV»²ġVĕ@aUU؍IɃ`ȃ@kw@Umwĉ@WķÑIĉÇbÝLkymbIwÇmÛbmbU¯ÜõÈkÆVbŎxnXVÆnǪ¦b¤UxÝnĉÒmĊVȤÈbÆ¼ĀÆÆÞźbVVbX°²¤"],
- encodeOffsets: [
- [124786, 41102]
- ]
- }
- }, {
- type: "Feature",
- id: "2113",
- properties: {
- name: "朝阳市",
- cp: [120.0696, 41.4899],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@na@UVI@mÑWkaV¥UI@wl@aÈbm@wVak@@K@k@a@UUmUUalmU@KÇUű¯@±kUKVkUaaU@¥m@@¯k@WLUmkn@mmIkm@amU@wVmkU@Klk@UmaXIWWULaULVbmk@UUmUk±_Uym@mbkImaX¯WWxWKzU@WkJWwkV@Um@UbVVVVXb@VWX@W@Vkb@VnUK±aUUlwXÇWKknU@mmUkLUVVUUVUawbkKmwnIkJ@nmb`kmVkLWwUm@UUUK@UmaUa@UUaWK@mU¯Wkk¯VmUUxVXUVmL¯ymXkWUbmXUKVknWx¯JVnkLl@VVxnxlĀVL²WlXl@bÝVUn@bnlÜaXblIVl@@Ȧ@VmbXV@@xVVnUn@`°@VnXU@K@VV@VmbnVn@ln@bx°Ub@bLV`ÅnW@@lUnnWVU@Vbkl@Xl`XxVUblkX@°¦VUVVbUlkV@UbVbkLUxmJkX@bbxVKÆlXXbnnala@Uk@UVVklKVUXKVU°KVan@VUnLKVLWVaU_@mmUXa@mwXwVkVWXkk@k@klm@wXKl@U@KVUUUVaUV@alLxUx@b°°VnnVxlIXJmxLUVlV@bnX@VbaVx@XJ@bn@VVXÈl@llX@lUVô°°@ÞVbn@Vk@VW"],
- encodeOffsets: [
- [123919, 43262]
- ]
- }
- }, {
- type: "Feature",
- id: "2106",
- properties: {
- name: "丹东市",
- cp: [124.541, 40.4242],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lzXJU@²x@@V@bUVmKUn°n@lnVKnV@n@VlV°WbXn@VzJ@¦@bkbbUl@bkbJ¯zWULWbklVnb¦VJ@K°Ukl@@WbVn°@Vm²UnX`UÜLXmVXlKVbUVVnUbnX@VUL@lUbWx@²kl`n@Vlb@nUVWVLVU@aV@²bl@ÈmxWXVÈUJVl@laWnXKÈkÈ@Va°bÆm@XV°IVV°UnalVUn@UwVU@@VVJI@bl@XK@wWmXUUVbkJVXnJVI@mknwlKXL@`l@VI@UUaVKÞnaVm@aÇ£XWU@aÇUU@mbkKm£@WWL@@Kk@klUbWKUkUU¯UõÛmUUaVUU@WU_W@kVkJ_WKkV@bUL¯¯±mk¯ġğÑ@UmwKUaka@am¥ÝIUWmk@wmţLKʝbȗKWĢklVbX@VVknÇV@XUVUblJXn@J"],
- encodeOffsets: [
- [126372, 40967]
- ]
- }
- }, {
- type: "Feature",
- id: "2112",
- properties: {
- name: "铁岭市",
- cp: [124.2773, 42.7423],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XJm@¯mXUlnVbUJU@bV@UJWL@VXLmJVbkXlJXxVL@b@V@n@b@`Vbk@lxknV@VVV@bUL@bV@@bVK@VXLWLXJ@LV@nbWJ@IUVx@LVJUXVxVx@VV@@LXJWL@VU@@L@VnL@bVVmVX@@VVInJmbnLWVnVULVVU@VVmX@@JVzl@nVVKVXÞ@mk_lmUUWV_nJlUÞÑÞVVUVVLUVJ@IVna@@KV@XwWknwnKlalUwaĉÝwJl_@aUaKUUU@WU@WXUÆ@@UVK@n@UnVVblK@bllb@bbW@Xbl@UlnLl°°b¦nKlVnIV@UWU@WXkw@am@nm@aVw@I@KUaVIm±XÑlknJVnVJaX_VaUaVKmwnkmmn@lU@U@mnaXlKUmUIVmklaUK@UlUVUW@UkVma@UUU@JmUU@@bmbKWV¯XUKm@ka@UVKVk@aUKmLkKUUÝUmbXbÇJ@k@WU_@m@klm@UXKVaUI@KWUXaÇWkaWUkWUL±U@lUU@UJI@V¯JmIm@@aU@Uwa@UV@VkIV¯aUkWkb@bVL@@VVVUXW@Ua@@bÝbUVÝ@LmUkVUbVllLUV@LXWbUXm@U`@kxlnnJlbnIllLXlVlUXmVKnV@L"],
- encodeOffsets: [
- [126720, 43572]
- ]
- }
- }, {
- type: "Feature",
- id: "2101",
- properties: {
- name: "沈阳市",
- cp: [123.1238, 42.1216],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ȚĊܰbLlÞxUbUn±@ÈnVÆL@xnLlUVbxkImJkn@V±LUxkV@bbKVKnzVl@L°@VaxÞUlbôxVV@@V±bn@llXLöXĶnal@nkVJVI@aU@@aVK@aUUUU@lmkwl@Ua@_@a@m@U@aUKWwkIlWUanIWK@UXKVIU@@aVVIUamVknW°n@WI@KUmULWnkVkUWKkkmJkamIkmlw@V_n@VWXaW@KVUkKUkValUnVK@ÞVUÞa@a@VbX@VWUU@U@UK@ala@IkKmUUa@U@VkkWVwU_@KÜUXbl@V¥XUVmXakÅlUUkIm`UIUJW@UIKmkm@UUJImmU@VUXU`mIUbUK@LJUUl@X@UbJkU@nm@Uam@@aUmLKwmWXUK@kUaÇa@JUIUa@aKVUUXmUy_@lmbkLUKWLX`n@bVL@JXLWX@Vnb@Vm@UbnVmL@V@x@LUbVV@V@LUVl@mb¯U@xU@UVVV@X@VVblJ@bnVKUnx@llnL±¤b@k`VXÆK@kV@¼kl@bWIUl@VmLnbm@@JXXmb"],
- encodeOffsets: [
- [125359, 43139]
- ]
- }
- }, {
- type: "Feature",
- id: "2104",
- properties: {
- name: "抚顺市",
- cp: [124.585, 41.8579],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XVl°bUlJ@UVU@bVxV@@bn@nJ°I@UJIVV@V@k²VVKlXXVblÈXWbXV@LVJUbWL@Vkn@l@nV`@X@lÈIWanaÞVVVlLnKVL@bUlUL@Vlbn@VL°WXULna@aV@nV@IVV@VbUnl@VXnKVa@UUnyWkXaaVk@aabnm@_WKXmWanU@alaUl@XJVLVxX@wnKnVlw@V_@a¯¥@UkKWUaUUanK@IaU@WUaVw@klUVyUUVUUÇ@Iôba@mnUma@kXa@UWak@Wal@a@WULmU@U`mIUU`mUk@@UUK±nkJbUam@kwm@@a@UU@Ua@@K@VK@kmKU_UKUUaĉWmkkL@`LnmlkLkbmK@k@Ulmb@b@xUVIUlmVXXxm@JUUk@WUk@akx±@¯x¯UmbKUUVmUU¯UmVVnWkÆlWbUnWVU¦k@WaÛV@LV`UxXllU@@VVbnVlL@J"],
- encodeOffsets: [
- [126754, 42992]
- ]
- }
- }, {
- type: "Feature",
- id: "2114",
- properties: {
- name: "葫芦岛市",
- cp: [120.1575, 40.578],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ll°XnV@XLVb@VVbnb@VLVV@VVnXxlKnUl_na@mlImJnxlLaxVbUVVUVUKVlnnV@lmXLÈWkxVV²bVLm@Ula@UX@XW@UWaUUUUVan@V@lUXxlIXV@yXLwXXW°nblJnan@Vz`l²nVVVl@nUaVKbVKnXVaUaVUynXK@kVK@X@m@mLXaLWU¯w@a@UVw¥°ó¯¯y¯Uǯ»w¯Im¯ÇUUl¯»ţKċÑţķm¯w@mU_ómk¼VnU`±IkbVlnnU¼±Lk`@XWl¦UbmVUxkXVlkbllUVb@bkVmx@XVV@Jb±aULkKWXkWmX¯aUJmIkVm@xU@n"],
- encodeOffsets: [
- [122097, 41575]
- ]
- }
- }, {
- type: "Feature",
- id: "2109",
- properties: {
- name: "阜新市",
- cp: [122.0032, 42.2699],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Xnb°lVlnXVJLlVnl@zÆxnK@bblKVLn@@VaVLVK@L@Vl@XVVInVVKVwlUXwlKLVVb@aV@XlUXbVW@nlWnXKV@@V@XUVVLUVV@@bVVV@@ln@VbVUXVIxVanJ@UIVWL@UV@@¤V@nInwWklnIVxlnzUVÇJ¦VVÜLĸUnW@aV_WĊXXaKnkl@nmLa@alUVw²K@UlmnIlJwaVUkmK@wÅKmU@DzVmVaÝwkKaÛ¯șĉķ¥ğ¥@kUWkƏīÝ@@akUK@KWIUm¯nU¯JmwUVmIkJÇLm@UImJUU@aW@U@@nUbJabXVWn@UVmX@V@b@l@L@lUb@xnÇabk@@xVJU¦lbXÒ@nUJ@Vmb"],
- encodeOffsets: [
- [123919, 43262]
- ]
- }
- }, {
- type: "Feature",
- id: "2107",
- properties: {
- name: "锦州市",
- cp: [121.6626, 41.4294],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nJ@nlmVnXKl@@°n@@¦VbVbUlVL²l°@ƲÈV@LVknVbVVnnWVU@XmWUabIVa@mV@X@@bVVnIVJ@nÈKlInJVUnx°IV°mVnXJ@LLlV@b@ÞƐĬXllV@Ġ¦ĸ¦naWW@In@manK@UVkXJ@alk@»lU@ÅLUWl_@a²£Kkm@kwVmULm@akIUa@U@WUUVUaÝ@ğwkmĉ£UW@@bÇL@ma@_mKlXUwKLţÓ@UWw@K@UI@mU@UV¥@°UnJ°@@_KUwW@UnaWUmmI@mķwUaÇLóVĵwÝUUW¯¦Ux@Vb@xV°XKWbK@n@nW@UL@lWLmzUVVbUbmWXXWJbn@Vkl@LlVUn@xnV@bln"],
- encodeOffsets: [
- [123694, 42391]
- ]
- }
- }, {
- type: "Feature",
- id: "2103",
- properties: {
- name: "鞍山市",
- cp: [123.0798, 40.6055],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lxĠÞ@bV@@w°Vna@UkV@K@UUUVa@K@w@UnKmUVan@@Uma@UXWWK@IUK@amW_XKVLlKna@kmKVak@VU@VmU@anIÆan@aUVnb@blLV`ÞLlUbnaKn@naVU@¥°IVK@anUUKVaUVak@mJkXUVwkVUUa°U@W@WlkXWlIXUlJlaxIVVXLll@nLV@lLXlKĊz¥maUlkXaVKX°yIla@aVkala@a@¥IUy@WmXa¯kU@U@mmUULkmm@¯VmnLVU@a@U@±w@VWIkymLUUkJWXJkUmxk@xUI¯`mUULm¯m@kxVVbWV@UVIUx@bkVVVxUbVV@V@zJVXUlnk@@lkLlLUU±Jkm@UIUVLUVU@K@UnnV@l@LlaUJ@zn`@nWlIUVUUUV±Ln@nmL@VUVkLVlUxVLVlÅXma@@akLmWUX@JUnVJVkXJ@X@`WXVUVUIlbW@bVUVL@`Un@¦U`@bUV@z@Jm@@XV`LUL¯J@IVKmKÅI@JnWVnLnVxV¤z@bmV@VUV@bUL"],
- encodeOffsets: [
- [125123, 42447]
- ]
- }
- }, {
- type: "Feature",
- id: "2105",
- properties: {
- name: "本溪市",
- cp: [124.1455, 41.1987],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lb@VnlnVVUb@VJ@nnJ@bmXUx@xVbkbkWLUxnl@Ul@xWx@nUV@¼UllknkK@bmbnlLVJX@VIVJn_lJVVXUmnU°VVVUnVVLna°V°w²@lwbl@XVl@VVIn@wWWnUVkJVUw@@anaVk@@lnLlalKnkmK@_lKnlĊXVbVVLV`nL@lUL@@L@VbV@@V@bn@lxn@VbalI²mVL@Vl@nV_VVnJV_@nVKV@X@bkXbl@XblylUUk@Xa@UVIlK@UUWVULlm@UUUnKWU@K@UXmXVa@U°KVUUWUk@aUVKkaWkKUknaWa@U@m@mk@aUJk@@_WKkLmxl@nUJmIUWlIUaVWVXn@xWLk@@aJUI@U@UVVxm@UVkmb¯VUU¯JWU@Ån¯aUbÇ@ÇlLmWXkbk@UIÇVUXWwÇnk@±aU@@bUVUKUXmV@kaUm@k_±l@XwVa@kVK@UWmVaUmVUUakLUWWnÛKVW_m±VnU¯@Uma@Xk@l¯V"],
- encodeOffsets: [
- [126552, 41839]
- ]
- }
- }, {
- type: "Feature",
- id: "2108",
- properties: {
- name: "营口市",
- cp: [122.4316, 40.4297],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĊĖÆn¤°Ċ¯ŎWô@xXbwnKl@nX@VUVKmL@VU@UxÝ@VlbxU@VUb@bk`IUlVUnV@@UV@@JnXlK@b@nbÆWUkUKVwUklKVU@UnK@mm²KVUVVVUJXk@mm_@yVIbk@K@kmUm@VLV@VUKVUVJn@l²IVVKklK@kl@kmVUWI@y@UUUVawUUUl@akmmVaUKmIUaJk@wkaóIWWÛL@UlmUIU@WW@UnUUm@wmIVK@Kĉ¦@bWKk@max@bWXkamK@mVkKmxÛaWX@xUlÝnJ"],
- encodeOffsets: [
- [124786, 41102]
- ]
- }
- }, {
- type: "Feature",
- id: "2110",
- properties: {
- name: "辽阳市",
- cp: [123.4094, 41.1383],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@`VzWnVUVL@bVbVJ@IÈbVb@lVLXWnxLnKVb@n@Vbn@mV@lIVa@@WkVVI@KVLVanJV_VWUV@nnJVIVn@na@alLlmkVk@»VU@mXwwk@@VmkVwXKllaUa@wVwnW@amI@mUI@VaUUkmm@UkaL@UIĉyLWkkKU@mKk@kWKUUJwkbkIWVkJWXkl@X@X¯VVbUVlUxVWlnI@lUbVUbVLmV@bUL¯J@¦UVmbm@LmbakVÝKU_kK@amaVUbm@ÅbmJ@bVUn@UVl@UbnL"],
- encodeOffsets: [
- [125562, 42194]
- ]
- }
- }, {
- type: "Feature",
- id: "2111",
- properties: {
- name: "盘锦市",
- cp: [121.9482, 41.0449],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vbĸx@nnJVnXmb@VXVxL@`¯@mI¯V@U¦@VV@nJ@V@LXx@VŤÔKLVxWknL@`b@nÈK@a@VXĊ¤nVK@aVU@UnU@ayU£UwmmKXUm@IÆJnLUL@J°IVKKU_@Wn@@I@yVU@aV_@¥Vm@_UKUV@aXkaVJVUUXW@_@WWIUlUIVm@IVW@IU@@VU@mUVVkJ_l@aVa@UVwka@UÞVwV@@UnKLVU@UmWk@mLxWa@wóUVUIÇÆĉ¦¯¦¯xʟJ"],
- encodeOffsets: [
- [124392, 41822]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/nei_meng_gu_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "1507",
- properties: {
- name: "呼伦贝尔市",
- cp: [120.8057, 50.2185],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@m@Łkklô@£kJ°ýɅķÑó¤ğLĉÅlÇğŁW¯¯ƥóÿlwkţÈéÝƛó°ÞÅxV¤ĉĖWƒ¯lȭţυ̃ɱÿķƅˋğɱřÝţϙȍƧĊţ@¯kWKUKm¹Å@ķJU@ƧÑƧō¥˹Ɔ@L@ÞVLn@VōČWJX¦@JŻbU@ţÞmVU@ȁýóbkWWLůUWġkmó±UŹôV¼ƽ¼ł̥ĖƽǬʉxĉŻȗKΕ̛ʵƨʟÞ˹»Ƨţ»Ǖō˷Ȍ±ȚʊĠUɾɜɨmÜ֞˸ƅȂ¯ǖKˢğÈÒǔnƾŎŐ@Ċbôô̐¼ƒ@ĊôĊÞĀxĖƧL±U°U°ĬƒČ°ÜêɴȂVł°@nxŎèbÈÞȌǸl²IlxĊl²ÒmôĖÈlĵºmÈêVþxɛČʉÇĵVmÒÈɆôƐŰǀĊ°ÆǬĮƾbyĊ@ĠƒXǀċm»ôw°Ûk¥Çm¯çkkÇǫţǕéX_ĶWǖīŎaÆĵĸĊ@ȚȘĊLĢĉVÆĉʊÇĕóaU¥ĉ°mkŰġUĠřk°mÑČÿÛƒWĸ£ʠÆxÈÞŎÞ»ʈ²ĊÇČalÒ°Ť±ĸzĊKȲm¤Ŏ@Ò°¼nyȂUźīǖƳÈē°@ÝĶ@Èkl¥ÇçkxkJXÇUÅ@£k»óƿīÛ@lÅJl¥óý@¯ƽġÆÅanċ°é¯¹"],
- encodeOffsets: [
- [128194, 51014]
- ]
- }
- }, {
- type: "Feature",
- id: "1529",
- properties: {
- name: "阿拉善盟",
- cp: [102.019, 40.1001],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƏnǟƨʫŹɆÿ°¯ÆV²ˢżÿ@ÝÆŁȰ¯ȀƳĉó@ğky¹@īwl£Ź¯Ŧé@ÇÇxŋĉƩUUŃōLÇĵóÝnóç@ó@ġƱ¥çWUçÆō@éçťKçȭVһƽ̻aW¥ȁ£ʵNJǓƲɳÞǔlżÞmĠóĬȂɲȮ@ÈĢŮźÔnĶŻǠŎȭгŃċóȭţΗÆƑÞƧÅΫóȘǫɱȁġlÛkǰȁÈnõl¯ôÞɛÝkĢóWĊzÇɼʝ@ÇÈķlUČÅÜķnέƒǓKȮŎŎb°ĢǀŌ@ȼôĬmĠğŰōĖƧbЇƧōx@ķó£Ål±ĀƧīXÝġÆêĉK°Ýʇƅ@ΌʉżÅÒϱʈ@˺ƾ֛।ţશóЈèʞU¤Ґ_Ƒʠɽ̦ÝɜLɛϜóȂJϚÈ@ǟͪaÞ»Ȯź"],
- encodeOffsets: [
- [107764, 42750]
- ]
- }
- }, {
- type: "Feature",
- id: "1525",
- properties: {
- name: "锡林郭勒盟",
- cp: [115.6421, 44.176],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ʶĬĊIȘƨƨ@ĬÛĢșŤĉĬĀóUÈŚÜènŦƐȤȄłϰUƨťƾÑ܆ğɲƜǔÈèʈƲĊƞƒɆ¯̼V˺Ò˺ȂŤVĢêUÜxĀˌ˘ƨưѢmÞżU¼ÆlŎ@ĊçŎnÈÒͪŎźĸU°lżwUb°°°V£ÞlĠĉĊLÞɆnźÞn¦ĊaȂīġѝIĉůl»kÇý¥Ŏ¯én£ġÑÝȭxÇ@Åçķ»óƱŎ¥çWÿmlóa£ÇbyVÅČÇV»ÝU¯KĉýǕċţnġ¯»ÇōUm»ğÑwƏbċÇÅċwˋÈÛÿʉѰŁkw@óÇ»ĉw¥VÑŹUmW»ğğljVÿŤÅźī@ř¯ğnõƐ@ÞÅnŁVljóJwĊÑkĕÝw¯nk¥ŏaó¦ĉV¦Å`ğÑÑÝ@mwn¯m±@óƒÛKˍƏǓ±UÝa¯lōșkèĬÞn@ŤġŰk°ċx@ĉ`Ƨĕ°@ţÒĉwmĉ@na¥ķnÞĉVóÆókĉķ@ÝkƧƧÛa°Ç@ÝÈUóbݼ@ÛÒV°@V¼ˋLÞɅŤŹǠVÞȗŤÇĖÅōbȁƜ"],
- encodeOffsets: [
- [113817, 44421]
- ]
- }
- }, {
- type: "Feature",
- id: "1506",
- properties: {
- name: "鄂尔多斯市",
- cp: [108.9734, 39.2487],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĶL²ĬVłƑkkl@ȎŘWńÈĬȗ¯ºlz@ĠĊôŦôÒĠ°kÞÜn@¤UĸèĸbŌÈXĸLlÒĢxɲƤÈÛƾJÈݰUÅĶ»²VW¯ĸJôbkV@ôlbnĊyÈzVôab@ĸÞUl°yǬ²Ǭm°k±lbn°@È»JXVŎÑÆJ@kLÆl²Ġ²ʊůĊġřóƛÞÅ@mmLUÿóĉƧ@»L@`ČĸmȗÑţů±ĉğl¯ĀwÇçƧŤÛI@±ÜĉǓçō°UwôǫůķƳűbÅ£ÓÇwnÑó@ȁƽ@ÇƧĢón»ŏĕóĊ¯bÅVȯÅImōKULǓ±ÝxċŋV±Āȗ°Źl±Û@WÒȁŚŹНŚÅèŌô¼°ȰɞȂVĊ"],
- encodeOffsets: [
- [109542, 39983]
- ]
- }
- }, {
- type: "Feature",
- id: "1504",
- properties: {
- name: "赤峰市",
- cp: [118.6743, 43.2642],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɲŁĢljĊwƾōÞĭ°_ŎŃźȹƒUČÿl»¯ôķVÿǬƽɅġÅÑǫ»̐ʟȣU¯wVWÝÈġW»Þ¹m݃ɛŎÿŎōͩůV¹ōéċóŹÅVVĢǩʈ@Ėċ@ķÛV°¯xÇÅţ¥»°Ûôĉʟ¥WýČ¥wç»±mnÅķ¥ˋVbUÒġ»ÅxğLƧbWĖÅx¦U°ÝVóŰlô²@¥ÜÞÛôV@²±`¦¯Ý@ÅVÒō¼ô¤V²ŹĬÇĊƑţxç¯Lk»ʟlƽýmłÝÆƏ@mö°Ġ@ŚŹĬţÆUĀĠNJĠX¼nźVUÒ¦Ċxȼ@ôlx¯łʊÒÜĀˌÇČxÆČÈƐaxÒĠn¼ŎVÈ¼Ģ°ŤmǖČĊþLV°ÞU¼ċÈUÆzÈa¤ôbknXĀè"],
- encodeOffsets: [
- [122232, 46328]
- ]
- }
- }, {
- type: "Feature",
- id: "1508",
- properties: {
- name: "巴彦淖尔市",
- cp: [107.5562, 41.3196],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²@Ζǀݴʶհĸƒ¦Ķ̒Uˌ¼ӾÇƾ¼̨UÞĉƧéÝ»ĕĉƐȍōǪakóó¯a@ôţaV¯Þ¯°@²él¥ĵğťwōxó¯k±Vó@aóbUÇyĉzmkaóU@laóķIX°±Uĵ¼Æ¯VÇÞƽIÇÜÅ£ɱġwkÑķKWŋÇķaķçV@£mÛlÝğ¯Ñťóǿƴȯ°Åł@ÞŻĀˡ±ÅU¯°ɅĀźƧʬmǠƐ"],
- encodeOffsets: [
- [107764, 42750]
- ]
- }
- }, {
- type: "Feature",
- id: "1505",
- properties: {
- name: "通辽市",
- cp: [121.4758, 43.9673],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôƲĸ¼Æè@ÈȮwƾ»ʠĢ¥VÆ@²¥@»ŎѯĊJŤ£k»ÆÇX¯̼ōī°aX£ôƾȁź¥aôŤĢL°ĸ@Ȯ¼ÈÒʈŚôVXůÆaĠƛÈKķĉôÿ@ğÈĉ»ÇVnĉVwXĠݰČÿĸwV¯¯ǵ±ĉǫÅÅm»²Ż±ƽIm¥ţÈķ@¯ƧJV»ÞUÝç¯UġºU£ţóaÅÅlƧī¯K¯ÞÝğL̑ȍƽ@ōŎōĀƑɜnÞݺX¼ÇĢÞUX°xVʠȤ̏Ǭ¼ÆÒɆĢǫƾUĀóĸ°k¼ċĀƑVŹȺōń¯`ÝĮƽŎĉxġNJɱłō¦"],
- encodeOffsets: [
- [122097, 46379]
- ]
- }
- }, {
- type: "Feature",
- id: "1509",
- properties: {
- name: "乌兰察布市",
- cp: [112.5769, 41.77],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ʠǠÞĸɲȺƒÒȂƛŎaÆÈĕȘţUÝźǟɆţÝˌKU»@U¯ÜÑ@Þ»ôaVÞÇÈ@¯ÜbƨƨÞlĸ@ĊôlôÅĊUÝĸm¦bmĊ@nĊxŤÑ@¯ƨĖĊ_@Čwl¯ȭLÝ»ƽ¯ķůǓ@ÇǓbċÅÅÆwÿĠÇU£óa¥¯aŎğĠţkw°»¯ůlÝĵkǻݰɱƧǫaóôɱ»Çk¯ŃóʇŐŻĉNJŻĢ¯ÒÈUl°x°nÒĬónĊğ°ÇŚĉ¦ʵV°°ĬÛżÇJȁńʇʹó˂ƽŎÆţ¦"],
- encodeOffsets: [
- [112984, 43763]
- ]
- }
- }, {
- type: "Feature",
- id: "1522",
- properties: {
- name: "兴安盟",
- cp: [121.3879, 46.1426],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÆXnlŎ°@LVLĠþxĊUȮĊnUĠV@żaW¯XIŎġ¥Ý@K@w@K@I˺ŻŎ¦ƨƨÒŎIÆ@X@VºnX°lŎ@ƾĉˤƒȘǷȘÑÝÝÞbVţĸÿŤxÈĖƐêÇKnĸ¥ô@ķÞUnÒl@UÅaīˋ¯ÑƧx@±kXřƐƏÛéVˋ»lō¯ĉÅÇÓǫÞĖġV@ğ»°ĵÇÞǓ¼¯mÛÅŃĉĠÇƾb²çéż¯VğÞml»ōÑVç»V¯¯ĕÆU¯y°k¯¯V»ôÇѰa@ŹkġKţóbʦƽȂóW¤¯bĬ̻ŎW°ÅÈl¼ţ¤ĉI°ōÒ@¼±¦Å@Uġ¦ʟƽ¼ÞĢÒm¤êō°¦Èþlk¼Ċ۰JĢńȁĬ°żnÇbVݼ@¼óĸţ¤@°Ånl"],
- encodeOffsets: [
- [122412, 48482]
- ]
- }
- }, {
- type: "Feature",
- id: "1502",
- properties: {
- name: "包头市",
- cp: [110.3467, 41.4899],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@źxżĀǔÆǬVȘĀŤ¥ÅƾōôˁʈͳȂŃÈIÜŻ¯ī¯ōm¯ɱ˝ķÒÝIÝ»ÅVlÅôÑġğVmÞnnWçkWÜXƝÆwU»Șĕ£ĉÑğ±±ÅkK@lÅIōÒUWIǼ¯@mka²l¯ǫnǫ±¯zkÝVķUôl²ô°ŎwŦxĶĠk¦±ê¯@ݰU°bóŤ@°bôlôǩbŎƏȎĊĖÞ¼êƨÝĊ"],
- encodeOffsets: [
- [112017, 43465]
- ]
- }
- }, {
- type: "Feature",
- id: "1501",
- properties: {
- name: "呼和浩特市",
- cp: [111.4124, 40.4901],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ʶUĊ¥ÈřĠ¯ĉômīѯmwk¯ÇV°ÑżġĊljǓɱţǓƝóX¯ɛÒóa@nÝÆôƜŚĉĢʉŰĊÒ¤ȗĖV¼ÅxWƞÛlXXèmÝmUnĠĢóÒkÆÆUÞ¼ÞJĸѰɲĕ°Ŏn"],
- encodeOffsets: [
- [114098, 42312]
- ]
- }
- }, {
- type: "Feature",
- id: "1503",
- properties: {
- name: "乌海市",
- cp: [106.886, 39.4739],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ș°ÇīXŃŗ@ȍlkƒlUٱīĵKō¼VÇôXĸ¯@ťê°źk¤x@Ĭ"],
- encodeOffsets: [
- [109317, 40799]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/ning_xia_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "6403",
- properties: {
- name: "吴忠市",
- cp: [106.853, 37.3755],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nLV@VLaÞbn@@l@bUVlUVzVx¤kÞVèXn@nm°a@UÑ@VXnV@VaUVKUUU@@U@@KVa@U²@wXkWnk±lLnU@UmmVKnIVWnI@UK@UK@@UVKXkmWLWUXmlkVwUyVa@ww@aVIK@aVÈwKlLVV@LnVVVnUܲ°WÈIUÆ@nÞ¼@¦@UÞUVW@UxUxVnbKb¯ÞU`VbǬV@XXÆVVl°InmnUô°¯anam£WVXKXmkôaVU@Vak@@wman@K@UÛUWKXUÇ@UIb@alW@akLUKV@@Ukw±InL@kmwkWmk@JUIůVmnnU@m@UKVKlkUwknVUKmbkI±KkmVkKb@U@aVkUmn`kIlaUK@UUKmbUIÝUa@mUa@am@UUULUK@bmKkbWI@WXwlkXWa@k@kKLVkkK@L@JUVmzUKlwUUnW£XVlKUwVU@aXI@aWaUw@W@_nam@¯UkWVkUWaU@nwmJkUVkWVUmUkJ@ImbUa@@WÅ_mJknmak@@mXaUV@xU@@VUnkV@Vn@`ULUbWLXVW@kbUJ@XW`@nÅĖWJ@m°@xxbnUaw²lÞ°xŤIVVULÛWbbkVVXÆ`UbVL@kx°LlV@VWbJn@bl¤ULV°@lmL@£U@@aUwmKULVxUVVx@@kU@mK¯LÇa¯@"],
- encodeOffsets: [
- [108124, 38605]
- ]
- }
- }, {
- type: "Feature",
- id: "6405",
- properties: {
- name: "中卫市",
- cp: [105.4028, 36.9525],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°@Èb°KnL@lV@@UwVUUwVKnLVx@bV@¤@nK@k¯UVKk£@amIXa@UkU¯Klw@UKVaÅ_UWlUaXaÜVKUUţJ¯wݱkxVbmaw@wn¯@XIÆĕm@X_@WVIlaX@WUXKVaVK@_Um@lUVm@U@Vw@VUÛwm@@W@ImKUkU@UaaX@wWaUKkw@UVaUamLUnk@»±`¯@kW@UaykbI@VWJkLWUkJwU@n¤mL¯wm@Um²XVWbnV@bmxVkxUblLUV@kVWKU¼kU@mn@JnV@bUnmJUn@k@XlxLVVnKlLVV@@LkKULVbk`WL@lkXW@kV@UÞUlÇXlkaUbmV¯@@L@V@bkb@xlWbbW@±@UJ@IU@mVkVxV@@lIlln@Vm@VUbl@JLmKÛXmVkUKULU`@LĉwKUXlVUl@VbJX¦̼bÞxŎxɜĖĠŎaô@"],
- encodeOffsets: [
- [108124, 38605]
- ]
- }
- }, {
- type: "Feature",
- id: "6404",
- properties: {
- name: "固原市",
- cp: [106.1389, 35.9363],
- childNum: 6
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@Vnn@°xnK£mV@xlIXVlKXI@UJlazVbX@l°@²_@¼mlVnKVbUb@VlxVLXb@xWbVbV@VlnL@J@Xn@ÜxbW@nl@nblmnIÆ`@X@Vbna@aVUUWVk@kbWakbU@VwW@_l@nmn@@alVlk@UkmVak@@aUXaL@¯@KVa@axWI@KnkVaVJn_lJ@X@m@nVanUVb@mXLlJVWnLlaVVaVX@KXVVkVKlknKVa@aVU@KXb@klJUknUm@K@_UW@alIUamaU¯kJma@IUK@U@@UW@@aXLVVJVaXIKlaUkUV@ambUUJkIWJ@wUIV@JU@UwV@@Um@nU`@UkUmVUxWUUV@aÅb@aWXkKUUUUaWK@wnm@IVU@aXwm@UmVaUalk@anKUwlUwlkK@wmaUkmmIk@VmkUUbW@UVUnW@kV@xkVmbVnU@UbUV@ak@kkW@kLW¤@nV@VU@W_UVUU`VLUV@IUVõVULU@UUUJ@wmkUJ@WI@l@bkKkbVVbVbUL@UUJ@Vm@@L@xbVVVLVlVwX@Vb@bmUkbk@@JWIUVÅw@Km@UkWKXxWLÅ@UVUnWK@xkVW@KULwWVXVWzXVVKVXkVV@VUbV@UVV@@LXxVL@VbLnKVLVxXVmb@l"],
- ["@@@J@aU@LWK¯UUxVVn@ĠLUW@UbUUUa@KUX"]
- ],
- encodeOffsets: [
- [
- [108023, 37052]
- ],
- [
- [108541, 36299]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "6401",
- properties: {
- name: "银川市",
- cp: [106.3586, 38.1775],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UwVK@UVWÞUbwV@knV@@KU_VK@Kn@W_XWlL@Vn@Ċw@Ula@Wanamī@a»ŋó@aÆÅɲÿUaV_°ÝaLaUmVwVwX@VUVÝ@@¥Ý»@mVÅÇJ¯XÛ±VUmUmU@KUUkKLÇxU@bLUJ@bx@xUbVzUxklWnXVKnXWlUL@V@VL@VL@mJUXmJULnn@VmVkK²mlXWlx±@@VUb@L@@VV@VVULVUbU@WmU@Ò@V¯bmn@V@lVnUnVWXVl@¦VVUn@x@XL@¦lXxVb"],
- encodeOffsets: [
- [108563, 39803]
- ]
- }
- }, {
- type: "Feature",
- id: "6402",
- properties: {
- name: "石嘴山市",
- cp: [106.4795, 39.0015],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@U¯ķó±ÇÛ¯ķmbXb@kb@Vĉxm@@UkKWXX`m@@LULV`@L@mU@lUxaÝVUX@VULxVkLWV@JnVLXVlUV@zlVL@V@bn@lU²WVLlLVbUVxUx@xǀLxôÒkK²VaU@wXa@WÈĉUa@bÈkm@¯"],
- encodeOffsets: [
- [109542, 39938]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/qing_hai_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "6328",
- properties: {
- name: "海西蒙古族藏族自治州",
- cp: [94.9768, 37.1118],
- childNum: 7
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@V£°@laXô±źwô@UlżaÜnKw@Uaa²LmÈLÆÈxlaUawÞmÜbÞUnJ°akôÑkwÝVğwÇ@ÝkkV¯¥@ò»nŤ¥XImw@mVwa@ÅwmLkaWw¥l»kçó»@WÑĉğ@ĉŃUwóřVómĵ»Ý@VǕ¯kÝĊÅk°ÓUklkU±IÇÞk±@ƽJ@UġIk@W¦VÑșÓÅnťKULn¯X@¯mUÛ@WÅmóKknōbxÝ@U@kw@ÿÇLţÝUkmwklċVÅU¦LkUWlÅÑ@a@ÅѱUóġʼÈĉmŻ@@wkwKl¯Uġ@lÇUÓ¯_Waĉ²Åló¼VbknKÇÅ@ƧĢō°Ý@ğWÅxUUm@ÝXÛWULUè¯@mbUaLbUWġxIUJWza¯by@ōÈóLU`ÇXUlUĉV¯nmÛbǕLklUĉVóaġƏbġKţnkbÝmmnÝWȭÈÝXţWókUÇl¯U¯ġUɅĀ@°¯¯VÆnmJ@ĊķnóJUbÝXUlVkL@lVxnnmb@¤Vz`ÞÞŤ@VnÆJV°bUôJkzlkl@²ó@ÆÇ°kĖÇbÛU@lmbXVkzVɅĀXˢlńĬŹ@éÅ@ĉńưğbUlɜ_°@xŦkbVbƒKĢŤVŎ°@żÈźlĊôKôb@nôxŦÆ@ôŎL@þÆb@nnWˌbÈxInaŎxlU@Ѳ±ğVUĢƨbɲ@Þ¥ôUUķWVô¯ĊWʶnôaŤˁ@£nmnIôǪK°xUXô@Ŧa°mkXÆÞVŎkĊ°ÞLÈôyVaIlwX°UVwĢÑÜKôw@nV@m°nmnÜɞ£VbmXn°ÜÒ@xx@Vb²UlbkxVnJUnVVĊ°KČm°nxÇnn¤±¦@UXVV@lVbmVVÈVxÒ°IbźaČbVw@VLƾÑ@Ŧô¯ĊkôÑ"],
- ["@@@@nòVaw²bVxxÜaČVô_ĊJIVmLa°@Ŏ¥XlK@klKVbUb@nUĢnaÈ@lmǬ»Ġ¯nmnƨVyÑǖĠ»ɲIn@@ÅĢƳ@¯°ôVKÈbVIÇ¥¯@Ýó@ÑnīWKkk@¥¯ÅaX±VÅw@±Ġ¯@»nWmw@@¯VUUWçKĉa±VkkV¯wx@UJx@bknÇbmÅ@Uw±U¯¦UKm¯I¯ť¼ğĊ@ÇŹÈ¯@Ý»ÇnˡJbÛèÇnÅK¯ġĠŹW¼Ålm@¤n²Ýb@b¯l¯@ŤW¼nV@x°@Vx@lbUblbX¼WDzlU@¼V¦@bÇlVxUbVxÞbVbm¦VV"]
- ],
- encodeOffsets: [
- [
- [100452, 39719]
- ],
- [
- [91980, 35742]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "6327",
- properties: {
- name: "玉树藏族自治州",
- cp: [93.5925, 33.9368],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɆÿĢV°°VÈklVôŤXÞWȮÇÞXnmÞnlaŤmĢLƐaĢôbĊUVlkǖKÜan°mĊUVVkÈWV_ôKŎÇ@z°abXyVIJĢwVXaKVbna°@VçVKXÜÞWn@VVÆwXĠÞ@Ŏ¯ƨġÆ@ÈLlmUaô»ÆkĊ±Xb°`ÔVkÈĢ@Vk°Llx@xż@ĊnÇź»ô̲VÆÒ@@bÆÒXklVKV¥ÆČUklnxlç¥ċç@±m¥wÅJ@VmÈIléÈa°U¥@kÞVK²ÑW°w²ÑK²ñyÆÝVmw»kkWĉJWUVÅwLmÅ@@mwkn¥VÑ»°°@@»¯LlaJônVUůU@W¯Umѯ¯k@WykU@¯wV¥kVwţk»wWÇĉĶçKÞÇaĉbIlU@kwWXU°w±@UKn£WĉKWxkĕVamwXw@Wmnk@aVkbĉLlImmwUÇWxnÝJn@¥ÆkwaXÜĉ¯ÅV¯¤mkx¯kķܲVWôŹVU@V£¥@°wn@m@¯@UbUôķmn@ÆÛ@ÇýVaUÇĊV@Çlğ¯xÝŤlVÈÈVx¤VxkK@@x@kVĖġ¥kIWbXŎx@nxÅUW`_@±UaLUxK¯WbkVlbbmLÛÆWIUwWkwÝV@kIéUbUUkV¯Km¯k@Umݯm¯mLÞĉÛUmġ£UxkKm°Lwk@kVmKVUk@¯a¯ĢmóKUUxImlÅnÇbXèVVU°@@xXnm@¼ğ°@²ÆxU²WÆb°@¦llXLmĬ@ÒÞô°@ȦUJÇaLóU¯@°ġƴ@Æ@mɱJğ¼ǕÒUzƧmnmğ°ǫ¼knÇ@bġmmV@VaUaLkl@kLWō¦¯@bKUnJĉIó`ċUÛbwUw±axbñUm@@babÇÅXmƒÝÅôVbÞblUÞVÞU°VUx@UV@l`¼nL@ĊLW¤kXķWġXUVVVķUbVb@°kVVxÈa@ȦĊbaźJU@ÈVl@XkôaWĢÞ@laĸUÆb²mÞLĠÞÑôbÒĊaJVbm¦"],
- encodeOffsets: [
- [93285, 37030]
- ]
- }
- }, {
- type: "Feature",
- id: "6326",
- properties: {
- name: "果洛藏族自治州",
- cp: [99.3823, 34.0466],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÞVŤÈK@ĀlxV@Þ@wŎalmôLnXÆÜ@nV°@°WmVKŦLÆmȚÔÒUX¥l@ĢJV@ƾI@wW°Ån¥kÅÝVwôÈç@lÑĊĕaJnaÆLVw°kny°UnkÆVČĊll¦Vƾ@@nUźÈÇIn°XwÞKô¦VWV£@£°ókċ±Iam¯Va»ČĉV¥°@mk¥l@Ċm@aUmwX@wÆxmĢ_`VnÆbKVw@@nUVğVmVVöIll@@çÛm£UÇw°@VU¯»m¯JōĖÅLa@»ĉ̱`U_k`ÇçókXlK@akÝÞ£WċkÝkxJݯÅwxķxmIÅx@k±J@ýŋ¤UkmV°ÅÝxkwmġnÝVU¦ŤlmóXk¤UKç@mVkK@klī£m¯VUbW¯¼ċb¯ĵam¼mVXm@k¤ÇXÇbU¯J¯¯È@bVXVÒ¤V¼kxÝV@lVWxÛ¦W¯mKnlkU@nƑUĉÝ@ǺÛċUĉ¥UÞÅz±òL±Ò¯xX±ÒLÝU@lV¦¯ÇbkêÇJnU@ÆIxn¦@²Čè¦è"],
- encodeOffsets: [
- [99709, 36130]
- ]
- }
- }, {
- type: "Feature",
- id: "6325",
- properties: {
- name: "海南藏族自治州",
- cp: [100.3711, 35.9418],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vxń@ĊĠĊXÒ°UƾĕÞm°£nb@@LUUWÛº@nlÆǬĠ£ÞV°UXbVȂǵé@kWanm°@xzK°¯ĠVVkwLnm°kÞxÆa¥@wnĉÆ@_l_VwmĸèŤÅČU@Wn@ÑmKUnğK@°¯UÿV£nmLlUUÛé±óókkmnakV@ǰóÝXWəÞťIţxmmVÛUVȂÓnWyȁĉkV°WnkĊa¥_K°ÿWna@mU¯wlÝIU¤UXó¥ÝLx¯WmJÇÈŹmV@ƽ@Uk¥ĉkċÅUml¯Vmz¯lUxÅKmbIbĉĖkÒ@ÇèóUxÆÞlm¦Æ¯X@x@²ÝlÈJV²klVl¯ÔlĉÆÞ°lUǖÞ@ͼnUôôŚ"],
- encodeOffsets: [
- [101712, 37632]
- ]
- }
- }, {
- type: "Feature",
- id: "6322",
- properties: {
- name: "海北藏族自治州",
- cp: [100.3711, 37.9138],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ōmġxƽUm±LǿþġÔ@kxmWb¯I¯mIUx@bbŹVÇkĵblĉI¯¥Um@ƯÈ@aóUlČ»@w»wXaó°ţçÝkUaV¥ÅbÝw¯lmnKlxUğU¯°Lyw¯@mnXbl@êȁǶUWa¯VÝUğ¤ǫkÅ@mܹXVV@K@ma¯¤Ýnƽ˝V@¼ôlèk¼¦xXlbnKÆx@bUx@nnxWJţ¦m¼ñ@°¦lUÞlÈ@ĠxÞUlxÒól¯bmIÝVÛaÝnxVbkbÇwÅÇKn±Kbb@VxLmÛŻbkVó@Źxó²Wkb@¯U¤źĊ@lUX°lÆôUlLXaV°wxUb°xÜôÈKVkÈmlwkÈKwKVUŤĉŎ»»Il¥na°LV»²¯Üy@w̰ĸwlwĢw°±_lVk@°bƯz@l_@̱lÅVlUaÞLVnKlnȰIllČawÞѰxUU@wVkmĠLô»KÞýôaÞ¥ôĀÞmÆmUŎV¥Èl°²°a²¥V@@wamm@Ñn@Æ£żVĠ£@W¯Þl@»@Uk@"],
- encodeOffsets: [
- [105087, 37992]
- ]
- }
- }, {
- type: "Feature",
- id: "6323",
- properties: {
- name: "黄南藏族自治州",
- cp: [101.5686, 35.1178],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôl²ôÜêVVkKmnU¤V°@LmĠVnLÈL@alb@al@n°V_XmWUÈamaVIn@naV£óVWU£°axÈ¥@aĊwȹ@óağbm@kw@maÆw@In¯mm@UkkWÑÅ@@kċÅçVkÝJÅkVykŹl¥@¯ĢUÜX¥òýmmXÝÅlmU@£WlyXW»Åbl@aI»k@klm@UxUUV¼¯XlaUnķI@x@¯KĉUU`ólȝô@¤ÞJk°xVn@mbX¯ĀL`¦ĉbml¯XUlȂĊXzmȁÔUÜVUnnŤwŦJɚÝXÞW¯ô@ÈlUbmln"],
- encodeOffsets: [
- [103984, 36344]
- ]
- }
- }, {
- type: "Feature",
- id: "6321",
- properties: {
- name: "海东地区",
- cp: [102.3706, 36.2988],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@Òb¤ÆI°ôU¼°UnnWx@b¯L@lUUWbXxWlƨnxVUllXVUnL@lȀý²KVnƾĢwV»@mÞ£nÆÞÑmLKUaVżĕWVk²ÆÝ@Xw°@ô@a°wóUUmIkaVmÞwmkny¹VÿƧnÅm£X»naV±Ýw@ab@am¯ĉVó¦kÝWKUU@WanUb@ôǺĉxb@Ǧw¯bV¤UXôU¤bmm@UJnbÇbXVWn`¯Umk@@bka@bÇK"],
- encodeOffsets: [
- [104108, 37030]
- ]
- }
- }, {
- type: "Feature",
- id: "6301",
- properties: {
- name: "西宁市",
- cp: [101.4038, 36.8207],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@kmKVUWkVkUmwƧXkWwXaVV@k°K@aXwmmV¯V»¯óÅJ£amX@ċVţÆķçnUx`k`@ÅmĊx@¦U¦blVÞŤèô¯Wbx¼@xċ¼kVôbÇ@Ű@nV°¦ĊJkĶalÈźUa@aVwnJ°°JanXlw@ĢÓ"],
- encodeOffsets: [
- [104356, 38042]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/shang_hai_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "310230",
- properties: {
- name: "崇明县",
- cp: [121.5637, 31.5383],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@uŏu»GPIV±ÐɃŜ{\\qJmC[W\\t¾ÕjÕpnñÂ|ěÔe`² nZzZ~V|B^IpUbU{bs\\a\\OvQKªsMň£RAhQĤlA`GĂA@ĥWĝO"],
- encodeOffsets: [
- [124908, 32105]
- ]
- }
- }, {
- type: "Feature",
- id: "310119",
- properties: {
- name: "南汇区",
- cp: [121.8755, 30.954],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@`yĉNǕDwǏ»ÖLxCdJ`HB@LBTD@CPFXANC@@PGBKNECCBB@EBFHEDDDSNKAUNBDMNqf[HcDCCcF
@EFGLEBa@ACoCCDDD@LGHD@DJFBBJED@BGAEGGFKIGDBDLBAD@FHBEF@RFDMLE@SGANFFJBANPH@@E@FJjRIACDMDOEKLFD@DbDAJI@AP@BGHFBCBGDCC@DCA@CECGH@FKCEHFJGBFDIHACEDNJDCVFBDCRKRLDLITB@CjNJI^DBCfNVDHDFKHAFGDIICDWBIF@@CFAjFJNJBBHD@CJ@AEFJ@@DH@BFBCPDBMFEQGDIFCNDHIP@HDABFACBJFHEBSZC@DP@@JDBƤ~"],
- encodeOffsets: [
- [124854, 31907]
- ]
- }
- }, {
- type: "Feature",
- id: "310120",
- properties: {
- name: "奉贤区",
- cp: [121.5747, 30.8475],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@~T~JjZdDbLXDLCB_J@@FHFZJJIAGH@HGR@BENBLID@@LFCDF\\FpDBDb@FAHKFE@dEDDdC\\GreNMACVMLBTMCCFCEGFAA@DAFDLMHA@OD@BMEWDOC@AS@KGAI_DcKwÕísƝåĆctKbMBQ@EGEBEJ@@MBKL@BJB@FIBGKE@ABG@@FMFCPL@AjCD@ZOFCJIDICIlKJHNGJALH@@FPDCTJDGDBNCn"],
- encodeOffsets: [
- [124274, 31722]
- ]
- }
- }, {
- type: "Feature",
- id: "310115",
- properties: {
- name: "浦东新区",
- cp: [121.6928, 31.2561],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@EN@JJLNHjLJNR^GRYVBNZJRBV@PDvbLNDN@LGNER@nCNQNuT_TIVFV\\Z\\XnDrI|[Ʉś²ÏJUHOƣ}CA@IO@@CYDATGFIEDAEBBAGCO@GJMCEDCJRHEFANOCADAEG@@CI@FE@BDIC@AGIAIMiEEB@DE@AJCXJDCJEHGBELGCUCeMAD]CIJiM@DSAKJKCLQDQACUECDMIFCBDJGECHAEIWCK@GLMCCGEACNKCEJG@MMBMC@@CIJUINT@JAJSTEPZZCP"],
- encodeOffsets: [
- [124383, 31915]
- ]
- }
- }, {
- type: "Feature",
- id: "310116",
- properties: {
- name: "金山区",
- cp: [121.2657, 30.8112],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@L@BIHFN@@EE@@EFBDGDAADVDD@@EF@CA@IIsRE@GDAF@BF@CV@|FBCHBLCNHAFCADBMDCFZXHILBVEEQA@MWFARJJ@DCX@@TEFBLHAAERE@AJABRPBNK\\BrJ\\VHGND@CNADKDADQjGAGNC@GJ@FCFFHC@JF@@dLBDSFADHVG\\DTEPDDHJALIJkJDJCDIPE@YDCBiK@DONE@EH@BAF@HLJA@EIA@ALKNA@@FIFAFHR@NALadsæąyQY@A±DʼnXUVI^BF@FFF@HBJEDFFGFEBSRkVEXGHFBMFIVW@GAEEFOIAIPKABGWEKFSCQLQBSEIBC\\FdBLRR@JGACFDDEF@AWB@LJJYNABBA@CUEGPaO_AIE@MYMFIGAEFECHSAAKAO\\[JEDB@E@MMA@@AGBKMGDFFCDDFEDFJF@NPBAFLHFH@EDDHBADDC@DDCDHHCDDFDABDAD@FEFOBCJ[D@HEDDNJBDDHABJIBBvGLBJAH"],
- encodeOffsets: [
- [123901, 31695]
- ]
- }
- }, {
- type: "Feature",
- id: "310118",
- properties: {
- name: "青浦区",
- cp: [121.1751, 31.1909],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@RUNKdOFDJCbRFMLAHPLDN@JGL@@APBWYCKN@TU@SHGCEJIDIJKVIZVNM`iNY@CIE@CA@KBOEGEUFCCSADEIEFCDDDIDDHC@CKIeDCG@IG@DHWFEEGCH@@GO@@O]CNpeEQDBFME[JC]DGF@CKOA@QSB@GB@@GW@@ED@AQIJIAAFE@@DO@CFI@KNG@CDACAFEGKGBEGBDCCAIFCCLIECFI@MBCLDHGNAHSF@DMB@EEKBA@@C]DEICFG@ADBHGFKCDAKKHKD@@FHGAANGEEFCHKCECBCKG@ADKCNE\\[A[I@@mGBDQQEO@BCE@AI[AML@JGACLOAFKEMM@EQKC@CUCBCCBCHEA@FF@@FM@GEAJK@GNF@EXPH@FD@M^@HIADJCFDBER@DK@@DE@CAKFOCCBDHIBCNSB@GFC@GQEEOWFICGDUAEJIDBTAHJHEB@DIF@NE@H|HBDBEH@DKBAHEF@HEEUB@FGFGCCCE@AHOB@NH@PRLVNNFBX@RCPbAvMtBfH@DJF@ELBFA@EH@HNED@FFB@HLC@CJ@@DJ@PIRf@HE@CFF@GPHD@DKE@FFBEFFD@DEFCA@DD@IjCRFBAHFDKD@HF@@PM@H@BlbDJDBFEF@DLXB@HCD@@IFCBIFEJD@FDC@FBALLF@PAACJERACAJCBD@EL@JD"],
- encodeOffsets: [
- [124061, 32028]
- ]
- }
- }, {
- type: "Feature",
- id: "310117",
- properties: {
- name: "松江区",
- cp: [121.1984, 31.0268],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@DLDFRN@FNELPBDKHB@INK\\BBJF@ADP@RFCRHA@nJ@B\\[\\MFLDBCH@DLDADFGLEDFFMHBBGH@EC@GLLLCBLDHEAGBCH@DEFJ^C@DB@LAFFA@CNE@GTMBGHKCAD@NEJFDKJDDJEDBCDHAAFLHFHBEBDDCH@LMJ@DEP@@CF@BEJBJIBRC@@FX@@HA@@HTA@RPBDLE@CHD^\\INFAERCfFMo^D@PP@@HG@HDFFXECGH@@JDHfCLJ@DGDCCCJCCEDJFCFTBDDVEHFPFLAB@NBFCFKFC@CHIACNOHWHCAAFIDD@CDAGEI@ACFMF@R@R_@GQED@EGFEQEDE_IAHKAEXCQUOQCUDEN@ZI\\DDmAMHCICDSOC@EG@BKHIGMIBCGOCSF[CUHCGEBCTKA@cE@@IGDEEEDI@@HMDBHiHCRCBCLMB@DMCGH[UqI[AMLOAAQIB@BQFBFGBAKFE@SW@CDI@QIEBNXB@FRUFKAGJYWDENCCADBBEMGKDGAAD{EU@@DAEE@CB@HQFJt@JDBE@@FC@"],
- encodeOffsets: [
- [123933, 31687]
- ]
- }
- }, {
- type: "Feature",
- id: "310114",
- properties: {
- name: "嘉定区",
- cp: [121.2437, 31.3625],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@F@LI@IDKJADKIEJICADGACFECCJ@HKCAFOHAJI@aCBEE@ICAEB[GFGCKL@FGEIFADMLCAEJM@ELQECEIG@BE^QKKLQCA@EHBIGQ[GEHOMGGDHKH@JOECFCjCBEFDNCACMBCILGTABDLEEOEIG@GFIMM@CGKFBFCDE@@GEAGEEACIcGaHMFITIHDN[AKF@FS@OA@BK@IHM@KCGOKBENaQIDECcPMLQVFHFB@BFBKLGD@FAJOVGIACQ@A`LPCB@JEF@RU@ANS@@RCL\\HIFpRBFRBBDKLLDADJDGBFDABHBEDNF@DGBBBADKDAHC@\\JJFBDEH[DEFDH\\LX@XLBLbT@DNJLDCEL@VJABJNDHB@HBHYFBAA@GNFB@@AFB@AFABFLFBHFCL@HJBAFBLC@DN@HN"],
- encodeOffsets: [
- [124213, 32254]
- ]
- }
- }, {
- type: "Feature",
- id: "310113",
- properties: {
- name: "宝山区",
- cp: [121.4346, 31.4051],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@mÖoÖi½[s[YEUJU`SCIEBCCWJY_LIICDWU@@FaBCJIB[ICH[@@CDKEE@MK@@IMCAEBCH@AMFI@SMGEFGB@FK@BHCAIFJNQD@FEBDFMBKGACG@ECWH@@CDDTOEEBGEK@GC@EE@GPHFR\\JHGA@FDBKRLL]RAFH@FJFDKR@FINBFKDCNEBFJEHK@DLEH\\HFADB@JFFDA@bIJGBEPDBGLI@DDEFBDCHDBIJJFCLIBCL@JKJE@ADHDBHJ@HIBBDFHBBAEIJ@BJFAVL¢"],
- encodeOffsets: [
- [124300, 32302]
- ]
- }
- }, {
- type: "Feature",
- id: "310112",
- properties: {
- name: "闵行区",
- cp: [121.4992, 31.0838],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@T@@ELE\\BCMJGJSNEbGdHDJFBJAFIEIFCEWG@@gMENSFCVJFAxR~B@IH@AIiI@GE@FGEAFQPDRiV[\\DFSGMHAXHDOMCJCDETBBNVJJI@DD@ANNNH@FILDDMFBDHNDHKL@XDFGLD@EHGFD@DDB@CDDHCDAEAHG@ABOJ@BIaC@CECLKPFNCDCJBiQEIF@@@OGBMIAEEBMTHF@NKEC@QFEGA@EBCKAACHCLJHEFHHB@AFCAIEACIC@HG@KCCDC[ECEED@KC@KJMAAFQ@GHG@BHIJYIGE@EI@A`KDWCaKcCiY}I}S[CYJM@CFDVPRRVWDFLBBG`JCFRFEFFHC@RF@HQ`Q@E@ENBDJ@HFCB@DCCEJBBGDGXMPBDGJ@DEDELEDMA@DJF@DMZ_jMNYUUJILCJIJDFGH@TSVM@DLXZ"],
- encodeOffsets: [
- [124165, 32010]
- ]
- }
- }, {
- type: "Feature",
- id: "310110",
- properties: {
- name: "杨浦区",
- cp: [121.528, 31.2966],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@V@CXJDKJZ`XIDDFADJvSRMDM@mFQHM@KCMKMuaOCU@BDAJSX@HKJGD@PNJCJWAGT@R"],
- encodeOffsets: [
- [124402, 32064]
- ]
- }
- }, {
- type: "Feature",
- id: "310107",
- properties: {
- name: "普陀区",
- cp: [121.3879, 31.2602],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@F@@FHDL@HFFAPFCSDC@@XGFDH@BDLHNACEFA@ERCIMJEDBAGL@@EHAFENHHJ\\ONQBQCIBC[MKACKI@GGGH@I_G@CW@[DMHCDIBMTDHN@JNHEH@FJFPKFACSBKHDJNABDMDECAFiDEDFDIPG@GLHCNH"],
- encodeOffsets: [
- [124248, 32045]
- ]
- }
- }, {
- type: "Feature",
- id: "310104",
- properties: {
- name: "徐汇区",
- cp: [121.4333, 31.1607],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@RADL\\NCPHFfLJaJ@FWLGMGIK@IFMDOYYFOTSBI@IMSAMSACFIDNDCPWGGBHNET[CU\\QjOCERFBEHF@@HjJBJG@@J"],
- encodeOffsets: [
- [124327, 31941]
- ]
- }
- }, {
- type: "Feature",
- id: "310105",
- properties: {
- name: "长宁区",
- cp: [121.3852, 31.2115],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@HFFB@HF@DCAELENSJADCNG\\CX@@D`H@JHGHHJ@BINBFUGEDO[MCKQB}AwQEBUIEDMTNF@hH@FXEDFJEJIB"],
- encodeOffsets: [
- [124250, 31987]
- ]
- }
- }, {
- type: "Feature",
- id: "310108",
- properties: {
- name: "闸北区",
- cp: [121.4511, 31.2794],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@CSG@BQGODUPWTOBQAAFMECKBGEMFKEOHADDJARMR[PGI@TEJBNG@ADBFND@JL@@NFFCL@D\\@DG\\JJADI"],
- encodeOffsets: [
- [124385, 32068]
- ]
- }
- }, {
- type: "Feature",
- id: "310109",
- properties: {
- name: "虹口区",
- cp: [121.4882, 31.2788],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bA@E@QHSXBDIMI@OHCLI@GTWBIACQAYIOFGCENBBARSPOXCVHPARH@DT"],
- encodeOffsets: [
- [124385, 32068]
- ]
- }
- }, {
- type: "Feature",
- id: "310101",
- properties: {
- name: "黄浦区",
- cp: [121.4868, 31.219],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@NEHFLAFDHDPEAMZUHQQ]IMKJG@EPERABHBGRUCCNGV"],
- encodeOffsets: [
- [124379, 31992]
- ]
- }
- }, {
- type: "Feature",
- id: "310103",
- properties: {
- name: "卢湾区",
- cp: [121.4758, 31.2074],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VDHQGABAFQFOH@LIiKKHEXI@IbAFZB"],
- encodeOffsets: [
- [124385, 31974]
- ]
- }
- }, {
- type: "Feature",
- id: "310106",
- properties: {
- name: "静安区",
- cp: [121.4484, 31.2286],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@DLLB\\NPGLFHUDMYABEeKEVMAAJ"],
- encodeOffsets: [
- [124343, 31979]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/shan_dong_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "3706",
- properties: {
- name: "烟台市",
- cp: [120.7397, 37.5128],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ŤLLllVń²è°xżĢĠÆlÒŤbV¤ĊXnlĢVĊÒȰĊŰÞèL±@џn»VUźċ²»ÆkôVɆkĊѲkŤVVwUUVmUa@KkU@mUmmk@UwUkmW@UVIXa@mw@aKULax@Uk@UbWU@yULmK¯@kXVUwm@@JUUknWKUVLUbU@wWykIa@w@mUI@aUVynIWak@@Wbl@@knmK@wnIl°Kna@V¥ğ@ġUķ»¥@UōJX¯¤k@wmI¯k@mwak@@lX@bUJ@VbknWxkLkxlLVlkLmb@bU@bU@VbU`Vb@nL@mbU@VnUVmnU@mm@kIUWVIUKVkkUJUnmL@VmLUaVWaXamU@U@KUUmVUJUVÇwğnm@mXĉV@l¯xnô"],
- encodeOffsets: [
- [122446, 38042]
- ]
- }
- }, {
- type: "Feature",
- id: "3713",
- properties: {
- name: "临沂市",
- cp: [118.3118, 35.2936],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bXll@zlV@lXXmkbVVlU@Vn@@Vmb@XKVXWJ@XXl@ÈbVLUl`@XXV@VVUxVbUxVb¦@WnXVJ@bnVUzl@°ÆxUKlU@mUUnUlUVWVUnVV@XX°V@Vll@VkaXVl@Ux@bmbXLlKlb@b@bUJn@@b@n°x°K@an@@UlLVKVbXb@bVVnK°LVa@UVa@XwKVxnLU°@naV@UWUkWULmVwÝKUUla@aó_@mK@aUU@WUkwVm@aVI°W@@IUw@a±¯@¥kUVUm@awkw@K@kVKk@maXalI@alLWXblaVLVUV@LnK@l@waXaLlnUlLmV@n°J@_VmnIVym£UKmI@WnIVm@anUVmÇ_kġIÅWUXÇm@U@ݯÅ@@naWIVW@IkK@klKn@naWImk@abkKkLWnWkLWmk_@UaVUKmLUw@mn£WwUmUaóV@UkUm@UKULUwmJUX@WW@XÒzVblJXWXk@UVWKX¤UL@xU@@VUaU@@XmVkLmWkXUyÝLmKXnV@n@lx@bWLnVVn`knULmxUlWLXVb@VK@z¯x¯¼WxKUn@bk@lVVVz"],
- encodeOffsets: [
- [120241, 36119]
- ]
- }
- }, {
- type: "Feature",
- id: "3707",
- properties: {
- name: "潍坊市",
- cp: [119.0918, 36.524],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@l@@UK@@L@bX@@VlL@JLUVnX@`ÜXn`V²mJ@bU@@nb@l°xnnĸVư@Ċ£Þ@lWnÑnkʶJmó°w@kk»V@»¥k@V@kw@wVmaÅmaô£ŎXI@mlnKla@mV_UK@kUkw@alWIU»m@WUIl±UUÅUbkJ@a@wUKUaVIÆmXIWaka@m@Ul£XKVw@UIJUkmJVkU@aWKImV@UxmL@bX`WXU@U`ÇkUak@@°UblXkmLUKmL@VULóVk@@Vlbn@Ub@ċaUJUbIUlVLUVVbVKXVlVXU@mb¯@VmKUwLWx@Ub@VUb¯KmLUU@aWaUaULkK@Vm@@b¯L¯w@ma@m@UUU@U¦lJUXVmkb@nmXVWkbIVxUV@VUbWLXVLW`Ux@nk@Vn@x@VkJ@V`mXk@VxV@lVI@VULVUIV`°bVXXxV@VWVnL@xVUb"],
- encodeOffsets: [
- [121332, 37840]
- ]
- }
- }, {
- type: "Feature",
- id: "3702",
- properties: {
- name: "青岛市",
- cp: [120.4651, 36.3373],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@nUJXL@blVUnIVlIVJ@UxWLk¤@V@nlbXbWJÅnUJVbVL@x@blIaÆVVVk²VJ@XnV¼JkX@blxlV@VLU`@nkbLkm@nWJōó¤bnÆbUn@xlxU@l@¦@¼Ul¼ĊUnW@nĠmÈxUVIVnUVV@LV@nVWbXbUVbnK@UnKVmVIllUVLUJVXlJ@nnV@nmVUUm@Vna@K@mUaV_UaV@aV@@aanlKUkKklwlKXwlma@UVI@akW@l@bnxl@°nJxl@°£WŎIUÑn»lamô¹Ŏ¥VaUUkmkġWɱIUUŹ`@kk@ĉƨřV¥_Ç@Ĭ¤ÝL¯m¯£ƽóķwUW±ī¯kōaĉĕkğmó°bW@UKkLUaVmz@V@UxVn"],
- encodeOffsets: [
- [122389, 36580]
- ]
- }
- }, {
- type: "Feature",
- id: "3717",
- properties: {
- name: "菏泽市",
- cp: [115.6201, 35.2057],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@¥IVUÈmÞ»@UlU@Un@VW@UVmkk@aVUUKVÝ@UVknK@UV@VVnIV@wnmwmKXaWaXI@UV@Vy²blkVKkamU@kb@Um@VmUkmKmkXKWwkU@Ul@UnK@UVUUmKXwUVLwKU@@Wl@@wUkV¥@@I@W@_V@VWUw@UUa@aaWa@@_mKUwl¯amzmV@WKnU@kWLķaUKbÝVmV@UWÇbÛ@X°UbW@XmVlk²UJUbmLÇxÅWUzl¯Ll@VkKXUbWJ@bU@¯@kbLmKka@l_WXºVbUz@Jn²V@¤lXnV°Ln`WbXLôVlKVUxXnlXLlU@bVV@XJWLUVnVV@@nl°nnVKÈbVXÆJU°VnXVkV@@xVL@Wlb"],
- encodeOffsets: [
- [118654, 36726]
- ]
- }
- }, {
- type: "Feature",
- id: "3708",
- properties: {
- name: "济宁市",
- cp: [116.8286, 35.3375],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nam_nKlVLXaIl`_@KVVXI@m@w@@k@Knô@n`VbV@@LL@KVVn@VX@VLJl@VUUU@Uam@UkwKWaXamkJmIUVUÈblaUnV@kVKl@@lXL°kVJ@VÈnVJUX@VLXl@xVLnU@VKV@aIUaV@bĊUxKkVJXUlVUVaI@WUI@KlUnwmWk@WXIWUL@Wna@Um@@UVkUUlanWW@kkU@ykWkaWVUlÝbUU@kJUIU@@JmaókLKÇUUkKWLk@WbkUUabmKn¯°¥V@XwV@VanaVaU_@Wlk@WÈ@VUÈVVÛmaklKȯlLVUX@lK@aX@@kV@VmV@VwnJV_UWUwXam@kW@wVUkKVIUUVmU@UV@IVK@aUL@aV@LmUKmx@ômLkUWJ@nXmlUxUL@VknVUU@VL`Ub±LkV@kUKÇbÛ@UWó_mJ@Wk@@X@VLxUKVWxLVnUV@VmL@Vk@VlVXxWLnlLnVlUnn@@VlaV@nlbULkl±aUzU@@VWJXbWbnLnxm@xUmJUUU@@VmLUl@VUÞVLUV@bllUn@VUXm@@VkV@VݼÇnUVJ@¦nnlnVlL@Þb°KVV"],
- encodeOffsets: [
- [118834, 36844]
- ]
- }
- }, {
- type: "Feature",
- id: "3714",
- properties: {
- name: "德州市",
- cp: [116.6858, 37.2107],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@¤@VmbVXnVVbVJX@ll@zlVInl@@bVxUbĠl@ÈblaIxXVWb@L@nULWVXXWWLnL@`@LUVVL@lVnJU@UUkanVôôb°¼VÞXIÜbČabôWXÞWÈzÆmnLVJ°ÈnlV²lbnW@@UUVmnwmkkKWkla@mVIUKUaaUwmnJU@@amIk@@bVlkX@mmUklUUa@_UaUUV@wwWkXmW@I@WUaÝU@UXaWUU@UUVW@UUUWUn¥nUVa@m@k@alU@wkLWa@UUm@@wnmUwla@anKn_@alK@Ý_@@WUUUmlkaIyU@UwU_Wa¯yU_mWUwkImm@InWWUk@@UVWVkW¯U@VL@b¯b@l±¦@VV@lUbV@kxVnUl¼XV@b@lV@nIWxnb@UULxÅxm¯aUwU@mUÅVÝKULm@bmKUXó@"],
- encodeOffsets: [
- [118542, 37801]
- ]
- }
- }, {
- type: "Feature",
- id: "3716",
- properties: {
- name: "滨州市",
- cp: [117.8174, 37.4963],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vb@`bVkVlnV@nlWUk@al@nJ@bV@InmVxbVbVLUJ@nkblXlLnlmxnUV@V@mXnlbĸ@nnVxb@lnXV@UJ@nVxxnxVbÆVn¯ƒĕ@@wÈçUÇlķVIb@Çmk@¥k@UkUK@aWakUóJW_UW@wkkWK@U@K@XUUkmUUalKXala@U@kkWlkÈl@kVmVIVmU_awnwVW@wwU@wU£wkJWIyUI±bkVUJ@nmVUklXmx@lnbWkVUkLWxkKUUmUkbJ±LÇxUKmkUmkkWamUaVkJÆ_²KĠ@UW@wU¥nUWwK@aÝUkÅVaVK@akLW¯I@bnbVx¯JWñWbUL@nV@VmbkUUV@IÇak@@bWak@WJUJWL@bXV@@VJlb@zUlUUImnbVmz@°UV@VbV@@V@L@xLmKUnmJVXJ@VkLW@UVUL@b"],
- encodeOffsets: [
- [120083, 38442]
- ]
- }
- }, {
- type: "Feature",
- id: "3715",
- properties: {
- name: "聊城市",
- cp: [115.9167, 36.4032],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ô@VWnLan@VKÞLÆUnVV@xVbn°ÆwwKVV@maXwmJU@@k@aWUk»VUmlw@UVa@kUU@²¥@k°a@aK@UU@mmm@ówѱ¥¯@@wKmwI¥kU¯UmakJmIUaVkKUkm@VUUaU@UaKUK¯@wUVUIUKVwk¥wbV@xn@lWnXxlL@`XlJX¦l°XxW¦@¦Uln@@@Um@@VXVmx@¯bllUnUJ@VULVn@bxVVL@bVlnVVblVÈnVlIVJLôlJ@xl²"],
- encodeOffsets: [
- [118542, 37801]
- ]
- }
- }, {
- type: "Feature",
- id: "3705",
- properties: {
- name: "东营市",
- cp: [118.7073, 37.5513],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ͬUǪlô@°Uw°ōĠ¯»Ģç»XÇ@wwƑaÇkwVƑ¯@ÅķUmm¯w@ka@mV@@anIU±m_ÛW@_mWVUK@IkK@UW@@a@K@L@Vk@±U@UV@lm@mUU@kLmxV¤@xVx@xUXmxxbV`UnUJnU@lÇkkllX@l@VkbWbkLVbnVVlWV@@L@VXLll@xVXX`ôIlVXb@bVLVll@@¦nlÈ@aUJkĸVÈÇè@x"],
- encodeOffsets: [
- [121005, 39066]
- ]
- }
- }, {
- type: "Feature",
- id: "3701",
- properties: {
- name: "济南市",
- cp: [117.1582, 36.8701],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²¦Òôxn@nn@V°VlXUUX@Vl@XVmX@JnnlJVxnXV`°zXbV`VxV@zJlbkVnVV@X@`@ÞkL@bm`mL@bkbxnVm@xn@VV@XbKl@xkV@b@l@nUbmVm¦XVVV@VUXVVV@XVWb@VÞVVb@X@JnXlWXx@xUVV@aVKVUX@lK@UIUWnIVmnLK@w@K@UU@a@UVU@¯nyUmanVJVVk@ykaIU@@WU@aXKIVXIl@Xb@al@Èb@JVUlVna@UmU@VKXaòX°IUwma@aU@UU@wVW@Ñw@aI±`kbUkwUmJ@UkmÇUUkmKknUV@mJUkaWka@KmKkULmyXa¯_@WmImmbLmUkVUbUVJbUkkWJkUlIUmkLlK@knaVmkI@mWaLUKUU@@VmLUVLWK@UUUWUkkVmx@Vl¦"],
- encodeOffsets: [
- [119014, 37041]
- ]
- }
- }, {
- type: "Feature",
- id: "3709",
- properties: {
- name: "泰安市",
- cp: [117.0264, 36.0516],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n¼WnxL@x°@¥Uk@nwlUVlXVV@VXLKVUnK@UV@VVLKXb@nlJUnmb@lkLKlVnJklVXIllVaIVUValUnVKannnJ@X°`WbnzKlVnL@LbXlbVlnI@VUU@UmV@U@U¥@VmV@@_Ua@m°@@kmUUm@UVmn@nX@@aanJVUVLmlIVJn@nkVLVa@KVmVLXVVL@@U°bn@VaV@@K@aVkbWaXUVymU@aUImWX@¥UaVwUaVwUUU@WW@k_VUKÇa@nmxkV@LVJ@XJUbVkUWVUIlLwĉVaU@VbJ@bUUL@mVUK@wWkK@UVWUIÇm@UUI¯lWK@kk@UL@lmUVkbÇaUVVnJlInWbXbLxVln@VbV@VUV@kIUK@UWm@UU@LK@KU@Uam_ó@m@L@l@@x@nWJUU@L`k_JWbUKkmLn`mb"],
- encodeOffsets: [
- [118834, 36844]
- ]
- }
- }, {
- type: "Feature",
- id: "3710",
- properties: {
- name: "威海市",
- cp: [121.9482, 37.1393],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VbUnVVUxĊ¼¼ô@ÞѯWǬLŎUÆW¹UÇō¯ÑÝkţţóġóLł̥Uwm¥kÝmkkKóbÝ@U¦@mb¯LkmJ@xLmn@lk@a@X@lXbmJUzV@bVJ@n@xblJXzxV@VaKVUXLlmVV@In@VxUlW°@nLVK@zXVVal@@VwbVKL@bnx@WbUJ@VnXVlVxl@nnnV@lV@L"],
- encodeOffsets: [
- [124842, 38312]
- ]
- }
- }, {
- type: "Feature",
- id: "3711",
- properties: {
- name: "日照市",
- cp: [119.2786, 35.5023],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UaVUUKVkJVaVIČb@Vam@ka@Ul@UôVK@UnKVLnKlkWVa@¯l@VbÈlV_V@XWW_@anKVwUmVw@@UnyUVblKVLX@aô¯ó¥mÛĊÿÈ¥Þ¹lUī¯Kĉ¼ʟbÇVUUXmakJUnmV@bUnmJ@XnJVLn¤UzmJUn@`¯ImU@nKVkkmKWbb@xk@mL@KUUVUKkbWaXkK@bkJWbnbl@UL@lL@lxx@bnUVlV@¦²°@bVx@J@¯XUJ@bUnlxVX@VV@bL@nô`@bkbVVÞLxnU"],
- encodeOffsets: [
- [121883, 36895]
- ]
- }
- }, {
- type: "Feature",
- id: "3703",
- properties: {
- name: "淄博市",
- cp: [118.0371, 36.6064],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nlKV@nVn@@kVU@²VVaU@wmKXU@UUWwUW¯aU_JUVVK@UJU@kUw@UlnWU_@lI@U@wUml@@mVwX_KWUXKVa@UVUUwJlaXWUn@mlanUVWkIV¥V@VVVI@a@akakLWKna@aVwk@WUbUlk@k@U¯UWWU@mUUVUXkVmVVV@nkVLVÅw¯k@WVXbaUl@bV@@b@xkVVXVxkJ@nk@@VLUlVbVXUVVUzVLVbUbVVWVkLmkJ@n±@UxUVVkV@bx@ÒUX@xVVV@°JXlK@bULUblÆÞV@bLXxmV¦V@xXVğ@±LÅ`IUlVbnbXllVnnlVLÈwK²IlanVVVlLwXlKVlUXma@knwWlkVnU@mVIUl²aVJzXJlI"],
- encodeOffsets: [
- [121129, 37891]
- ]
- }
- }, {
- type: "Feature",
- id: "3704",
- properties: {
- name: "枣庄市",
- cp: [117.323, 34.8926],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@yUUUkl@@aVmLXw°»°w@yL@UUaWXKVknwVKlm_UmmUXK@aw@k@mUWmUL@@@£@KbÝV@akwaULmbUKLUU@lm@°mL@nUJVxVXU`mIUxU@UnU@@lW@@bkLW@UVkKǰkLlbnUÜÇUUVÇ@@Xkl@XV`UbmbUbU@WxU@¯¦m°nLaVblVXal@XKlLVVÈLKôlnbI@V@VJI@lVVÞaVkXU"],
- encodeOffsets: [
- [120241, 36119]
- ]
- }
- }, {
- type: "Feature",
- id: "3712",
- properties: {
- name: "莱芜市",
- cp: [117.6526, 36.2714],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lmnLVlÈVln@VnIVlxVla²_JlUUUVVw²@@mlInlKXUUUVaUaKUVyUUWVUUaVkUK@l@@mlIUwUWlU@w@aU@@LU@Ubm@¯a@V@UKWUUKUn@LUbUKmlm@UIkJnUKUVmIb@b@mWm@Un@VVnnVl@¯@@nVb@`U@Un@¦@V@VUVnV@"],
- encodeOffsets: [
- [120173, 37334]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/shan_xi_1_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "6108",
- properties: {
- name: "榆林市",
- cp: [109.8743, 38.205],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ýVnIW»W@»kUÇLÝU¯¥ÇIUWWÑUWwX¯m@»n@ÜÈķô@a±kȱwÑmwçċmU»ÆkkVyImĉÿ@ݹWnwÇVÅazmmĉ¦ókVmxxU¼VkVm_UlVlk°IVkmJa¦kLmmV@XmKnlUôVXbb@UaÇLğÜÅw£mKnmċwÅ@UkbmaVn@m¯aUJm_k@kWXyl@@kÅamwLUÞmWÅzUKUk±@b@nnKbX¤mzVVxÇn¯@ÒknWVUbkķÈÑWkk@VaU@mUkbÝÅ@Ý¥ÇbkĬXV`kLÇVmalUUanV±nwmkJ@In°KVw¯UnÅ@¥U±bUU±mWbÛKWnUm`UƒVK@bmnmÈż@VL@xxmŤ°n@VmK²VllKkô@êÜV@VXLlm¦UV°Ș¯²ÿ@¥@ÆĊ²ImĶnnb°bKVĸLlÞ@UȮܰIVÞÝÞlx@ķĀWUxèÆ@°XnlĊ˰mnV²V°ÒƦaÞ@zll@bÞĀl¼nKĊ¼óÈb²±IǪÒ¯ĖV@lxnVlkJlaXwŌĉ@VnlÆĕUÆLèŌŤôxÈlU@xlaUċĕXmIWmnkVVVW_@aÈWUUmk@¯çVm»±W¯n¥VmkXw±ÇVw"],
- encodeOffsets: [
- [113592, 39645]
- ]
- }
- }, {
- type: "Feature",
- id: "6106",
- properties: {
- name: "延安市",
- cp: [109.1052, 36.4252],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@kkÇmImUwVkUU²WmVkm@m`mIĢĕUVa@mXÿVVkyUýĕ@l_UmnWKVkţ¥awğ@@aôWakUma¯¯a±£kxmmxUwÝ@xmUb¯KwóÝ@kmm¹Ub@lklVbmnnVUV@xUknƧJUX@LÇWkwLķƧÅwWJkLkþĉxWzJUnÇk@Ɛk¼ÜÔÈKè@°lÈÆk¦ln@l¼@l¯L°UUVǰ¹`m¼mXkbUaV@U¯x@¦ÇUUmlmUVmnnmlkw@@¦ÅÇLmx¯Ikl@¦mưVUx¯Lm@JInlmxU²mVbkVbUnÈlKU_WlīÈaÞ¦Æ@ÞlanV@VUbl@XlÇÒĸlVaUXlm@ѰÈmUwUnyW£amL@ma²@lVVLÆynXÝVKnxÆb@lk@WzX@lln`IV°b@nmUnbaVlÆ@ČxmnnL¤ÆxĠÛÈKVb@aWaUókVmnL@WUnnKl¥bnIlU¯JlUkVkn`lUUV»wnwlUôĊ¥nnyÆb"],
- encodeOffsets: [
- [113074, 37862]
- ]
- }
- }, {
- type: "Feature",
- id: "6107",
- properties: {
- name: "汉中市",
- cp: [106.886, 33.0139],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lKnb@nlWb°bkxĸwVb@łnlĊ¥L@XlÈVblÈKbakVwôml²`n@nVKlk²xŎ°¦VUJĊw@çnWçÞVkUóÛ@¥kwUmX¯WÑk@UymIUwlUn¥mUk²a°¯V»@ÝVÈÝċÅÅVl»@l@a°±@_kammÅba@m@żKknõĠ@m¯LÅwLVxmb@¼kV@mw¯wVakKW»X±¼¯Vkxb¼W@nx@x±bóakb@ÝmU@ķÓÛLkVUmk¯¤ÝLUlÝ@Ýzx@x°bmX¯aUJW¯k@bÇWwÛwWx@XWlb@VÈUlwLnl°VlUô¦U°¤VUxVXUxlbkVVlI°ÅVlU°m@kÇU¯xUlLUlVL@b°ĠInĠ°ÈnK@xÞa²naUyXUKVkWô¼Èaz°JXUVÇV_JVz@nb"],
- encodeOffsets: [
- [109137, 34392]
- ]
- }
- }, {
- type: "Feature",
- id: "6109",
- properties: {
- name: "安康市",
- cp: [109.1162, 32.7722],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bĊaƨèwôô¼b°aXVÞVUÞ@aXm¥kImx¯¯V@anU@UÇéğL@¯¥V£m@ÝÈbKX°wČÿb@xÈblxȯĊmÆUVnÈ@ƨÜLĢ¥Źn°VnnKaô_ÈwUaXmnW¯klLXÇō¦ÝaÅVmbğUn¥±wÅéVan¥U»°am¥£Ý@wVw¥nUÑUmmVwmķIÅaóVWxkblb@ból@ğÒĉ¤ċX¯XxkÇ@óÆÅx@xķ_kmÝÇ£kblb@`¯²@bk@k¼ÆUČÆÞÇÞU@U¼¯°±bVlnm¦kVVxnJVz@lÒXW°nVlx@¦ôÜVUlÝXèm@è"],
- encodeOffsets: [
- [110644, 34521]
- ]
- }
- }, {
- type: "Feature",
- id: "6110",
- properties: {
- name: "商洛市",
- cp: [109.8083, 33.761],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²nlôb°aVwnKÞI`°wXôw°VĊ°@ÅÞÆVzÞK@x@aLÅ@b@nLl@lnmnLVwabVVnbU¼V°blbÈ@ĶŦb@nÇ@amIyUI@ĠVmôUVwkwlanJ¯lwó¥@an°J_@nóƒó@£l¥UwmaÑ@Um±V_J£JUW¥¯@_k¯¼mUVUè¯b@wmL»ğVmağI¯¤ċIUWXKĵ¦ķaJUbIlUóVmk@WÅÅÇ@mUÅVnĉǰkwÇa@waċxWLÇa@ÞnU¤°¦@ĠKÈê@VmV@bU°°nwlJn¦WbÝ@V"],
- encodeOffsets: [
- [111454, 34628]
- ]
- }
- }, {
- type: "Feature",
- id: "6103",
- properties: {
- name: "宝鸡市",
- cp: [107.1826, 34.3433],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@£@°Ib@¯°ynŹaUlU£Umĵĉ@@ylUÞ@@£kWU¯WaU£¯ÇV¥@kb¯wn¥ÇkUÇnU@¯±kULm@m±_kónUxlbaÇLkUaÇkW@Kĉ¦km@ŁUaķxlw¯aXak@mmakL@mÛ@¼m@lXV`nKU°°@²¤UÈ@VxmôxKlVV²aVwXlaVlx@UVnÇnk°VVLlkIJÇk¯V@knÆn@lznmlVkzVVVx@Uxz@x±¼VxxUlkb@¼ČkVXlĠkôV²wLUKlwJ@aIV¥Þn¯Ün@nkl²kÆ@°aVbnI@Ťn"],
- encodeOffsets: [
- [110408, 35815]
- ]
- }
- }, {
- type: "Feature",
- id: "6105",
- properties: {
- name: "渭南市",
- cp: [109.7864, 35.0299],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@ÈôLxU°Þ@mÈnl¤nUôLwX`@ÞÝLUmLôôbVbnºlnÞ@ôx°LanVwÞ@Vxnwnlw²¤b°°bVnlXbó@bĠ@xb¦ŤVXġ£W¥ƽɽó@ýóƝÝ»£XmƅĊkU@ókťaĵÇ@aka¯UV»maUUabUxmKnkm@kmK@xó@¯n¯KǦ@ôÅèlxkx°nƾ¯KU¯WķL@VÝIUbyWbX¼Ç°"],
- encodeOffsets: [
- [111589, 35657]
- ]
- }
- }, {
- type: "Feature",
- id: "6104",
- properties: {
- name: "咸阳市",
- cp: [108.4131, 34.8706],
- childNum: 14
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@IXyĊwlýKlXIVaķ»a£¯aVU@awÈōaL²»VUln°WȯW»XazVaÞJ@U»@¯Ýbğwly@£kÑţ±WÑ@kaIUn@¯ómţUbU¯lÇIÝb@¤Ý@kV@zĊ@ĶnVV¤kVbmź¯z@°a¯J@¤@bUxb@`xUÔ±ºVXWUnUJL̝ÈKlblmÈXŎ°U°LlkÞK@Èxl_°ĶUÒkbl"],
- encodeOffsets: [
- [111229, 36394]
- ]
- }
- }, {
- type: "Feature",
- id: "6101",
- properties: {
- name: "西安市",
- cp: [109.1162, 34.2004],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°²@mVVÈÈl¦m°xla@U¦°ÈV¤XbV°lXÞaÈJ°kVaŤVôn°@mVJlb@XÒŤ²lÒ@¤kzĠxÞa@°¼ĸK°XV°Lƽ¯mlwkwÆç@óÈ¥°L°mô@w@aÆK@b@wÝLyÅUÝÆ@ĉ¯¯UóxW¯x_ÝJmLUx¯bóak±mÝUUW¯ba»óóxƧçĉbaĉxIUV¯¥ō±wl"],
- encodeOffsets: [
- [110206, 34532]
- ]
- }
- }, {
- type: "Feature",
- id: "6102",
- properties: {
- name: "铜川市",
- cp: [109.0393, 35.1947],
- childNum: 2
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÆxĸƨKlxÈXK@VWƨIlmV@wVUmUnmUalk@kVaUaóaónKVÞK@ÝW_xóKmVk£ÇmnÝ@¯VwóK@ǯXkmVU±¼KbÇŎx@bUV°b¤b¼ĸUb"],
- encodeOffsets: [
- [111477, 36192]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/shan_xi_2_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "1409",
- properties: {
- name: "忻州市",
- cp: [112.4561, 38.8971],
- childNum: 14
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vx@lnbn¦WlnnUm°²VVVVVnUnºlz@l@J@kXWVXl@La@KULlbnKlLnKLnKÆXn°bVV@bUVl°Un@LnaVJUbW@UX²l@ČwlVVIWnkÆa°anVKn°UW¯@aVUVk@Un@aV@ValwUanmWUk@WVUUanaVwnLVl°@nk@mVU@UVK@wLVKVU@K@UUKVUV@@bnLaVaôlIXmlKX_°KVV@bVV@zV`kblIVUlL@bnV@VĊllVlIXW@kaU²blKVnIlJalbXXlWVn°JnnL@l@XlJlaX@XW²@l_VmnKUblU@mnkVK¯@U@ma@kX¥VmakkLa@a@WIUUVXWWnk@a°a@kkm@kUUmJm@WUUUIk`m@VkaWWkXKmXk¯@WKLkak@±bw@aa@aka@ma¯@LKÇÅkKWbkmġ±ÅULUKVVkm¯LUVVbUwUW¯bmULxWJ@klmkUm@@KnwVkVK@akw@@a¯bKknVUIb¯mmbk@UbmKUL@xUU@klmLUlVXIVVVUVUU`mLXVWbXnW`Ų°xmxU@mĉwU@mbU@UmbkVW¦kJ@X@`¯Im@UlUVVnb@bWJXnmbJUUUUa@UamIkax@@x@b"],
- encodeOffsets: [
- [113614, 39657]
- ]
- }
- }, {
- type: "Feature",
- id: "1411",
- properties: {
- name: "吕梁市",
- cp: [111.3574, 37.7325],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@a@w@wlbnJVb@VbVVVInaWmXI@aaUmVUVkn@°J@_W@lIX¥lUnaVV@naV@xĊnV@wn¯wƱX_WmXaWUnKV_VVUUUUWJkUVnKlk¯@@kmKUaűKkU@WmI@WUIlUUmVwXw@UlUVwV@LnbW@anU@UaVkô@l»n@naJnUÈLVaÆUUVmVKV²L@mU_lK@UVWkUa@a@U¯aUaÑóÑUbKk@@ak¯mVaUwVÑkWUmK@UUKmXUWÝwUaLUU@aWJUUU@UaÝU@WL@VKVaVI@WnU@alIVK@kImIkJ@m@@@_K@x@kaW@U@Vmn@UK@mIJUXV¤XXWlkKkkK@XmJVakImJU@ó¯LWKUV@nUVLkxmKkLma@kXKmmLabLmK@V@mXVÆUxX@`nLaV@@VmLUVnLlLb@°²nx@bVUxlb@V¯bUV@zVXVĊXVx@lVn@VnnmU@LlJXVz¯VWVXbV@bmnVUVkÇþÅ@XVxmbUlVUlnW@Xl@VLXÒ@bÞJ°¦Lò@nUb@°X@XbmVUVnb@xx"],
- encodeOffsets: [
- [113614, 39657]
- ]
- }
- }, {
- type: "Feature",
- id: "1410",
- properties: {
- name: "临汾市",
- cp: [111.4783, 36.1615],
- childNum: 17
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nW@@UnLKabKnnWL@lnblKnLlwKVU@mVUXL°KôV@nIlJUbnI@WlLllLXkWWU£VWInJ@VL@nm@UVX@lb@@wL@`@n@V@lw@nVmVXWmwnUla@_lKwVlUn°xVKVXXWlUVVI@K@Kn°KwlVlU@kna@V_WnmUVm@kXml_@mLlKXw°m@_ôJVUV@Xl@UaV@Va°Ilk»VwUkVmwUmmVn@V¯@KUwmK@U¯wUVÝ@mJUnWK@@UnKVa_lykUmKÛnm@x@UUlwVkXW@a@U@@K@kIVnammVakUl@wX@@k¯@VVbml@°UbULmlVbnbÅK±VKVXUJWa@ULWaUU@@U@aWK@UkxUKLUUUJ±UkL@V±kk@kam@UV@l@LWl@n@VVUxLlUUx@VUVU@aIUlL@°mLUbkUUaWUUaUU@aWKLWJ@bUL@VUVVbU@m@a@kmKmnĉlUKXWUblbxmIkU@xWb@lkVxLXmzVV@bklVVUzm@bk@Vx@xlU@lUbVnl@Wxnl@n@UbVmLmb@`X@lUX@@xlnkLWaUJnnWVVn@l@bULVV@lV@XnJVX"],
- encodeOffsets: [
- [113063, 37784]
- ]
- }
- }, {
- type: "Feature",
- id: "1407",
- properties: {
- name: "晋中市",
- cp: [112.7747, 37.37],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@lInJlJ@ULkJ@bmV@XUJUbL@UXKV@ÞVbV@VVXI@bVVKVbÞxVXnWVL@VnLVlXÒUVxUb°nl@bl@LVaôÒÒVb°b@VnLnnV@lmn@lbUV@JUVVXkl@lUzmJ@xXklbUnJVUbnUlbV@nlLX@lakV`Ub°@XVJnUL²KlxnI@KV@lbUbVVKnVl@zlm@U@nI@WUaVl@@mVU@XkW@nkVKV_Vwy@knwVa@XalU@Vnml@X@VLKVaÞbnnlJImVKnVVVInVlU@m@mXK@UmyUI@mWUUakamw@wUwmLkakwVmKw@wUam£y@am_W@UU@knmmamU@WUa@knw@UUUUV@nJm@mVUkKVUUUkKmwKULKUImV@lUnnm@mbUK@°bUnmbUmkkWUb@am@UXkK@a±@V@ĉÅVUXVxUVkLWl¯@@bULUlm@@nm`XlWakIkmVUbUL@Vm@kI@@Km@VaXI@W@aU@kUVU_KbJkkÇb@nkKmLwÅW@kVUUVU@WUIJmIXmma@_kyVaUUlkUm@kUx¯Lm@L@LUJUkVWXUWUL¯wVmUkxkL@`bkmVnxXUWUnm@kxU@"],
- encodeOffsets: [
- [114087, 37682]
- ]
- }
- }, {
- type: "Feature",
- id: "1408",
- properties: {
- name: "运城市",
- cp: [111.1487, 35.2002],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VlnJwkaVaXWVLĊknmnLl@@bnV@UaVU@UVK@aXIKXL@bVVVbXVVblVaVnK@¯KVkJ@bVVU@UVwkVKVwUUm@@Xk@K@kVUn@lbl@²l@UlK²VVIVVKVLlw@VXL@b@VV@VXbVK@XbVIUWLU²ÆLmaUankVKVa¯@nkUaU°@n@@kWaUVaXUW@IXKVw@UWU@W@@UUU@mn@`m@UUULkUmJIU@@UK@U@anak_@wmKUwmakVkmKVk¯bw`kwUIÇx¯»ÇaÅmn@@mmUkV@wkKW@kxmLUkĉLÝkxÝw¯lóVUmV@ĀVVX¦W¤kz@`Vx°²ĸ@Ul@xêĸNJ°¤VVlXLWnXxmV@nUl@"],
- encodeOffsets: [
- [113232, 36597]
- ]
- }
- }, {
- type: "Feature",
- id: "1402",
- properties: {
- name: "大同市",
- cp: [113.7854, 39.8035],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²£yl@ČĖ@bĸĢbĸXaKŤnn@ŎôllÈxnVnÞÇV@bnXllL°KbVb@J@b@UxlKXLlKlXk@UlkJlkUVKXUÇVIVm@_nÇLalwVnU@UUwma@aaÝaLmUk@@W@U@@XwVWÝUUUk@@VmLKV»nwUwaUL@`mzJUIVUaUwKUaVIlJôanÑlLVUn@a@VV@@UUwVK°Vn_lJÆLéW@UUUÅ@»lm@aÞIVwXWUUkkm@U@aU@mwU£VWU_kWmXwW_°yUkkK@UÇK@kkUVymóKU@KWIbUak@mJ@bkbmLkUmkVUW¦@lnb@@V°ULml@nkVaVmLUnk`±@XWW@kbǦX¯WxI@xmbmxXlWV@bÅUz@Jb@bÞbU@Wbk@xk@WX¯VÛWÝbÝUkVUU@alI@a@akLWam@U¯UUmÇL@K@aU@¯VUkKmX@`@kJ@nVUb@lbVÆXVWULU`VbkLUV@XWl@bXJ@VbV@Vl"],
- encodeOffsets: [
- [115335, 41209]
- ]
- }
- }, {
- type: "Feature",
- id: "1404",
- properties: {
- name: "长治市",
- cp: [112.8625, 36.4746],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@UkLky@IJVa@mÞaWy@_W@_WXVlUVw@nw°K@mUVamVkU@mmmnLVUmKXaU@IlKVUnK@UmWkX@WV_V@akU@aKWIXyIUVmUnUa@WaXUVKVmkUWVkULU@@VbKbIUm@mbVLxWUUkn±V¯wbÅJUbmLkbmKÅKbVnUbVKUbKUbmLKmbaKkUm@UnnVnxUVlUxl¼k¯JUbU@Vbk@WU@UVóI@`¯nWxkLK@nk`Wn@lUnVnmXU`@mb@lkV@VnklVVUblz@`nbWnnJIVJ@XUVVUV@lÆXxnKlL@maÈllIaLV`UlVV@@b@XJWUb@n@L@lJn@@UVKVaUlnlJXbkWn_@mn@VkVK@a°@XklKVUUwVWUĊÆ@U²@@blLVWn@@bVaXllVnnaVma@¯VLnan@mVm@knUVJ"],
- encodeOffsets: [
- [116269, 37637]
- ]
- }
- }, {
- type: "Feature",
- id: "1406",
- properties: {
- name: "朔州市",
- cp: [113.0713, 39.6991],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XXWVXVWnnlnn@èÆ¼@xlVnblVÈUVl@blnLÜĊmUkU@Ua@WI@aXk@WVUlKUaV_VKXWUUÅka@VaU@mlI@@_nWLVl°UV@@b@LÈKVn°V@VnXblK@b@bkJ@bVVlUÞVÞaXܰUXWl@wl@XaV@Ýa@aa@IVyÆ@aXUWknwna@wJXw°WÈ¥kI@W@kmKm¯IUmkXWWkabkImJUkL±aVb@lWXkJUkĉk@UmU@aKkVUkJlaU_y@UU@aUU¯LW`kLWnkJóbUbmK@aU@UVVL@VL@UVULK@xUL@VUV@nml¯@UkmKUxmbVbUV@XlXVmnVbkxUbU@bm@@VUlUVb°@VX¯m"],
- encodeOffsets: [
- [114615, 40562]
- ]
- }
- }, {
- type: "Feature",
- id: "1405",
- properties: {
- name: "晋城市",
- cp: [112.7856, 35.6342],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lVLbanLnKVaLVaLUVaUmaÆLnLlanKVaÆIa°x²UlmVVXwUKna@VnJaLa@UV@@alUkKVKnkmmVwUkw@@kxWUXW@@mk@aUa@a¯aLkKmwkUm@kL@K@aWIXmVXWkUVakL@UVKw@aUK@UUKmLU@¯nKUwVUIWJUWmka@UXJk@UkmW@kLWKVx@bmI@VUaVU@a¯@UUmVKmX@±`kÝKVxUL±akL@VbLkKmV@XWVUbVXb@lm@@lW@@xklVUbnnmbUlJ@@L@@Vb@WXUlkxVV@wn@ÜmnLlVkz`UbmL@V@XLmVnIÞ@VU°x@VnLxV@LU°"],
- encodeOffsets: [
- [115223, 36895]
- ]
- }
- }, {
- type: "Feature",
- id: "1401",
- properties: {
- name: "太原市",
- cp: [112.3352, 37.9413],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VV@wVKnLVal@na°naVJUlmL°a@b@lx@bULUlmx@Ln@lVknl@XIwKVn°aVXVxUaVU°KnUlUVLKÆV²ĢlnXalLÈÆLKUaVkUanmWUa@WwkUWU¯y¯Ñ@anIl@@aVUmIymULUUVakaU@@LmJkw±LKmVUI@W¯VaU_lkbW@kK@mUkaVmVaUIVmalkW@wnIVy@klkWUUVI@UVkam@knU@mmmK@bblVUX@VkLV`@n±KUULUnVVÅUbÇKmVImbm@k¼ó@Ulb@VmV@bXmaK@UUxkVV@xWUxVnkVVJ@XnJ@XlV²LÆVbnL@l@°"],
- encodeOffsets: [
- [114503, 39134]
- ]
- }
- }, {
- type: "Feature",
- id: "1403",
- properties: {
- name: "阳泉市",
- cp: [113.4778, 38.0951],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°@nb@lb@bbb@x²al@lbKXU@mkUWkkmUUVwV@XUW@naVklKXblKnLnLVanImaXKlLaV@U@KUKWalXK@£WKXUV@VUUUVW_V@W@@K@UIWmXUmULnJkImmÝaUbLK@UWk@mnU@kVWb@Ubmx@lzUx`UULml@XWl@UV@nk@UVb@XJm@@Vknyk@zJnUV@bk@mJ@b°Ò°zXVlVXx@bXVmnVbUlVb"],
- encodeOffsets: [
- [115864, 39336]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/si_chuan_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "5133",
- properties: {
- name: "甘孜藏族自治州",
- cp: [99.9207, 31.0803],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@aXam¯wm@±°wUwV@UaVw²KU@UU¥a@£ÞôxKnkmX¥IUÝUwlk°V@ÈKUwlkUyV¹mx²XllÑW»lw°UŎnJl¯°V@wôIVÇnnUllLVÇLô¼XW£@±@¥k_ÇJkUékwXa@Llw²Vxbm¼ÈxlLÈVWÞn¯mÇÑUÝlÛkwlĉmULmwUJç@wkm@ÑlUXÑôġVaUѯ@wķÓkbVmnU@@y¯IķKV@¹aé@kmÞU°¥@a¯@anKlblU¥@óğç@Çw@wklaçݱk¯±@ğÝUÛmݯw@kb±¯akXWÜkXUÆÇU¤X_ƐwV@¤XUbUIUlÇUkġ@aXČmlUlèUV@mVk¦Vx@¦±¯¯¯anlW¯nÅw@w°KVak£m@klKknÇU»óKīlaUaV£@¯@ÆUVÛÝÇXÇlÓlŹ»WUğJ¯£mxLĵôºXVlUll²bllxónn°ÝU¼mJU¯nV@êĉ°Uĸw@m@¯kmXamѯaUwÝKU¥mÅn¥Wmn¹n±ƑƆÇôXê±NJnUôlĖkȂVÒ¯¼VnȮ¯ĀnƆĢ@k°V°¯ĢVlkVxm¼X²Ŏ@VxknWܰU¯nÆÝ@`ôݲÒÇznmX@xè°K°ÅUČĬóĖÝó¼ÅêÒbmk@V@Òl@nĉÜêx@ĖmlÅJ¯¦óxȭ°Ým¯LĵèĀ@Æl°żX@xmkV@z@°blnÞ°J@bn@ƼUVUóóL°X°ÝLxUn°Ĭn@lnL@Æ@nKÆxnUnVInĬmÆnxŎ¼ĊIĢóÞ@ĊƨbUmV¥lkwnLmÅÆ¥XwU@wwUÞ@alUUÅUVkkm°aU°Ó°w°Ub°a²K¯ĕ@ÈbÞĊa»XVm°InĬk¼VbaJô£VĊankůnÜU@anKnĮbÈmÆ»nIé£Ġ"],
- encodeOffsets: [
- [103073, 33295]
- ]
- }
- }, {
- type: "Feature",
- id: "5132",
- properties: {
- name: "阿坝藏族羌族自治州",
- cp: [102.4805, 32.4536],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@l@@þ²I@lVL°wnJ°UĸŎèIlwV°¤nĮ¤ÝlèL@@xlè²ôĊ_ĊġVÈôJżīlbXÆÈVkxÇVn°¦Üb@è@nn@@°UÈ¥WÇ_Uala¯¯UÇk»mVwk»k²°VxlL@¤_@x`ÈĖöb@l²alXa@bnK°¦VK@nnWmx@nUnl@@llĉk°l°UXkmW@Un`kÇLWÛÈVxVVlVk@lIXb@ylXÈWĮWŤzy@mI²J@n°@VJ°aÅ@ŎkVÇkaUwKVwV@nkm@±ôkôĊJ¼InÑm±nIÞXÈĊxĊUÈbÜyÈ£Vkw@kVUVm@a»ÜbÈmUXwÝxUn¥@°ġÅaJVkaW¯Û@W¥UŏĶ@¯kUŃ@aI@mmanwÞW@mw°»Uřk¹±WxVx¯¦U°zţWw@°ÇVÑk¯@y°a£@mnl¼aÝÝakwU±aĉImlĵn@m@kkV¯Ñmĸ°xl@XVÞmlÛÝĉUÅ¥mwÅ¥VaUwXġċaVůÛŹlwU¯Uó±xÛV±¯¯n¯mċLmnĊm@_kJWaXmwUĉK»@mwXÝUÇkKÇw»naUw±kxK@WbxlVêlÈIl`@¦@²X¤Wó»KUÈKkkmVmUÈóJ@x¯Uk°Imō¯VxkX¼Òkk±WwnUºVzklVxLÇ@¯UklVxÞVJW¦nmlLówÝ@¤b¦V@VV±LUxVbU@Vx¯x@²n°xnWbb"],
- encodeOffsets: [
- [103073, 33295]
- ]
- }
- }, {
- type: "Feature",
- id: "5134",
- properties: {
- name: "凉山彝族自治州",
- cp: [101.9641, 27.6746],
- childNum: 17
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĶóKnw°¤ĠIXV¼kźÔkÈWÞÈÜUVŰ@@U¤VbkbĬôL¼ÈVlmLlkn@l¤Ub¯L@xÆx°mXmk°b°°²@¥Uwl¥nU@VUkçVnkWċbĢ@lÈVVkJVaVW@£UƏxW`£ÈVVÅlWXÛlW°b²la@°xnÞVÜĠÞ²@l°Þ²èkbl@xÈx@Ġènal£nUDz@ÞKnn¤@¼°U¼nVXUbnĠUVbUlV°LX@lVèÜUnK@_yXVyUwmIU»VkÇ¥ÿkkV¯m±n@n¯ÜanVVÆz@bwÜbm@wa@kmk»@a@VUUów@nb°mXmnVbÞVôanwJak£lwLÅnÝ@wl¥IÇÓ@UL¼kVÇÅó¯kVmmw@n_Vn»°LÅ»@éÇçŹīVÇÝ@ÝğUaVݯķlŭġl@óÞÛċ@¯nkUÓm±IVġUwóKUn±¯Kw»KÝVnl@óxUwţ£ĉUmÅÇÝKÝUlmK£UV@ÞÈW¦Ò@Ĭnny@nÒmV¼@°Vbl@VlnUUwl°a@@llnk°lbnKWĀnUVxU²Åm¦ÛÇÅaUVb@¦m`móXUmmxÅ@±Þnè²U¯»mVm@wU@wÝÝmLa@VÇUkl°¯VlkV¦UmxaULUèVx@kIUxmWV¼¯VmȯUnlÈ@m»ÅVWxÅbÅğW@km@kVV¦mlnn@ōl¦ÅÆxk"],
- encodeOffsets: [
- [102466, 28756]
- ]
- }
- }, {
- type: "Feature",
- id: "5107",
- properties: {
- name: "绵阳市",
- cp: [104.7327, 31.8713],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ńlV°@ŐĵVX»ÆUĊÑJw@È»m»£°Kk@ÇnÑÆ@w°JUwnw@wbVb@VlźLUwa»aUklyUUVakwWXwWUxkLmn¥mwkUXlJw@aIk°X¥W²l¥aUIlmkklÈL@m°nlWUaW@V@UaV¥@ak@Çk¹K@aK@kKkÇX@VU@kx±VèkIWwUVUkkKÇ@a@wkml¯@kUWn£WaaVwnaVÝw¯@UaWxnJÅUxUma@L@mbUU±VVnkxUÆVm@kkKW°X@¤ÇUkÆÇnU¦¯kmLVwÅK@UóbÇÆV¦L@±êX¦mVÞkÜÝnWU@k¯wķn°ÒUlln@@ĶmnkĊJ²bVlxÞbÞbk»mn@¤¯bz@l°UÒ¯È@xŤXyV¯°¥Uww²XlºVڝ¼nx@XÝmxnb@nJ@b"],
- encodeOffsets: [
- [106448, 33694]
- ]
- }
- }, {
- type: "Feature",
- id: "5117",
- properties: {
- name: "达州市",
- cp: [107.6111, 31.333],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Uxn°bnlUnÒÆnn@n¤LnxlUV@Ælx°XXxl`XVWLè±nÈb°b@²x°Kܼ°ĉV¦lJnU@¦ÞJÞğmLÞ»xUlbVÆannalVÆX@lnŎVmUmaÅXa@aWm@£@wĉJVkkkkmnk@mna@alKJ@ÞwmÅÅ@ambkU@KUġKU@mak¯±a@aĉÑÅaVwXlw±V¥l@@ak@@£mĉÝónWV@nÝÇÇxUmbaVkkk@m@m°ÝýXmakÅī@@mb@@xmnb@mxkWL@¯b@WUXmWWKkbm@kxXmm@LUlxlêóKnUallLlLó°m¯JVUK@xK²Āô¦l°"],
- encodeOffsets: [
- [109519, 31917]
- ]
- }
- }, {
- type: "Feature",
- id: "5108",
- properties: {
- name: "广元市",
- cp: [105.6885, 32.2284],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÆLĊx°»Ŧ¦WLÈ@xÞKܰÞnVxÅĀlÒnJ°a@wV¯l@XWknKnwVȰXXalX°VI°bWna¥@w°n@yÆ@nkÞ@°¯lJn°IÈlUlXÅ@ķlUV¥VUUÝÞUU@UwJUkĉm@ýlkWUwVwWJk@VUKlUkaVUmLkm@@UIk`@UmlUkV¯ÇXKÝ_mm¯@U`kwml¼±KV¯¯Vk±Vk±kzmaKUnDZbk¦±X¦¯WlJ@bxkIWVlxnm¦nlKVwXWxXlxUbVVkzVlb¼bVxŹKUk@Uaa@xmxVx¯Ix@ÅmÒ@Èl¯L¤n¼"],
- encodeOffsets: [
- [107146, 33452]
- ]
- }
- }, {
- type: "Feature",
- id: "5118",
- properties: {
- name: "雅安市",
- cp: [102.6672, 29.8938],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ln@xèVInxVKnĊklxkÜVÞÒnÈm°nx@¼ĊLVnxWXblI`@nmĉnKČôÅlUÑmUK²¹@ÇÅVÓůVýÞWUVmXÆbnwKUÿ@UmmIUb¯¥Uw¯ÇmçmanUm»UUlk¤a¯bVU_WĕmÇűĢUlUlÛVçkU@W¯KUVkUağVmaVWUmV»¯@»m£mÝL±@ÈmVk¤mb@ô¦kVkamL@b°@b¯¦ÝVn@lêb@ºUĸL°J@zV@nmUlaĸÔ@x°VÒUbóĢÒWkV@Ò"],
- encodeOffsets: [
- [104727, 30797]
- ]
- }
- }, {
- type: "Feature",
- id: "5115",
- properties: {
- name: "宜宾市",
- cp: [104.6558, 28.548],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VlÈnlXnWLX`m²nV@b°xĢçlnVmnn@@°UzlV°nÞÒkxlw`UnVbmL@albÞKÈÛmܼ°@XÇ@wmW@ÅKĊLlVLVŎçÞL²±ğkw@Uy@¹lKXlKVa@wČ@w@aÇU¯n@@wġakaōK@Å»VakUWmķwkbğ¥mLak@ġÞ°¯xVVÞ@VxVVWxXlxU@k²WVÅULmèULVĊklĠVJVx±nů¦mwğ@mlğkkl±@kUk@¯±ÇKkxl¤bImx"],
- encodeOffsets: [
- [106099, 29279]
- ]
- }
- }, {
- type: "Feature",
- id: "5111",
- properties: {
- name: "乐山市",
- cp: [103.5791, 29.1742],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@kVkÆkV²UlºÈIlxLXèÜlUXUmkbVèx°@@¼°Knnn@mÆIUbnJ@bVI°b°±@nK@mVakkKl¯nbmĸèl@VnÈlUUwwmwnm°¥LlLnU@VaImbkmKnk@mbLVJVUUVnkVmb@a¯JUaÆkk¥IW¥KlwÑmÝU¯kVy¯@@mmnUkmġè¯w@aU±mnW_XKWmkÇmUkóbUÝUanmW¯nma@xVôUV@b@l¼n@lb@xnÛaxa@yUÅmUÛbm°@mn²U°llĀȦlUV¼nJVxUzWz@`mL"],
- encodeOffsets: [
- [105480, 29993]
- ]
- }
- }, {
- type: "Feature",
- id: "5113",
- properties: {
- name: "南充市",
- cp: [106.2048, 31.1517],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ȲVmLnblyl²²UUl°U°²L»knlx_V°@nnÞ`WL°ÈUVlnkV@l_JV@n@lnKV£ÇUV¯m@laXUUbVx@VkôJU°Jn@wUk°wnUV_nJmknmm¯Vwk¯ó¥±ÿL@wLVUkUbX¯mykI@a±Kk¦ULmaXVm¯Kz±klUIVbÇJkL¯lUÿUlUkJUmUUkVVklKk@@aU@J²x¦kĬ@¼±ºXnWbxU@xx@lL@bLlº@Èl@bU¦Vb@U@XbVkX¯m@nÇKkllknJV"],
- encodeOffsets: [
- [107989, 32282]
- ]
- }
- }, {
- type: "Feature",
- id: "5119",
- properties: {
- name: "巴中市",
- cp: [107.0618, 31.9977],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VUlbkVVLUl@XIUxVxXkl@þĊnVlIVx@VVÝVÞUVU¦kV@ĸWÆô²@VÞn@Vaôb²W@K@XUmÑUW°¯°Ina@y_lWn¼lLUbô¼Kla@nkUyôÆx°@n£Ý@¥mVkIU¥Ċ¯Û»¯L±w@¯aÇa²mçKXUWk_Ww¯WwÅk@UkVmwK£@mmmÅmÑkVmamnnlmIU`Vm¯xVlx@m¯IVóIUl@UwVaVWkb@nU°VÈU¤"],
- encodeOffsets: [
- [108957, 32569]
- ]
- }
- }, {
- type: "Feature",
- id: "5105",
- properties: {
- name: "泸州市",
- cp: [105.4578, 28.493],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VVXwVKnwnVnl@b¯xmKUbVn°°X°@blLènV@Vnl@ULnmmUnaVV_ĶV@wnJl@@kkKVólaUwnJmwUlm@aUaôKVnJWbÞ@VwVLX¥VV_Þ`wWÞŹmmnIn¥W@kWV¯@°kILk¼Ç@k¤±XknmݯUlÅÛKWV¯klUwkLÓ@U@w@ġXVWX@UbVbV_kÇVlU°lnwŎ¦ÞaƯnmm¯Um¥nkVmkl_ó¥¯UÇl¯@Lk`¯ķLUy¯@mw¼ķ°ġ_ÅU°mlnÇVUÞ@_JUnVUXblĢb@x@mV°Èb@xċ@@xUbkLWkL@ºzV@lxĠ±²"],
- encodeOffsets: [
- [107674, 29639]
- ]
- }
- }, {
- type: "Feature",
- id: "5101",
- properties: {
- name: "成都市",
- cp: [103.9526, 30.7617],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°n°m²°ÜUw²ôV°VkxÜźUŰČbĢlaÈL»@kwVÇ@nÛÆ»ÈUݰKl_V°U`Vbn@VbÈLaVU@ƨ»VnIlUUa±lIk±@VnKmÅ@WaK¦lVōkKÝ@maXÇmw¯IU@kVwUmVIçÿU±Å@¯È@xK@wLUbÇKÅ@mÝ£@yóUóóUxkI@WlIUabaVĀLmxÅaWUnVÝXUþưUÔÈÆ@±ºLnVVÒkóÆ"],
- encodeOffsets: [
- [105492, 31534]
- ]
- }
- }, {
- type: "Feature",
- id: "5120",
- properties: {
- name: "资阳市",
- cp: [104.9744, 30.1575],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@èUJVnxU@lV°JnxWÈnbÞ@lLŎUk¥LXbÆ@nmLU@zlbXmlnVynLçJVbUnómUnamUan¥lKV_²aValWôn@nbVK°¯VblW@kklUnlV£°W@wUXk°KVwmVkwVyVI@wkmVÅ_Umm@Uÿmbk£xUaVw±V¼V¤kLWxU@UkbyXóm°V@@zÝÒkKn±U@@_VVkÇaVwnLWalm@@kkVVl¦kIV`±n@wKk²aVUUV¤nkxmUkVWVnLUbVb`kUUmLUmX@`ÅbÇXbWLXn"],
- encodeOffsets: [
- [106695, 31062]
- ]
- }
- }, {
- type: "Feature",
- id: "5104",
- properties: {
- name: "攀枝花市",
- cp: [101.6895, 26.7133],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@bKÞnÞ@xV@xnUn°¼V±mç²ÝÆ@wnnVWnôn_@¥UaVbÆÈÜn¥Æ±VUwVmXÿmLkal¯km@k@¯bkVxmVUkk@Ua@¯»UnmÑ@mzm@īÑX¥Ç@ÝxU¦ÅÇUkx@lbUWVXmV@xĵ˱@@¯xUÆLnÆmx@nXL±lUUVwKWak@WxkbÞĉbUn@@@xó¦Ŏ"],
- encodeOffsets: [
- [103602, 27816]
- ]
- }
- }, {
- type: "Feature",
- id: "5114",
- properties: {
- name: "眉山市",
- cp: [103.8098, 30.0146],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Vx°¦VanJVn@baVbkJ@XlJVwôôôV@zÞ¤@nÆÈLVaK@xL@w°ÇÆ@²VĀmWXKWaÈÆa@_nWVnKVlV_UaVamKXUWwnmmwÑm£@ynUkWĉUkWVkkV±çkJmkKK¯¦mnnxxVxVÇkUmk@çķnmak°LllUb@nmL@¯²¯aUJ@amIVaÅJnm@mm¯L@»¯@wUçanlVWVÛkWçKkwÇJk¹±VUÅlġV²ÈÆnXĖV`U°ab£lkVVn¼mVnbèÈn°"],
- encodeOffsets: [
- [105683, 30685]
- ]
- }
- }, {
- type: "Feature",
- id: "5116",
- properties: {
- name: "广安市",
- cp: [106.6333, 30.4376],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VlIVkVĀVk°lKÈIUaVJlk²yLn°UWnbVKl¥²L@blJnzW°alV°Inô¯KkKkkbVmôLkéwVk@KnnWlwn@laXLnXVW@X°a@XKlnw@man@w@na@@wĕġġwUkUWb@mk@¦¥mUÛb±yÅn@bml@kV@lknVbmVnlmbÇk¯bWyk@V_UamJ@I@WaVXamIVWkUkbVaUUx@VnkVU¼bkKUxmK@WxnV@n"],
- encodeOffsets: [
- [108518, 31208]
- ]
- }
- }, {
- type: "Feature",
- id: "5106",
- properties: {
- name: "德阳市",
- cp: [104.48, 31.1133],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nUW¥²é@K¥UÈÅôa@VÆLUxnKl°V¥ÈmlÅÈV@£WX¯lLln@UVÅlwUm²UVVna@@KnbVVwÆImXwWkIVwÝĕVUaIèmKUzkmWnka@y@l²kJ²VbVkmJUƧ¼@UVbÇKUam@Ua_¯VUk`¯LVÞÇżmÜ@UÈx@l¼ÇKkbWVxUbƦnxƦĊV"],
- encodeOffsets: [
- [106594, 32457]
- ]
- }
- }, {
- type: "Feature",
- id: "5110",
- properties: {
- name: "内江市",
- cp: [104.8535, 29.6136],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@²èlUUllXĊVXlmV@zn¤ÒnxmnXxlUnVlwmU£VVUbl±L@x²mU_lJ¥UklU@ln@kXbmKUxÈblUU@`V@²mlLÞÑ@yU@¯ônWzaVlV@XwlKU£»aVaUwm@mwUVUwklVDzLlKVm_@ykUm@mUçkKmxkIUÝ@LUJ@n±kºLXb¼@mmIXa@mamnkWKUx_U`UklwUwmUbV²akbmkn@`UmÒVxUbI`UaÝÈ"],
- encodeOffsets: [
- [106774, 30342]
- ]
- }
- }, {
- type: "Feature",
- id: "5109",
- properties: {
- name: "遂宁市",
- cp: [105.5347, 30.6683],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÞĖUxlJXVb°@xUÞmbUxbXbm¤VX@lk°ln@xbÈ@lLVlVUXxlJç²UlwV@@UÈWlLw@wVwXaWm²¹@»lī¥w±I@V@bl@kLUllUVVn@mmUwXċbVb@VUkbmamW@ka@k@laUa@¯b@mmwó@@lkXUa¯°LUamm@ókXUb±bU`kLm¦bnVmbnVmô"],
- encodeOffsets: [
- [107595, 31270]
- ]
- }
- }, {
- type: "Feature",
- id: "5103",
- properties: {
- name: "自贡市",
- cp: [104.6667, 29.2786],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lIÞÇbV_JVaUwnÑV@_lmnlab±UVanVxkxVlV_`wVLlXnmnb@WbnJ@n»WaKl¹²@mVI@KÞVlJnw@aW¯¯¯UmVanL°w@akmmUxmULWxUUÝKōèUKUkĉKL@ÆnX@xWȯ@Û»nÇÜÝLka@bKnUaVm_xkLX¦Jl¦ÅlVb°I@bnaUmlUVUVIUKa@nmlnLlnaJUbV@"],
- encodeOffsets: [
- [106752, 30347]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/tai_wan_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "7100",
- properties: {
- name: "台湾",
- cp: [121.0295, 23.6082],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@\\s@pS}aekgKSuSsMß`¡CqZ·be@Q^o@gieMp]}}Ľc_Kk
{ùA¡r[uom@ÑĥJiq©mʼnq¯Bq]ÙYgSåk_gwUisTE
ĕiqiUEkue_OSsZaWKo¡qycY£w}ĩĕS§Z©SN¥SyLÑ¡±Ks^IYPdY[UoFp}´\\¬\\j]eÜò¤¡ā a\\bnU㺹Ìs¼j®[cíȈEĝĆ`ļf¶®K|VØDdKGpVnUFjpHF`B[pMºxÖjbpÎxp¬|ΟÜÒC²®ÜApZG~dÞàV¨|¸`|²tx~\\~|dFf^zGĄŚhdL\\hĸ¼OªP®lV`p\\]Xpllæ¤CpQ|oF}fMRiNSon_²qämMNM\\"],
- encodeOffsets: [
- [124853, 25650]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/tian_jin_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "120225",
- properties: {
- name: "蓟县",
- cp: [117.4672, 40.004],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@EUDAEI@WNMNCBFAHFFNACDJDPBD@@GD@DIFFHEFGDBDEQOFG@EI_KG@OcJQM]RMEKBGPG@[LaCIICBWKCEEG@WBQHCDFD@HSLEJI@IHWECFGAAEKCGDBFCBSBIDCKKHEADMJMFABKOKEQAA@IEEG@GIQAEK@OZEESMOLlu@SLUTYFQCMG@@SQUAYKAACA@IB@BDB@B@DC@@BGAEFAA@BEGKJCC@AGAIHA@@JC@QEIP@@A@EGIDC@O@C@@@@CJCWKABFLBBEBSQGBAAMIEM@AKBcJEN@BEBCFMAEFEF@J@BG@BFABECKFG@AFQ@@F@BEB@@A@@AAAKAE@GFGDECEFEECBKIKDELDFEDYH@EIACDCHKBEB@BAAC@ADBHABKJIAIJICEDGDCD@@A@A@DHCHJHDFEFGBKRKBGIK@GIMHSBCH_BOJECCJCFKKMD@DNJEDEGC@OJCJHRUL@HRJ@H[DCNKDZHCTFDHCFFKR`TANVDFZRDLFARB@HPAPG`ILAR@TERNDFNHDLCLDDCXDYbHF@FEB@LDDVE@JPNfXPINCVDJJD@NJPAJHLXHDNANHhB@DPNLRMTBFRBHHr@`NBFEBOCCBIAQJDHCHLHFA@HSDCRLFTB@HEFLNF@PELBDJALFLTC@EPFLLP@tUHQJDfIHGTB^JTCPDLKAIBATFPADIEGECEMJ@JIAIHGECFEAGDI\\SPOXAFCL@BQTQBBTMZECYGAHA@GJAE@HCAEME@IECFKJADDBABLTHHG@ILEAMNDJCDHEBF@@JNFJELDFKTOT@JETBFFHBHEHKI@@IJEJ@XKEOUMS@AF@CEB"],
- encodeOffsets: [
- [120575, 41009]
- ]
- }
- }, {
- type: "Feature",
- id: "120114",
- properties: {
- name: "武清区",
- cp: [117.0621, 39.4121],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@FWôµ@IFCLIB@EHNBp]AGEAKAEDMGZKFGBGME@ILGP@HEFB@BXMEAHUGC@IHCLOD@X[NWHWPKAEF[@EKIOL@EKGBNMJ@EIEHKBIC@BAKMIACCFQZCF]DB@ERAKADIHGEIBCGIIECFaGLZO@EFCNGAGDGAKL@BMG@IE@ADSDEH[JGC@CGA@BMDeK@EIACFE@@GG@FIAMM@CCGC@EM@ADE@CFMAAGHBDKIEAJG@DOGCDEKAGIS@KFCHKAEHIE]BeKNO[IFIOELC@A]GMBKVYCDDgGAICARc@MW@AQE@DGI@@AQ@@BKBAIQQYEFW@CEADIGGBCEIiMEMF_LGEKMBBDWEBGRC@E_CHYGCH_IAED@FFBQh@FGJaJ}AHRAREF@bE\\C@CT`FHC@\\BBF@BID@HGDDJ@@FAHKBARECKDAZBJIVNHCTA@EREAMLHDAFFBVFFC@RNRETHD@FOJMACH@CAB@P@DF@@FGDWE@FFSIEMKQDYCCHKb^JADOCIDGNDBdBCFJB@EC\\A@BJEA@JAAAD@HHD@LFBCFF@BERDHNhZQHMBGHOACCEBWEGD@PSJKCGEUD@CINLFGHE@AJK@HDABBHTB@F`DBFLBBHEDARCFG@ABJBAPVFE^FBGLGCFG_BMLEXGAAFE@@JNRVJHFALFBEHQJCTbNDHCF@PlFLJSXCHFHfVBTNJ\\BPJXC^FAVNFCHFB@FFH@JF@\\ABCFD\\BDMCAAJKQBGAILOEGHILECQLWFENJHADC@QxNHFJNLDFA@CBA@DUÂmR@FBL@BD"],
- encodeOffsets: [
- [119959, 40574]
- ]
- }
- }, {
- type: "Feature",
- id: "120115",
- properties: {
- name: "宝坻区",
- cp: [117.4274, 39.5913],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@TZbB@JHD@DODCLM@AP@LL@BNH@ETFN@`E@DNG@CHLBCJA@AICFKDDBKA@\\N@AFNAGRBFjFFFL@DHLBLFQPcXAZMJ]GAVHAIZJFNE@JpDRRDCLFDGXA@EFF@CFFPDfEBDB@DCHCFCJDJIJBLI@I@CB@@ADBB@FALADGDC@@H@BB@FZGFCCE@@FMLALJDAFFFEFDFCB@@AHCF@L@@BBB@BB@FC@E@@R@BEL@HEFD@G@AH@AIB@@@FEFEBALDDEFAFO^IF@JCBBFPNJJ@D@PRDCEKBAXL@BIFD@T@JE@BHHJORFDI@@B@JGH@@B@BDDLIFFHCD@D@DEE@BAAAB@DAF@B@H@NGLJLMRDNMfGIEPMI@GDAKK@KIDIJ@GE@CFDN@FE@GFEPGV@TCDFKHBBF@RW@DD@@ID@TJFKIKLI@EP@IGBCLAEKLEN@KSHIGYACSD@SEAMBBMGEBMQBCMIGKFB[D@HDLPHDBC@IFITDLG@IIIFGVBNJDLN@VIRI@YIAIHIC@CLKZCBEE@JECEIHEAKGDGECBGEEM@@DA@CCCBBEGA[GEDBBoNAAH]MKiIAWKQoIIPMFQAEEDMH@FMSUYIeF@EK@BIOEKJEBICFKaKPFAFSE@LWCCFMHDDEKESBOGBKIEIODLG@CCDEQCEDWEMDIEIB@EHGEEDAEAa@@HqDEJGF[AECCFa@WCEIKAAEQB@FCAE^YDERDDJBLNABD@AJGLJF@FNIAMLH@FPKLJ@FE\\BFOLGXMXW\\C@KPGD@JHDGVFBWN@AEAGFO@KH@JNFAHEHYLNHFCLBFBBHo^MAFGA@KJED@Jó¶EX"],
- encodeOffsets: [
- [119959, 40574]
- ]
- }
- }, {
- type: "Feature",
- id: "120223",
- properties: {
- name: "静海县",
- cp: [116.9824, 38.8312],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@NGFMDATCNDR@CCbINEHNJA@C\\EEGVE@IhE[wepc¢·²^QEKIEKIgiQDkehY£uSDBMkUDOJDHC@GF@CAFBFEN@CQ@BeP@@G@HD@@MHQKi@[IGCOCESE@GMA_OcCGDu`a@VZzKDkJBLNXGDqKEWE@cFEFA@ISIi@@KMABJGBcMuFEzGVH\\ATSEUBeALCEMG@CEBUHUCGXaBPtUBBFIBFTDFF@DDKBFNGBJPHXDDMDCLJ^mBIHIL@LR\\@LCR[@@z@NFD@LLBNb@RHDBNTPT\\F@BJF@BXCFBHHBDLFB@HODADE@@JHVXCPDHCFTLBBFNCDCCCU@@GAABEHHZHBCAEdEjFDD@GfD@DXFCHF@ERFDLBH@"],
- encodeOffsets: [
- [119688, 40010]
- ]
- }
- }, {
- type: "Feature",
- id: "120221",
- properties: {
- name: "宁河县",
- cp: [117.6801, 39.3853],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@BFLBFJXDb@DEFD\\BHEFIrC@Gb@FBCBFFGH@FJAJFNCXFFCRDCFDDH@CKJPJFALPHTALFCFGCENDDKXF@ETEBObLELJDFALIPFAJL@@FfEZJTVENG@CNFFRBNEJOpJLRBXjJNLG^BBpMAAFC\\HHBAFDADDB@@CN@FFAHFDCHLHFBJGFCFUNKJJTD\\XUXF\\^F@DDDQXXBRLRCBDFEVCDLVDpUl@LEDJHAPRFGL@CETGPBTCDDVI@CFF@GFDCCVGLKEK[Y@MECISG@BKNSCGCKWEAaEBEKNGFSECO@GGM@GYI@DÅCMLHPTF@DJHAVVNKEGDETJ^[TJNNd@NOAMFYJ@@GFANDPEJB^aOadSTQSI@MHBDIEOKCG@EEFCKCqXO@@DMFENCDDHCCGJ]AKFoDaGGHYFDHKJiCMFGC@EQ@AEHGAC@IEAATKOHGIC@IXIFEoGE[JCFCDHNmRADFZMF[EEBMO{GU@AOW@@]ZeHBDEHBKEfQkuIWBs@EC@d[@[^EDMTKCEEcI@cDAB@FCBCACmOCG{PYHeBgPwPFDDALFFFCHQGSD@BHFAR[TaFYXMASUiGFL@DQNCJI@@D@PLDN`ETEFIGMCGBCE~CAIFDPEHGEQPHJADFJGHCJLB"],
- encodeOffsets: [
- [120145, 40295]
- ]
- }
- }, {
- type: "Feature",
- id: "120109",
- properties: {
- name: "大港区",
- cp: [117.3875, 38.757],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@JFFL°_`ONJKDDFIFZN xlb~yFVNRrdJGzDPVFBCTNND\\UR@E`F@@Ip@IWGUoawOEE@ÏDgK{İEEMFëCb
@KwOCDHHKBDJCDEEEAGHOABFABMCgDLSQ@CFEBMgYIDQINE@AUSwSAdYEHQMEyK[KI@GRMLE@@OqOoBOnpJ@BmEAFHL^FDB[C@BBDVFAHFJENB@sNEjQAMYsUgCSBGDJH@\\LjGR@NC@@G@HO@AfR@DM@EFEADBE@@HGDICCPlVANTC¤vgZlfRChjLJ"],
- encodeOffsets: [
- [120065, 39771]
- ]
- }
- }, {
- type: "Feature",
- id: "120107",
- properties: {
- name: "塘沽区",
- cp: [117.6801, 38.9987],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@|ODHnPBDADEDA@CB@ddJFFLDNSFC\\]\\@@cFD@nACOMW@M@ITURBRZNHNWRQoOj½fcqAqeiDÿÍyÓįFL|Ch@ÐFFxPpbHVJXo@@JCTR^BPABQA]^MB@bE@@FQBFVJRH@FXtPNZSBAja@@NDTLJrQTHFXZFB`"],
- encodeOffsets: [
- [120391, 40118]
- ]
- }
- }, {
- type: "Feature",
- id: "120111",
- properties: {
- name: "西青区",
- cp: [117.1829, 39.0022],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@LHAHRHATh`LHNHDG`HDGZ`D@FQDAHXFACNAFLVRTBFOfHDCVBFQH@HSXHEPFB@LDBF[bDbLFKJBFLADBDjLvCPEI]FGEIGCBEUSjcFiBIVWfaHCjN^HtwBBFGPBJGjFBEGECGDONMFAP]TDHQOWCMGAMHKIJEIGQ]aDlUG]VGEGDC{PEbBZmE@@GH@BCA@FMQCFMYMJECELCMI_P¯`]R±¡¸odfx\\gF@JUFFH[F@DIBGMMFaJDDQ@MCSDCBENMH"],
- encodeOffsets: [
- [119688, 40010]
- ]
- }
- }, {
- type: "Feature",
- id: "120113",
- properties: {
- name: "北辰区",
- cp: [117.1761, 39.2548],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ROHFFGCOJEDB}DFHANDJHFEFSM_KC@O@CJ@DIRM@CEKKA
L
FKACHoLSJSIBETDJaEIIE]E]K[MYUYQILC@GF[MGNKEK@A@BCWECAIFEFYAGFOMI[OFuDiKACBCEKIAELaKaCE\\CA@KEAFOWGGTG@ERUACDeGEPSAUQKHE`FNjNFJADHHCJFB@DEXZFRRBJLA@AR@@BJ@CHF@BRX@@NQdDBBJhHCCZDLUNA^H@BKDPFEJ\\JMPfL^AJFFGLBDGLET@HJLBCFHDCPH@BIJFCLGABHNBDEF@BCN@@FHDDDN@BNEJH@@HF@DEJB@FfLNC@AHB@DHD\\IFGTCBCF@@JNH@ALKHBHCHBDMFEP@KYbHDEJF"],
- encodeOffsets: [
- [120139, 40273]
- ]
- }
- }, {
- type: "Feature",
- id: "120110",
- properties: {
- name: "东丽区",
- cp: [117.4013, 39.1223],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ZV\\N^L^FJFFJIbSCAFTJTIpKDGLBEKLBjHTVNBZWbE\\SBQGE@ATCRHDGEEKECBECxOhOfAZGA_YEEWSGqRKISC@Mb@BiTAMYsOEWG@IQEURA@EF@@acUOXQRYCUDCHDTEF[SUEgAYDcVGJM`iAWDWLQRMHUHgDsDBLHJFCFDFGHBFFVEAGHCJN@RJFPIhBD\\FENCPWA@LFBAFHBEJUEARCDIAEDQBRNa^"],
- encodeOffsets: [
- [120048, 40134]
- ]
- }
- }, {
- type: "Feature",
- id: "120108",
- properties: {
- name: "汉沽区",
- cp: [117.8888, 39.2191],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@LMEI\\MTABKN@FCDMH@COAcH[AoēAM¡Wa[MeqpQRMXMGQYQASV@J@NNXDPmBAtJXlveRLFGACFGAYf@^X@BPV@|HNPFA\\FNEEYBCnQGMDCDE\\IHFpEFWJ@JJDGHLPBSFB@JBDGHBFR@@FHDNEjDLICGZEHGbHpCLE^BHIDDCGDCFMNE@CP@rWLDEDFFH@"],
- encodeOffsets: [
- [120859, 40235]
- ]
- }
- }, {
- type: "Feature",
- id: "120112",
- properties: {
- name: "津南区",
- cp: [117.3958, 38.9603],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@TLv@CNHFFBHGZFETNPhCVGNGRQXKXCjBN_HIdUZChBVF\\TFECSDGVCZDRQPWdVNA^]RBBAAOQ]DSE@F_Q@[VMCSMADUECOHycIqMQEU}zkawENRDENB@ADG@@HF@YnaAOF|CDFHUHH^kVbCR^JHIFLJNGHBDNPXGRSCO^EBMNCPDHHFAFiEIHOAEH"],
- encodeOffsets: [
- [120045, 39982]
- ]
- }
- }, {
- type: "Feature",
- id: "120103",
- properties: {
- name: "河西区",
- cp: [117.2365, 39.0804],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@d@hZNFdcLYXKRCtCMOFSYEGHEAGEDMu@SKAAsx]GMTGt"],
- encodeOffsets: [
- [119992, 40041]
- ]
- }
- }, {
- type: "Feature",
- id: "120102",
- properties: {
- name: "河东区",
- cp: [117.2571, 39.1209],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ZBVFFIGABEEA@KXBDOFM[EACJgOIE@QIMGDBHUFEEGAEHECEDGIAKQDWLKZcdQPEP@FOFBJTJ@HNORJf@DBCN"],
- encodeOffsets: [
- [120063, 40098]
- ]
- }
- }, {
- type: "Feature",
- id: "120104",
- properties: {
- name: "南开区",
- cp: [117.1527, 39.1065],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@NMVDCG\\E^B@HlB@YEDS@C
HsNSiMGDebUXAJEjidVTAFHDFJ"],
- encodeOffsets: [
- [119940, 40093]
- ]
- }
- }, {
- type: "Feature",
- id: "120105",
- properties: {
- name: "河北区",
- cp: [117.2145, 39.1615],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@DBXFADB@L@LFHM\\NHED@JKZRb]QMRAFCJBDCBQYADMCAe@QIMP@GSIAIPE@E[EGH@ZEF]^HJAXK@KF"],
- encodeOffsets: [
- [119980, 40125]
- ]
- }
- }, {
- type: "Feature",
- id: "120106",
- properties: {
- name: "红桥区",
- cp: [117.1596, 39.1663],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@J\\PNHEZBFEJELEL@BWGI^]FEkA@G]A[FDHUCMNEHJ^"],
- encodeOffsets: [
- [119942, 40112]
- ]
- }
- }, {
- type: "Feature",
- id: "120101",
- properties: {
- name: "和平区",
- cp: [117.2008, 39.1189],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@DT@FCHG\\FFOROMEgYc@"],
- encodeOffsets: [
- [119992, 40041]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/world_geo", [], function() {
- return {
- type: "FeatureCollection",
- offset: {
- x: 170,
- y: 90
- },
- features: [{
- type: "Feature",
- id: "AFG",
- properties: {
- name: "Afghanistan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࡪ͇وŐǬϠڐŶӂʮǚڦ۾njƀ̚ІɣʪҴMوǯʲĹ،˒˰Nj˖ϪԈiżŬĘͺβ̈Ҕȏĝʱʪ¡ý۷ͪ˟̊ǰώĊԼϖׂ×ࢀAƬʋӧĥяƹ७ĭࣗǭӫλȤΣĪллΛ͑ɳ̡ߛͦ։ɅΥԕ²ԋ͡ɿ̳þٝŋğɻسDҵӇ܍થΓבôǝȁԇņűටіހހåզُƚßՔ˟ڢάҢιŮɲؒਸ"],
- encodeOffsets: [
- [62680, 36506]
- ]
- }
- }, {
- type: "Feature",
- id: "AGO",
- properties: {
- name: "Angola"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ȸصʌԋȘ˕͐ѯ֊æˤŠҬşŲɀɂӨԶ®ƤіHñ̡৴RfՉǞ͕ūԑÖԫ˪̷ৃȼüκsԴŴϦ¹ĘʹĩСƨϿů̿î́ყZᦵ֤ۋպԽŠЖ₭ŵÏԃϞկ~ԉƝЙDžÿՈŜ݊̂ޒªΰ˚ݶȨΆӘռːϐĘج«ӊʣ̜ɡԚȵԎ®Ǩʶͬʭǣ֚сՐĄǎΌŔʒg̎ĸៜ["],
- ["@@ɉėɣلͼδʪƘ̀˽̩ǯƍɍλ"]
- ],
- encodeOffsets: [
- [
- [16719, -6018]
- ],
- [
- [12736, -5820]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "ALB",
- properties: {
- name: "Albania"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ń˷ŢέΒȳiə˗ŧ»˙ϷСƛÐgȂү˰ñАîֶŖʼƗƂÉˌθаÂƿɨôǴɥȪďȨ̂"],
- encodeOffsets: [
- [21085, 42860]
- ]
- }
- }, {
- type: "Feature",
- id: "ARE",
- properties: {
- name: "United Arab Emirates"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ƭ¤ɱڂƂ۞uԖ{ֺ֪ظՠՎԮdž˹ŖڑѕGçճƪŝϝǑE΅ʓΏuͷǝDZᡋъ͏࡚Ț"],
- encodeOffsets: [
- [52818, 24828]
- ]
- }
- }, {
- type: "Feature",
- id: "ARG",
- properties: {
- name: "Argentina"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ߗ§ѓ̔ԑx࣑@Aሞ͒ϵрؿનԋ୲ȿϙп"],
- ["@@Ӵ؇͠ڰॠƊǷോۊŷਆاࡾ͡Ŧχࠡ౧ࡒɭ़ŷڔƈނ٢ƎݐжLjфӝiڣۻҩ֟ॅࠃ૭ଧȽڥɣࡹT࠷ǽȇÝիËѫ੨ܙŗ׃Հν§Ч߯ઁఛ҉။ǩउĎǰԅǣػƺщԋ̏ࡱř̪͕߱ɗŜ࠳֨ʧҠˆʢѧޛʻڭԹūࡋȣ҇ߏEڃљʋؿؙࠞߦǝ˿ݭӃձটލͧ΅Ͽ˔ࢍ֔ӡΟ¨ީƀ᎓ŒΑӪhؾ֓Ą̃̏óࢺ٤φˈՒĭьѾܔ̬ěӲξDŽę̈́ϵǚˢΜϛ͈ȝॺǢƙȠࡲɤݢԊ̨ʭࠐEޚَոo۰ӒࠎDޜɓƶϭฐԬࡺÿࠀ̜ބռ߂צԺʥ͢Ǭ˔ඔࣶд̀ࢎĹɂ۬ݺશȱ"]
- ],
- encodeOffsets: [
- [
- [-67072, -56524]
- ],
- [
- [-66524, -22605]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "ARM",
- properties: {
- name: "Armenia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƀǨə͌ƣǛɁ҄˽ʁˋΦɫϘƏḷ}ӢHżχCʝɤǩuͧʖرȼĄФƛ̒"],
- encodeOffsets: [
- [44629, 42079]
- ]
- }
- }, {
- type: "Feature",
- id: "ATF",
- properties: {
- name: "French Southern and Antarctic Lands"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ը˃ߐĿDžɽϣಇÃq҂ŮΎÊǢ"],
- encodeOffsets: [
- [70590, -49792]
- ]
- }
- }, {
- type: "Feature",
- id: "AUS",
- properties: {
- name: "Australia"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ߺ́ҜŘپNJԎÉÐঽ˽́ēگ̉ɰבǧ®ԫԭܘŗֈӝܸtϬռõ"],
- ["@@̢ڇբ̈́˦ΡЖ͟đϋǴܛŸнɄĹɬܕąѥ˖֭࣬ѭצЋ֞λŋȯӔՃࣧ͜ͲȂ;ηȴźƢࢹԩϸ͋ڀڹʀڭtӏËԳА܋µݓơϵɩݡjӕǕχއثЭ̫ٱ˫гʝܧ͕нɅػʼnׁªˇӕ̇वޡ·ϫ͙ԕέ۟ψԥƪżѬҝǃ݁؉ܩɪӉƄӑÔ߿ʐիԮƻْțьЭ;߱ĸˢРȯزЧݝƷѮҬŶӞ͘ЬãجہܑԿ˽͏ڛٽΊ~ҀԿ،ѹ̀ǂȘઃԚןz߯Цຓāછ̝ख़˫ߡÈࢻљܯȗljѱ̳Ϳ܉qՅõݑƶğֽԁ҃ʕуʁЗˋ֛ؕBࢽ՜ҋDŽlӖкŘƚȒ̠ĺאģӼѻࡖƏӒӎͭնsʚϋͰĽڄӓڔřΪτε˳ެиʑʞ͗aјеڎă˄țʦĠӠǢȸŘрęӮΎÚٕ׀ۀˬЦΪٜ̰ϤàɴĻڎ̺ԚĤŶȀɞüҬoࢨʖҚώɊ҆ӲѐͲvҘטΠܩΦǚ̗Ј˂ТψǻĸٖҠаȮͨцƜ`ɼτĭdɂτŦОŔبϫҲӽՂMՖÿDZҦДڪϜɘſȾκӒԘ̒јıۺǂeі؛ˢ҂Ū֎ȻҀ·ۼɋʈĐԶʵӬʊ͂ñȠNJϬеɡ͉҇ͻ˿Įͱʙп̗ЭÔʁڜҫ٨ˏѠ́؈ӻʂBѰɍŶʷߤ˵ֈ˼ǐҊǠόľҤʰڞŝОÔʔīӔŌنLjǠŽˬȮѾdžҦtʈ̸̾ʂЩÎՃȾķΛ̨ёÚӇ̥"]
- ],
- encodeOffsets: [
- [
- [148888, -41771]
- ],
- [
- [147008, -14093]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "AUT",
- properties: {
- name: "Austria"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÛӁCǎǻ˧էLJƗܽsщȏۛÞயɐȉ̊ࠧƣĭDžԗŢѕxϝƶźȴƬʪ²ьɹŤɜݎƮЖ}ˀǣþƜšո̠ń̒ϰز˓ӀΆ̐ÚٶʱЂªϰǁãŃČ̅"],
- encodeOffsets: [
- [17388, 49279]
- ]
- }
- }, {
- type: "Feature",
- id: "AZE",
- properties: {
- name: "Azerbaijan"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ʞɣψDGŻ΄ӡֽŒщϰƃ͆Ǫv"],
- ["@@ϊËƞɈԈͺѴѵђϺʸɧۗãƣٵƟ̭̍ȝvзȽ¥ԻѲ̂дʝʚ̿×যإkϗƐΥɬʂˌ҃˾ǜɂ͋ƤǧɚȶƎضʍҐ¹ŘIJбҔɔŚʀ
׀ԙ"]
- ],
- encodeOffsets: [
- [
- [46083, 40694]
- ],
- [
- [48511, 42210]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "BDI",
- properties: {
- name: "Burundi"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Á০ɃϢԜßʲӎҀŸͧǸȏT˗ȹǭ͛ѫ̧̥"],
- encodeOffsets: [
- [30045, -4607]
- ]
- }
- }, {
- type: "Feature",
- id: "BEL",
- properties: {
- name: "Belgium"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@áުǪՐοҦȝħ֧ɕĝһܿϦћßדІϷͶϷ`ũ̒ڪǔ"],
- encodeOffsets: [
- [3395, 52579]
- ]
- }
- }, {
- type: "Feature",
- id: "BEN",
- properties: {
- name: "Benin"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ۛįȹ׆ኞǛǦЮ̇̌ʱʞņѶ̀ĨǠξЪĀȀʤˮʘ̠F٘ә˩ȎӽǓͷĘɧСԳʵʳǁՉtµണ"],
- encodeOffsets: [
- [2757, 6410]
- ]
- }
- }, {
- type: "Feature",
- id: "BFA",
- properties: {
- name: "Burkina Faso"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ֹɐϽ̍Ƀϗǰƥ˦ϙǾÅӦɮΤo˴ښۢŬּɲȴОœΚǢŘɎٴϖdžˀΒҦŢɀLJՠJáСŔϣӀչНॺȏmֻǿʣЩÿǟν˿ħ݁lϳâ˓ƉωÖร¡qӉŘم"],
- encodeOffsets: [
- [-2895, 9874]
- ]
- }
- }, {
- type: "Feature",
- id: "BGD",
- properties: {
- name: "Bangladesh"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ỉŶÆگʉѬµєDžКΕӨޟü˃ҳΧǠũƵʃĠ͗øŽۖ̅لƜԒԫɤȆ̪Հ̼Ѽ֮̔ږεВ£ôߞřު^Ӟƛϯ܅ϕµʷӍҢѥƎ՞ɶFѶ೯"],
- encodeOffsets: [
- [94897, 22571]
- ]
- }
- }, {
- type: "Feature",
- id: "BGR",
- properties: {
- name: "Bulgaria"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ʎΉ͚Ö٦ſ«иɌবȜ̩ؒӴĕѥΏ̫˔ӏܣŒࡥ˃Uлޅÿס̊ڧɱة|Ñ֊сːƒŢĝĴƘˌ͌ˀСδ÷̬ȸȐ"],
- encodeOffsets: [
- [23201, 45297]
- ]
- }
- }, {
- type: "Feature",
- id: "BHS",
- properties: {
- name: "The Bahamas"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ȵ£ɇӜ̿ʐǾՔʨۣ̎Jӥ"],
- ["@@ࣷƅÏ̴Ђäֈ{~ɕ"],
- ["@@ƟׯƷņ`ѮϓͪCĪڐϗ"]
- ],
- encodeOffsets: [
- [
- [-79395, 24330]
- ],
- [
- [-79687, 27218]
- ],
- [
- [-78848, 27229]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "BIH",
- properties: {
- name: "Bosnia and Herzegovina"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̦FȿσМ͓ūЃȡƽû˙țūҥݓ͈ͅΘ͋Ȅϭ̾ǻʺЩϾǬΒ̞ȕǼǨϾnܠƓ\\Ϟȅ"],
- encodeOffsets: [
- [19462, 45937]
- ]
- }
- }, {
- type: "Feature",
- id: "BLR",
- properties: {
- name: "Belarus"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Mࣰ̈́ȚӄېːÿϔԜƚ͖ࣘࢮɁŢȻѲĴࠒȧĊЁǷɧՄսƳ»Ʊ֦Ʃʎɡ͝ǿڳljÿȠ˧ȸ՝ܝ¹ʵȁÃхͭĆݷ¡əȞ̿ƥ́ŨڍjफȬࡕàٱmҡɩГeϐʷϴԌǢLͰɷ͌ϊ"],
- encodeOffsets: [
- [24048, 55207]
- ]
- }
- }, {
- type: "Feature",
- id: "BLZ",
- properties: {
- name: "Belize"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@OŮĸƴı̞ԔDŽZHūDŽGaɭƋεôŻĕ̝ÀăīщǓɟƱǓ̅ʣ@àॆPژ"],
- encodeOffsets: [
- [-91282, 18236]
- ]
- }
- }, {
- type: "Feature",
- id: "BMU",
- properties: {
- name: "Bermuda"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@OEMA]NOGNG\\Q^McMOI_OK@CQSGa@WNLVWHFLJXVFGJ`ZRTDLeeWKIHGIK@@[MQNi`]VDTBHCJAPBJLVFjT^LV\\RJZRn^RH`TfJjZHHOTTFJP_NOX[EYQQKMEJOLANJH@HQHAARF@ZEPS[U_IcRQXE@EEKKOCGGCQCOGISKYGUC"],
- encodeOffsets: [
- [-66334, 33083]
- ]
- }
- }, {
- type: "Feature",
- id: "BOL",
- properties: {
- name: "Bolivia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@य़͟گӳ؈વȲ۫ݹŗ͡ҋऺˆ߾ѳŏ؆ЫֲՌαۺȖ˰ƭ̶͠рh¤נǸ˶ܩഠزíѠnȈʪ݀;Ѷ͂સƚęؽļ͓ãࣰ֛ݫऴƑ̻ͦ֨ǕΐʑՈTӦʟӟǐʕZγʓa͒এྖūӟĜͧҞɽȤԹƫڋɯρĄӏʿǥaʶјޭ^ัʓЕsҋͥƉǸ"],
- encodeOffsets: [
- [-64354, -22563]
- ]
- }
- }, {
- type: "Feature",
- id: "BRA",
- properties: {
- name: "Brazil"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@૮ନॆࠄ֠ۼҪjڤуӞеLJǒӜŖӼBҦ̡ƴ̿Ƌ̻į͔ýޔƿʤ֥ɪǏࢱLjÈଜʝҴˀǦăӐɰςƬڌȣԺҝɾěͨŬӠྕ͑ঐʔbYδǏʖӠӥʠՇSΏʒ֧ǖ̼ͥळƒ࣯ݬä֜Ļ͔Ěؾષƙѵ́ܿͽȇʩџmرîӃƟϡĪÈ౨ۏӷݏv҄ͅ֏¶DzΰұԞΓݴɜƶAԖʎċҔɊ̈Ôϼ०ֲێNJŔŴݴϚᘰpθſӔύ̬LؐӀƒǚē͐ӯĔYՀ࿖k˦̂ɸˉǐӷǂļҨѻٸÆnjʲشȞΊƐĮΤʆ¯Ǯ܅ðśՊ֞ϓɒǀþجŅڜȿʐȤžल̮͎̾ŏʂѪȜȗʼnσ̀ŵȖϷɷ̏ƅɌыÔϳԬϿЮ¥ĢǒˆϠƦ˚ɢҬíȲҚçøǢƗǘĎʐͺõЈĒӔDZξǥʺɪȊŘɿДÒ͒͊ʴؤӼޒ˺¢ȺҫҼ҈ƑxׅمەʾʩƁࡃٔր̟ඊԡШӱƏҫʶ࿐ѹఴఔव٪ʏܖ̦˅˸੭Ɣԗͯ൹ёշஅୡՙोثܯȿgɻءÒ༽ɹಓęօˇͧƫ૱࡛ƛࢁڹηȟԋ࣯Fೕ͓סύवʗڝ܅ũطƔҫƽࡓȏЧחҥट๕݉ڗ֯Ͻϥߛ։ӑɷӈψЊӟֲڇҬࡹՠ̹{ࡅٰձę"],
- encodeOffsets: [
- [-59008, -30941]
- ]
- }
- }, {
- type: "Feature",
- id: "BRN",
- properties: {
- name: "Brunei"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ͬ̾ҢЯ·՛Бǭ˹ϥѦ"],
- encodeOffsets: [
- [116945, 4635]
- ]
- }
- }, {
- type: "Feature",
- id: "BTN",
- properties: {
- name: "Bhutan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ˍÏԩۇ{ۿÈՇſޅ͊kǚزҒɈșѺqπɥ"],
- encodeOffsets: [
- [93898, 28439]
- ]
- }
- }, {
- type: "Feature",
- id: "BWA",
- properties: {
- name: "Botswana"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ǜƭ˄ӡॎइήĝD̑ʚՑٰŹ՚ϝأݭع˩֓ʧ́ҙãƧГďʽ՝țہ¤БɾΟĸХșȵГЉʧпϑđȇ̐üԠӽߚɧŲAរࠤ|Ჾشಖ͎̎՜ͤʮDӂȎưÙ͔ڣ"],
- encodeOffsets: [
- [26265, -18980]
- ]
- }
- }, {
- type: "Feature",
- id: "CAF",
- properties: {
- name: "Central African Republic"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ۜÚƺɎƔgȾȏ͐Τ͠Ѭ̌ĉ̐ʂüߺ½߆ϴ؊ࣺю;ՐƜĪΫӜԿFƋΓÄʻ̆ʍٖοҢͻT˗֠ѫΖεɆԋغͩƊˉˣęաpكĘ̹ïųȱ˕}ͧDzधнϥĎŗÝʥԕطǐؙĊ̴ۓ˸҉˓͛яùדգ²֩ƘԅѻѯޱėʐϦϧ˔̳Ѡï̠ЇѮæʢċΞÞٴȬƴц"],
- encodeOffsets: [
- [15647, 7601]
- ]
- }
- }, {
- type: "Feature",
- id: "CAN",
- properties: {
- name: "Canada"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@؎œުxЯ΅̵ÅΦȿˬ͆ʸ̎С"],
- ["@@Хcઝ˂ޯІ̄îɁΗ|Ʒ"],
- ["@@хŝൡϢʥ̘ݩ̌Ưʈࡻư͕ҜðȚࢨǿԨŵ߄ė˺̃дЋ࠼Όҩ"],
- ["@@։ܿո˴֠ǵ̏̉ݚɱϰȴ࠼ʵʹ؛טƞņѿʼԷΝ݉ϝփǂǾیɻńইܯԅצЂ߫Ȳࣙ¹࿅~ŹʠԼ̐λɬ۸ԒࢄԶӎܲ̂϶Njɫ҅Չ"],
- ["@@@@@@@@߰äʥ॓ܶگͯDԑϪ̵ϮчʾƻτºˎЂŋ"],
- ["@@͡ѳχîəʢ Î͖ʦΆkɈǣ"],
- ["@@ঝҧץnǿɪزϲ଼SiǍ"],
- ["@@ƼυјżӨɗं˽४ʽöЍؤÞ˥ݙ˃ಳȬҽϚ࠭ҁѣ˿Ӯଗăܴдņڌ˺ޔ؈å"],
- ["@@ष¥ȿЪΦҼޖŜپɷXέħřձʛ"],
- ["@@Է̍ଉʬۃğଫϘ݊ʼטζࢼʃԎƯʦDžԠ͍"],
- ["@@G૰ڄեʡح߾֥࢚؈ؖܨ°ईஞÝఔūૼй¼зس҃פ҇ŃУחୡŻࢃʨʣуߵ۽ʓοই֩ளÇڏΡÇձĿਉڻ࣭ु͙ڏ±উంƕϜϼّ୲ǔ༞εࡀ͋ЅɳࢸΟ൶µࣴąƍܫʼࡋ،ळనߗ٨˚ҔࡺѭೢףѶഎЀ॒לҮהç֭֘܌৷لলࢤνݾ˫ಾגȘɫࡸć۠ɚ˵ਚӣʮ͙ຄÛ}۷˪ਜ਼ގſ،ӵҰߦऔϸٺݣબੳघ͵ՅӁݰӓംɏբˍͬ܃ټŏͶͅÖऻ؍́̏൯̗ۑƋᅛǮుPࢇÍ۱ੳωॵޡ܌Ɛഘૄᄈ۪సČݔЫߍ֟ˊࣟ˜هતп൸ŨࡆीÎ؍ժ̥ਣսᇷԁͽयٓÖ܆ฤ۞णĹջӆBନύʐ֛ƛ˧ɚٙىʱٹ̕ϡΥŽˏ¥čȹAMϛƷࢵĿßˍ͝ޗBࠛGϛƅƊǑøʯeďષлࡽſউ҅Ɂ@˷ƂĥŦnĔȂ̎ЂҦʘӺǙܴǵނЂľƬūĺɳ@ǛƆ¥ȤǍēɥ¾ĊȡĊćɚٵːڹ˪ࠑ͘߁̨ݧʃ˝SਕɔڻʼnࠁʺƆו¾ʻƜƫҤ˳IE͓BᮝA᭯@ᡃ@ᠿ@៙@ᢡ@ࠛ@᠁@ᛷ@őFࠜδຽΐҳݖŤԨΨƧڴ৭؎iѠҲКwՌෙॠՁޑϚ֣ΈѿѢࡇ˕ࠇҹݛւדπࠋɸࠟ|JⷎNᷲ༬ȭЙ࢘û݆ΖৰˀఢĹ఼τ൘Ⱦ־ΑظȠȊЄęෆݫ૦֬ŖّਔƐ͆ʖৰ·౼Λዸ̭ୄƛࠖÄଊэзຶǷᗘIJܒƦࣆԋࣴьࡩΦժ˼৾ڦĎڴȩࡊҗरäϛಬƄ௬oĭԺݞƦದ˵KߑՖڠڰuϞࡊ࣑কͺäघশ؎ૌƇࡘχଞॅݗЭ༠ǝ"],
- ["@@нϿሎʬୠщॊіސ˟یࠛфΒࡰ݊Ŭ࠲ƇशՆࠉʼץථеະЉĝσൡã՚͓˱ູ̯Ƃฃɪঋ»ཅ˷ᒃűāҕІଫɮݙģਛږ֔ĚಘƜஈરƦྷȞᅗãjѷ̴ዎͲಗ[ืɚ۶ـגͮᖬԠNj"],
- ["@@݉ևಹך˸Şٔȁ"],
- ["@@öɵࢿ|ࣟjࣿőʑ¼ऍѾ̠ИÈነěชң"],
- ["@@ڎԽޤڴᒆΈࢅůջဒʒߒͮሀыୄЏŊν༚Ȑ࢘᎐ܸͩߐϹጘչೲȁீޙೖÇʽכ้ঋਗά߲ઙĿŁӕࢪӥଜϯΌɟմࠩ́ɪᑏڨஎܣԕƎ̉ᗱͲᅩӤ৳Ц̌ʂయќТ`ʑᝡƅ܃˾ֆؤdႸņ˫̜̊оચࠊɳϊ͕˾౿Рၳ˺՞ɆࢷԺ´ڏ˸҇ʛŅᵝȈᄫʚഹŴۥ̐࢞ϦHˉ࡚٦ݨࡺ΄ᓪɢأի"],
- ["@@ǯຄńɖʑЕαƱݳ൝͗߳ê͎ᐡٮjˎ႖ĽएռসР"],
- ["@@࣓عय़Խ݆`кѮΨ࠰ɮცྈȱళݟǍ"],
- ["@@ᕍЙѷςኹѺήΤؘܰւࠑԦᭊƀǧᒰ±ࠄʑࣖΝ੍ɃᏝןਫי@ν"],
- ["@@ҙ͙Øৱɖ҂Ϛீɨܼ̬̍ˇ"],
- ["@@ٞϵљϣس൱đࣗƈjӬ൝ÝÁٮࣜౌ˺ஂµÜŎ"],
- ["@@̙͢ݠƘࢢƪЩԝЋ᭗Žᑯη౩mŅ˜პϊ④ij୯Ʈପࠐ߈ɾᛄ˳ӻฺÛறߨޔ̪ࢄĭ˲Џ"],
- ["@@ढ˓ကFܨˡȑ́८ȍՔȧଊ௬ëǼႊðീÏ࣒ͅȊԽɟభǷĸᜱŻႫcഫļᖁ˔̃ҦĹжࡇξĺঅʼ͂ΈႾÁ"],
- ["@@ŗ٣٩̇£༝ΫŹଗǼ@@ුؼႮծಆ[ସŬ"],
- ["@@ϣy༽Âɡɼၜ]מƻĵĩ"],
- ["@@༩ʋఝ˔ڼˎ௮Đஈſ˩ʥ"],
- ["@@৽ǏඉBbŤࡴʦҌદǝ"],
- ["@@కǥۃȚέ͂áΎજӪÅ̇ɫ̣"],
- ["@@͜Ε൏Ĥ൩˘ሏߺʠ৫ȮÕ͐ŕᗢ̫ٞЍ"],
- ["@@০˕ଽʟ༇كÓდņࣗ΄^̦ڔɢOए˨ՑϠώʲࡴÎοȖዜ¨੶҅මǵ൞ǃڒև"],
- ["@@ᖢßᅮŅɫɡᏅη᎙ǟݻȉᆬJጡԙേʃ෯ۇႿƓՙǡᡷěୈĿׇƭ۞бߙ˽ಛʃЋ͡୫ʣŞȏ෬lȳᖟԋᔧɴឿŻధĸཟªĿЖ༊Ȑб؆ԢÐᖤγբഹLjڼ͘Ȩʄ̊͠ΥѠᘞڒĝ಼̪ቃĬ᰽Á˸۩ͼগʘȁ˺దLjঘƌం̺ਬ©ࣤɽٔҒૐƈບĢᢲҀĝƚᆔÁᆒÁ"]
- ],
- encodeOffsets: [
- [
- [-65192, 47668]
- ],
- [
- [-63289, 50284]
- ],
- [
- [-126474, 49675]
- ],
- [
- [-57481, 51904]
- ],
- [
- [-135895, 55337]
- ],
- [
- [-81168, 63651]
- ],
- [
- [-83863, 64216]
- ],
- [
- [-87205, 67234]
- ],
- [
- [-77686, 68761]
- ],
- [
- [-97943, 70767]
- ],
- [
- [-92720, 71166]
- ],
- [
- [-116907, 74877]
- ],
- [
- [-107008, 75183]
- ],
- [
- [-78172, 74858]
- ],
- [
- [-88639, 74914]
- ],
- [
- [-102764, 75617]
- ],
- [
- [-95433, 74519]
- ],
- [
- [-123351, 73097]
- ],
- [
- [-95859, 76780]
- ],
- [
- [-100864, 78562]
- ],
- [
- [-110808, 78031]
- ],
- [
- [-96956, 78949]
- ],
- [
- [-118987, 79509]
- ],
- [
- [-96092, 79381]
- ],
- [
- [-112831, 79562]
- ],
- [
- [-112295, 80489]
- ],
- [
- [-98130, 79931]
- ],
- [
- [-102461, 80205]
- ],
- [
- [-89108, 81572]
- ],
- [
- [-70144, 85101]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "CHE",
- properties: {
- name: "Switzerland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƫŹȳϞƵіwá΅χƙةŀǻЏơƄһ˵Л¡αǶ˽ςБſ^ϠؚҾɈϤûɲƞMǦǼ࣒ʱ"],
- encodeOffsets: [
- [9825, 48666]
- ]
- }
- }, {
- type: "Feature",
- id: "CHL",
- properties: {
- name: "Chile"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@Bም࣒@Ԓw˧ͻܛʻЭӻä؏ʨ࢟ŨੑҸҎୃशۘǭ̟֗ѢϬ˘ֺޠΎװı"],
- ["@@͢؆ŘĺɁ˿ࢍࣵгඓǫ˓ʦ͡ץԹջ߁̛ރĀ߿ԫࡹϮฏɔƵCޛӑࠍpۯٍշFޙʮࠏԉ̧ɣݡȟࡱƚͷǡȞॹϜ͇ˡΛ϶ǙĚ̓νǃĜӱ̫ѽܓĮыˇՑ٣υôࢹ̧̐֔ÄgؽΒө᎔őުſݝPЙȷݷ̣ƉΣoॅ˚१ג@@ਲ਼ӔˁՒʄӰх֒ŅΦ߰ࢴٰౣʔߞݒ˸ඊत̏Ѯგ֝ɠʿՉŠ˂ல˺༒ϮָʍࠎéूΠԨപഎΤబȗ఼ʤۚĵਞӮਆưྺ˒ნˀሤÕ൘ǩќɌɦњЬֱŐѴΡ˅߽Ҍह"]
- ],
- encodeOffsets: [
- [
- [-70281, -53899]
- ],
- [
- [-69857, -22010]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "CHN",
- properties: {
- name: "China"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ԑഓΫۏѷ܂ĩخӶࠜڦَϨʡƣԓ", "@@ܩЗۏʺyܢаϠࣾɾӚoȊ͍σσșӟ"],
- ["@@ฬˍׯͼ߃౨Cܰͨ൸ʜѳݱ͙̭˽ः֡ࠇ৵ƪܝ̑ɜܙťѕwLяթӺͯһಙαƀѹܩЍ˂ֽऑҋۃա୭ʑأϽࣝɭ҂ϴǭ͞ږ֠ѹѲܷ̓ॉԫթ࠙¡ѓϻѸ֩یƏϕڔʕसݚ͝լuƌѱஓɻϻҏࠇућיࣜҥͦࠝԞޓ֮٥_دՅɯȪ҃ӶʻŻۃɇڗҷ÷ؗࣧڹિޭোିޡୟۻृĩԣύ̃˘Ӈй୭сࢵŹ˻ࢱҭ·ə؎Ȧ͘ૻːЇƍࡍɔЏƄӜޏƶЙܑ̀҃ࠇīڡJ҉ȳѥūŶ॥҃x÷Ȣ}Ύ؝ʓεƸر͂ʔۤՏǎȧޜࢱƓĴাߔۮۚ{٠νȨ˭ӶӭÙࣟŲ˴ΜϿԺ׳Ν۵ȸॷއسڳĿοɦѹrȚґɇرëڌԟǭওĈोȖڿτٵǔ˯ЖҽŦࡓոکʴΑȩଢ଼טࠛՒɽऐőіͭјĐۆࣙঠ൧ͼʝ٦ةϼƫʌųӎ͜ԛȔ˟ďɇިʈȔśȠߤЈǐࢸő͆՜ંIJͮ̚ҔŠȐãӐּɔݱฦဘͲјȈ؆ຒဠˡҲϞ¢ࡆۦĀٖ֔͢èɚו۸ѽப̿׆ڱ͕ঙ̢ηূƝଆŝ৪ԻԲġϤޟӲӿऒnჄȉŜࠦůఔԛ৮BόʽঐҌബ̈ాঘ̒҈ך˰Ƌˤˍ͔ѴըӀùࡺǝ࠸Ѿ͚؞֊נʆŐڐĥĠ̘ݿזګː٥̳ࠣžӇŃɏΆר࠾Цو̓ஆՎQτݸࢾҲːWҪңȦۜмਰƲvసʡ݈̱ࡏ̀α̊ԩ̶ࠕ"]
- ],
- encodeOffsets: [
- [
- [124701, 24980],
- [112988, 19127]
- ],
- [
- [130722, 50955]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "CIV",
- properties: {
- name: "Ivory Coast"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ϣUוǒ՟Wহƥʍ̯ࠫNjvÞۖĄŀ}ͨΣΚˉÈʕɲǾώčО ʔƄB¸ξÝnjĄŜ̸ĶȹڨȗΎæ˸ǘÞŊúɸųٮOƸʖƢgʎĦžΫȞłΌŰϚǽƦ˥Ϙǯ̎ɄϾֺɏɠΟ۷ɕेθܣͧ"],
- encodeOffsets: [
- [-2924, 5115]
- ]
- }
- }, {
- type: "Feature",
- id: "CMR",
- properties: {
- name: "Cameroon"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ľ°ӻŇԝŒЋÅnŬڒ͟֊ϧƚǟϖɋŦXɶɎתЎ߸ʒRԄӮ͈bҾΉ־˲ĀΔȌͺžь҆ΊǞךDzȊŢѨɜ՚۾ٲ¬˨ĠƲͫͰˌʂ¶ͮ՟Ê֏֏ҜޅҷTʁÏϥČǻЅӸөμƛŠΏˆ׃ſɩх࡛ȫƳÝٳČΝåʡЈѭð̴̟џϨ˓ϥĘʏÓґڛȤڷɜ"],
- encodeOffsets: [
- [13390, 2322]
- ]
- }
- }, {
- type: "Feature",
- id: "COD",
- properties: {
- name: "Democratic Republic of the Congo"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@»ঙͶŕˑ̗͓ɟ͍ѫǯϷ±ګț͍OهʍɹԃŗÝýҟɄϡÂưޝċѧǘӣӤҹҒͥĒ૿ƙɣĵʇՙȊχƫষĻࡇɨƫט͝ɲƴìٟࣟR·Ҧ̳ΨٟŠȋѰԣ˅ڧŞ˫ϢՕüϽqµʾ́rϥºԳųιtȻû®ৄ˩̸ÕԬŬԒǝ͖eՊ৳Qò̢ѕGƣԵɁӧűȿҫŠˣş։å͏Ѱȗ˖ʋԌȷض៛\\̍ķʑhœşʼɊĘμƎɎ̪ǰɚđ˼͐ҜSÄʃ̼ƩӶՄӨШɆː۔θࠆϬўքМĪˌt̰Ǝ̆«ӊŀݖǐԾʦ҈¸Ԕúה͜ѐҊ˔۔˷ؚ̳ĉظǏʦԖŘÞϦčनоͨDZ˖~ŴȲ̺ðلėբoˤĚԘۙϘķɤƖϲÅҶDzȦΫ݊֏"],
- encodeOffsets: [
- [31574, 3594]
- ]
- }
- }, {
- type: "Feature",
- id: "COG",
- properties: {
- name: "Republic of the Congo"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̿˾ʩƗͻγۏࢸٖҪ̓˾ɂ֦ĺäό҆ЗݐʴЈł֒ĝڀЉӺζȽǘسçɻѢÔξڸɛڜȣÔҒѰԆѼ֪Ɨդ±·ԓʥ҇ǏԽĿݕ¬Ӊƍ̅s̯ĩˋփЛϫѝηࠅۓɅˏӧЧӵՃ̻ƪÃʄқT˻͏əĒ"],
- encodeOffsets: [
- [13308, -4895]
- ]
- }
- }, {
- type: "Feature",
- id: "COL",
- properties: {
- name: "Colombia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ΫȤЭ˨ʅƅ܉Ŝȱΰƽ_Ӓŕʺ̼ÚтȢ̦иÊΞՆ͐Ѵ̳ȦDŽӦȏސǸɚƃ܄ͻ҄ņТ˔ÑǂʠțӶĺŬѢـהΌĚT˦ƺ܂ӖϸՊfäǪڂéڌъ͞ȊОК̖»ɚɛǍ˱գƕɇп͗ʋʓ̷ĹɷӭѢÇņϭȄȁâij̵ǫȸéȨ̉ઊĄӦŃעܡͼĚӐĪ̔ƟƱҍȇ˯ßǜ֑ʆʟȉэл̨ȃɠ̋ʰ࠹ǁĻǏӸɷˊ˥́࿕lZԿӰē
͏ǙĔҿƑK؏ώ̫ƀӓoηϙᘯп҂ʣpժࡤٟϾԍị̈ƤҧɝصŀӵࢤϳɐˍІ֑Њɡā"],
- encodeOffsets: [
- [-77182, -155]
- ]
- }
- }, {
- type: "Feature",
- id: "CRI",
- properties: {
- name: "Costa Rica"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@җȆǟǮĬƤȄɷȪͥǔ́ņÅʖəƮÄʑǗȩȓɸˑĊŗǞLʮŎˆʁŠȖnjŴňֆɝȖŊˊéƔǥʜÇȪDzɈҙ͖ͷЂΩ͗õLͷǪűűıƱëǟ©Ǖ"],
- encodeOffsets: [
- [-84956, 8423]
- ]
- }
- }, {
- type: "Feature",
- id: "CUB",
- properties: {
- name: "Cuba"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ܨÑڊW߄˹̭ͮĨ̔ȡ܈ԳԺϛˢ\\ԆǟÕʁئٌ΅ıȟ֑Ń֡¥׃âளą֜ҶɔէÈ̃ʐȥӎӃɦʥǬભž̋ǐ̀ɀࠗ¨ѧΏ[ťȳеğΫĂѺʸǼ̤ϞȈіǎَĄȰĢ"],
- encodeOffsets: [
- [-84242, 23746]
- ]
- }
- }, {
- type: "Feature",
- id: "-99",
- properties: {
- name: "Northern Cyprus"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÐJŨȮYކʢ֧ΧÔƿęLJÙűj¥iĎѾNjVɫïƿ¬"],
- encodeOffsets: [
- [33518, 35984]
- ]
- }
- }, {
- type: "Feature",
- id: "CYP",
- properties: {
- name: "Cyprus"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ãࡱͿЩŊȟͶЎǀ«ɬðnjUÒ½jč¦ŲiLjÚĚ"],
- encodeOffsets: [
- [34789, 35900]
- ]
- }
- }, {
- type: "Feature",
- id: "CZE",
- properties: {
- name: "Czech Republic"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ϯǂЁ©ٵʲ̏Ùҿ΅ر˔ӃΰѕȬėΠƧʠؒǾ̸ȾǎɂdžɜīϒĖЊ˓ؼñ¿ɳҘǧŲɒּĥĄʿز»ϮЯʡCŽƯȕÅȑLJ¡wý˹ēϋbšȁ"],
- encodeOffsets: [
- [17368, 49764]
- ]
- }
- }, {
- type: "Feature",
- id: "DEU",
- properties: {
- name: "Germany"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@d͗ࡔțS̗ࡢǂҾɰॊͧІˋȞёɹɣ̨̙Ⱥ҅ß́Έ՛ϑĕɛĬɁDžǍ̷ȽؑǽƨʟĘΟіȫӄί̑ϯ̟ŃŢշýƛʿǤЕ~ƭݍţɛыɺʩ±࣑ʲǥǻ܍Nń״ьֺƸЇɘ´ςǗȐĨ֨ƗࢢԎ@Ɉ͂Ⱦޔƿ˴ǐDz۰°Ƽȃ֮вȓ̀ӈٌōՠŸ"],
- encodeOffsets: [
- [10161, 56303]
- ]
- }
- }, {
- type: "Feature",
- id: "DJI",
- properties: {
- name: "Djibouti"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ȤʹΑӏȩήɯ̱҇ȅƬȭÏҷb_ʮßɶ˴Ѐ̐ϊήñʪȴ"],
- encodeOffsets: [
- [44116, 13005]
- ]
- }
- }, {
- type: "Feature",
- id: "DNK",
- properties: {
- name: "Denmark"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ԋڹ࢟ӄŝΒ˨ˎу"],
- ["@@ȵ̓ʡĞɮХ՟ŷًŎͽҲ}ƔɪʌʦÀ̐ɴڮʂѝʟ˙ĶɽҘŵ"]
- ],
- encodeOffsets: [
- [
- [12995, 56945]
- ],
- [
- [11175, 57814]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "DOM",
- properties: {
- name: "Dominican Republic"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ŀƞپIӾɏɜtƴ̕ҠhʡϐЮ̷̯ͿЍǼϫˡ¢ƱƵ͑½ŷȲˣťͳֻɏƆ§ʎjɬɍʦȲƚÞ͒óҜ"],
- encodeOffsets: [
- [-73433, 20188]
- ]
- }
- }, {
- type: "Feature",
- id: "DZA",
- properties: {
- name: "Algeria"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ᮩཽᝩஇϑटćUϵƌԹʊȧЀᬻᆴᬻᆴṕᎠfnj@ÊQബب࠼Ÿێɦ͎тচͪجӢòϞ̶સƚƸ͜ɛDz̃ࢲ¹Ԟ́ՠ߰ҠࣦƢՌΎ߶ʰƬർæшůߊͨ࣌Pȝֺ¾ǟћƄߟȡۙԭҵôمۊԃRȯԮΪຝ˖ݏ°ϵƧۇÔϥŃҟòՇͫΗӺؓέ̘ҵϼƸڒϷςՃ"],
- encodeOffsets: [
- [12288, 24035]
- ]
- }
- }, {
- type: "Feature",
- id: "ECU",
- properties: {
- name: "Ecuador"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@҂غǻξ͍ϵԉςǞʀƙބ̎ŴƺԼ͆զÍ΄ҢǸ׀Ͱࡀӑƾ`Ȳί܊śʆƆЮ˧άȣŞٓʽճࣷ࢟য়ͧԥܵǃ֣ӅΙъͻĞáw̮ʈȨıΔ"],
- encodeOffsets: [
- [-82229, -3486]
- ]
- }
- }, {
- type: "Feature",
- id: "EGY",
- properties: {
- name: "Egypt"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɽͷǹىɫѩȝƥ˩˔ϛϒஸđùΐࢯԪࡋٌವ̴ҙ˒ӃݮछǗƣճݭƨǣΏ@Ὁ@@@ᶶ@ᲴʥڲɐŻά̤Ж૦b߲ɝ࠲ʛϴſ٨ˊΌʊݎêװŃɮеȜ˜ڨȣټ³аɄւ"],
- encodeOffsets: [
- [35761, 30210]
- ]
- }
- }, {
- type: "Feature",
- id: "ERI",
- properties: {
- name: "Eritrea"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@˻˖ΉӰϋ˒ɏܷ̄ͶֻXȭǬӯȡԛϢʽطǬęʹβఀĊ֒ˆʴؤƐьӒӦঃɴޗҢУବߏҲӍҖӝˀ˿аʧʩȳέò"],
- encodeOffsets: [
- [43368, 12844]
- ]
- }
- }, {
- type: "Feature",
- id: "ESP",
- properties: {
- name: "Spain"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@¦״θஒ؆ਊƱ૾NࣂƝۦªമͰ͛ϡ̨ǺीϝআŊ®ӥߓ֓ઁǯõ˱ԩү͕ہ͞ӑӟϑǹճىǗש٥੧_ߟhՃ͍̓ͅЩê̵˴ʃӚžé˦̶̀Śɬ̃ʢɶրͳԌδèЈƎŬZپϲɪɻфөƝŁӹCɁЬū̥ɇ"],
- encodeOffsets: [
- [-9251, 42886]
- ]
- }
- }, {
- type: "Feature",
- id: "EST",
- properties: {
- name: "Estonia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĮӸ̱ŁՓ̘ñӘਫ਼ɼŨ࣮Ƒࢂ|ŴƣׯӝʞΫˉۙDܡ̸ρļƩ"],
- encodeOffsets: [
- [24897, 59181]
- ]
- }
- }, {
- type: "Feature",
- id: "ETH",
- properties: {
- name: "Ethiopia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ԜϡӰȢȮǫּWܸ͵ɐ̃όˑΊӯ˼˕̏ω˳Ͽàɵ`ʭҸaȮÐȆƫǽ̴̕ҧ̴Й̛͎ᩨঽۺNᛛᡃફݟףաeɯ˅ַB˴ލΙʝΓ֕àȃĬȟwˇT܌ב@˹ˢ@ҾѧƘӻࣴϥȚƧʹэЦԧÒ˸ӐҀrŲʰ[ݲʞࢠЊɾĎ΄ήٜԔиࠠƆܠǫʾظ"],
- encodeOffsets: [
- [38816, 15319]
- ]
- }
- }, {
- type: "Feature",
- id: "FIN",
- properties: {
- name: "Finland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ūיಀ֓ޡىख़֡ܛݴس΅յఘֻ́ѓޭӟᅡੵໃá๑̯ൃǯӡҞ߿ˠȈࠢСݶАӪނՆ࣮֖ǬēୟЈ˳͜uಒֲ૩ЪԊɞतѻલ¦ࣘȭߠϊЬ؞ಬ˶ͯΡכ"],
- encodeOffsets: [
- [29279, 70723]
- ]
- }
- }, {
- type: "Feature",
- id: "FJI",
- properties: {
- name: "Fiji"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@̂ʍƓѭԳŗҩļąτ͖̀ϤĻȼƐ"],
- ["@@՛ǯŅ̼оǤˊ°Ӱˀ@ЧՕȷ"],
- ["@@é@ШǨĽЗ"]
- ],
- encodeOffsets: [
- [
- [182655, -17756]
- ],
- [
- [183669, -17204]
- ],
- [
- [-184235, -16897]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "FLK",
- properties: {
- name: "Falkland Islands"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ԌȿԌʹڦϙʥ̋ଋʥϙ̌܋ϙпϚ"],
- encodeOffsets: [
- [-62668, -53094]
- ]
- }
- }, {
- type: "Feature",
- id: "FRA",
- properties: {
- name: "France"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ˣ٭ϡǠș֢ǜ̺ը͎Ɯܛ"],
- ["@@הЅќà݀ϥȊñʎjЈɗெƷыֹŃ׳ɱƝϣüɇؙҽ]ϟВƀ˾ρʁʚ̿̅ʯɐٱҖŃĩηݿӅစɬ௧˗ĩԑঅʼnिϞ̧ǹϢͯ͜ѢԎdžူࢁࢤإю౹͒čؖઠǾථɏˇॎߌέዠپʨێܾǞŪ̑ϸ_ϸ͵"]
- ],
- encodeOffsets: [
- [
- [9790, 43165]
- ],
- [
- [3675, 51589]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "GAB",
- properties: {
- name: "Gabon"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࡹࡔ։ۚԙࢄ˨ǾˎȲؔǜخ˴¶SOৠЌÆԞőӼňľ¯ÓνɼѡشèȾǗεঃЊӹĞٿŁ֑ʳЇݏ҅Иãϋ֥Ĺ˽Ɂٕ̈́ҩ"],
- encodeOffsets: [
- [11361, -4074]
- ]
- }
- }, {
- type: "Feature",
- id: "GBR",
- properties: {
- name: "United Kingdom"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@҉ֽًǦԱ[ǦҊǥ҈۴ࣔԳ"],
- ["@@࣋ࣧࡦŘऄIɕۅݯݩࢄÃäĕݠֺƇԬढ़ʈͧৰDžķ՝ѓʗͲѣݱѯRෝɱϻǒ։ϿޥĪם͍ҁǘࢨݪǺOBಽƔʃͰ࢜ʺҡҐdžռఢ÷D@ŮӤ֛Ԯ_\\৵ƨȧɬ̨ϒˡɴҍЇ·߶щє̨ࢆٶھڤá০ì"]
- ],
- encodeOffsets: [
- [
- [-5797, 55864]
- ],
- [
- [-3077, 60043]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "GEO",
- properties: {
- name: "Georgia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ųάȿִӟ̲ҭĬ̯ʴĺIJ܄ƝఆƋଦЕƦƻԚƂǭʴ·Նșɓřвғŗıҏºصʎȵƍଢ଼ſ߳Юࣅ¡"],
- encodeOffsets: [
- [42552, 42533]
- ]
- }
- }, {
- type: "Feature",
- id: "GHA",
- properties: {
- name: "Ghana"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ӯҳ˽ݳʑݡʆͨηܤɖैΠ۸ɟŗنrӊฤ¢ϊÕ˔ƊϴáÕʿΖџC؍Ąڍɂ̫ȅݳäйɢՓȈ̍"],
- encodeOffsets: [
- [1086, 6072]
- ]
- }
- }, {
- type: "Feature",
- id: "GIN",
- properties: {
- name: "Guinea"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ʃtǡͷʁJǏǴÈͶΗԨɕħǵmɳ³V̮ƇɘʔǻΜɹ̜ڥDțǁɵoƝǷīɹ҅σρӼ͛͢ɋŊȿǖħϊūȂʓƐώЦʮeɖƘȄDƄŎï˨ĢĖd˶МUȱȄlÚĤҜáŨ´¶̭ƆBɖŒƔɸɇάãɲǺ˖ŒȬŠǚuȈȁĴɳΆΙǣɏ˙ǴĊŀį«ʡʲʍǗÝå˷ȘȺڧ̷ĵăśÞNj·νƃA"],
- encodeOffsets: [
- [-8641, 7871]
- ]
- }
- }, {
- type: "Feature",
- id: "GMB",
- properties: {
- name: "Gambia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ņόࣶzȎȦˊ`ͨȷʼIˢƚǞʏεȋιdέǰ̷ȗƭQȫŝއl"],
- encodeOffsets: [
- [-17245, 13468]
- ]
- }
- }, {
- type: "Feature",
- id: "GNB",
- properties: {
- name: "Guinea Bissau"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@҅ΘΝÈȕʀLŸʯǴÁǶѼƌ˦ɦĨ༈c˵ġĕð˧ƃōȃCɕƗʭfύХ"],
- encodeOffsets: [
- [-15493, 11306]
- ]
- }
- }, {
- type: "Feature",
- id: "GNQ",
- properties: {
- name: "Equatorial Guinea"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƿŴ़̀െmPয়T˳µ"],
- encodeOffsets: [
- [9721, 1035]
- ]
- }
- }, {
- type: "Feature",
- id: "GRC",
- properties: {
- name: "Greece"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@Ҡ˱ٺ¶شÑqƣҜĶĿʛíTƒਁǎƺΦ"],
- ["@@ʹՁȥĥԟ|ѫĀৱɓҿяƋҳAѻўƿȁȊԅрЁ̓ǿҴϯжʑ^ӅޥɠʜѕՓĕ͈ݏ֏Yۍμ̿ڦƧ֒͝ϮљӐÉʆϸТ¼˚˘Ũjɚռö͌ȀҖgƒƦdžت{ڨɲע̉ކĀVмЦɝ"]
- ],
- encodeOffsets: [
- [
- [24269, 36562]
- ],
- [
- [27243, 42560]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "GRL",
- properties: {
- name: "Greenland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ᬜԆ᱒ੴ̴ᲈĄ䀦Ŀ㉊ڗ༅͕ộ⭏ćшƫᲐĠᡚ́࿈ʴۦ̝इӧᒞ̺✘͚ᠼNjҾΫ⃝ױӃȕ᧑ơወ¡ছؕگկधշಽ൧ˇ༂ѽȢ܋࣍ýઞܡህÑঈ˟̑இŽE֩\\Ϗပΐћɣଌȿ઼ԣ͈ڱກlj٫͖ਣӘ˼֭উѵᕖ¯ᖯܵᗿڏឧ́ओIࢅ͓ୟࢱᅵכׅ૧ȷȝܛԱ[כыտോڧͺٿϗљࠍஅ½ۈဿLࠁҢ֕ࠐฝਲэոŗݮޢ̢ئ֗̒ࠪচొ̺ͨΘǬڀॡ̕қůݯţਏ˜Éְ͢҂ެ\\႔ɟՔݩ˾࠷ş۫ȼमԝ̺ڗৡࢼ੯͚XΚᖷӮᄻÖᖟᏅ×ইˌวՈᕂ˄ၚ¬≹ɖ΄Ś͜ẊИᶎИ̪͘ᗗ̠ܺͰ᯲זĚΓϘጲɜᣚƂᣖRࣺʽᕺҨፘ̽áპ˙ፅҐŘή"],
- encodeOffsets: [
- [-47886, 84612]
- ]
- }
- }, {
- type: "Feature",
- id: "GTM",
- properties: {
- name: "Guatemala"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ћƦԻfϩǖҍΌrʖĮȠšƾКۆFt˸Ƌ¾ġǺ̵Ț̹ˬϜDBӂBަUOڗßॅʤ@˚ƱòŰʘŃϥ͍ЉɻÏljâǑǧɇȟ½¬ıƿġ˽Ƀ}ŭ"],
- encodeOffsets: [
- [-92257, 14065]
- ]
- }
- }, {
- type: "Feature",
- id: "GUF",
- properties: {
- name: "French Guiana"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@͉͑ГÑŗʀȉʹɩνǦɈΪòϤƢή͛ӸáֺѪܠ˸ğؤȥࢸۿƔ·ӻޑʳأ"],
- encodeOffsets: [
- [-53817, 2565]
- ]
- }
- }, {
- type: "Feature",
- id: "GUY",
- properties: {
- name: "Guyana"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ր̯Դյzџ̈́o҈Чͪ̇Ƈݱԛɕ°ȣƹџϊ؏ːAŎӃԢܳȱҫî˙ɡϟƥ˅ġǑЭ¦ԫЀÓϴɋьƆܐɸ̐ȕϸ˿ŶŊτțȘѩْ֩ɬɲiϲԬƊȾƾ˽̸ô̬ږӲ"],
- encodeOffsets: [
- [-61192, 8568]
- ]
- }
- }, {
- type: "Feature",
- id: "HND",
- properties: {
- name: "Honduras"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ơˀʭòÐʹŗĞǣÒσijŔʩƈǷǚʛìǨɈáǒÐNJЊɼϦ͎ĔȂƨʊ\\þ垦ϸùϲv˒ĢİĦˎ©ȪÉɘnǖòϨśƄkʲƿʐį̏Źɜɳ˽jśŕ̇ŋɃAȅŃǙƛźĕ{ŇȩăRaǥ̉ɳƹıđĽʛǞǹɣǫPȟqlЭūQĿȓʽ"],
- encodeOffsets: [
- [-89412, 13297]
- ]
- }
- }, {
- type: "Feature",
- id: "HRV",
- properties: {
- name: "Croatia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ȳ͗ˊʇ͓̓ϝȆׇ[ܟƔϽmǻǧ̝ȖǫΑЪϽǼʹϮ̽͌ȃ͆Ηݔ͇ġƛ߃̶ӣ̢ޑʠ۹ؤǞØϥΞe˲եƄʱγʝˮn̆bג
Ƹƚ˸ƍͤgGɼ̈ĒĈͺڞɠˊĻؼέۜlj̼Ų"],
- encodeOffsets: [
- [19282, 47011]
- ]
- }
- }, {
- type: "Feature",
- id: "HTI",
- properties: {
- name: "Haiti"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ԢܰƁôқÝ͑ȱƙɎʥiɫ֏ƜЅÍԡÔϽƿ҉ʾö˔ޜśيã̢ȈϧθP͎ՋžȌɶ"],
- encodeOffsets: [
- [-74946, 20394]
- ]
- }
- }, {
- type: "Feature",
- id: "HUN",
- properties: {
- name: "Hungary"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@˨ըǍǼӂDÜ΄ђɋ̲ğ۸ļäǚͮ~ЦžĜÃЂŀȠȢˠ¼࣒ʭǴĒҲɭÎɣԡǭЉ֫ԕ֭کǁԽ١ə̻űۛNJػήˉļǍ˴ƗV"],
- encodeOffsets: [
- [16592, 47977]
- ]
- }
- }, {
- type: "Feature",
- id: "IDN",
- properties: {
- name: "Indonesia"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ΛeךǒѴʭ̎ʭ»ɩ"],
- ["@@ܙȁijĶø˸ΰԢࠨͬĐǓfʫշع"],
- ["@@̢ɣԲèȼΥॿǛőҍP̀ӚҤPɤ̖"],
- ["@@ūұʅૣľE̬ښǪՂʥ֔Üݬ̮"],
- ["@@ྔċȂΌ༘З̪կీƵਐӿय़͋ऍݻwࢍØưঅ͎؝ČΓŁ໕ΌƣΰޑØּߤ৶·ڴ͡ΒÛŘ̗"],
- ["@@ѝֱćنƬ̠Ǭ˴ȒʗCЏ"],
- ["@@̿˥ׅƸǏΰࡘ¢Ⱦˣ"],
- ["@@̨ٝۿΌۯìӃÅׇȦҦਠऎʕ"],
- ["@@ɼയ࢈ԉ۰ࢼ८ԔݜBܘ̉خ̛ࣘLJbᩑbᩑݟېǜȷʇ}ΦۂՈɺɕࣲЕ۸࿃܆ۗêృަʛУ͑óȏ̮GκٛЮ̢ࣞ״gëɠ௵DͩԄݥƺΡдଈȰњ˜ഘ·Ƃ̹"],
- ["@@ڭ࠭كlj߱ǐඓ¥ܽŧţٍݪݛҒϠ༪˸çϯλŪιӯ͙݉ߒƵ˿ݲॻQտ҅ʙ̐͡Мی࠙͗ȻɶŊ͖ӲØࠌ֕ʭîওறՓũίʚʌޜŽ߸ΛPʻֺΎվŤښфǮΎذپʛśॴࠨ؎Ʀȉ"],
- ["@@©ܽџĈŷԝΌѷɽĵՒʟǚڤ˨̨ÔҝӸóĀ"],
- ["@@सާহį˫ֵݿַ߱u࠷͕౻ŭ̚ॕϙͫԤ׳´лːৃ̟̩Оս¯ۗĬŹૺнɺЕܘŝ݀ĮުԂƖָ֗ӅըǠ՜ÑӪъЖôߒɽۆǶњୠ͔̈̆क़ॲ@ܰƙӍݷآߓơϭ"],
- ["@@छkۻ۰અۊέԚٍۄзؾٕ୴۪݅ʙܠ̳ڀݵՊѭܘمҺऒóђզಢNjݔࠓٮ֫ҪΓߔࣙࡢ_ۺֹӠ۳٘ϥͳۉӖ̞̅sƜו̊ҵؠõФՏɁಟ"]
- ],
- encodeOffsets: [
- [
- [123613, -10485]
- ],
- [
- [127423, -10383]
- ],
- [
- [120730, -8289]
- ],
- [
- [125854, -8288]
- ],
- [
- [111231, -6940]
- ],
- [
- [137959, -6363]
- ],
- [
- [130304, -3542]
- ],
- [
- [133603, -3168]
- ],
- [
- [137363, -1179]
- ],
- [
- [128247, 1454]
- ],
- [
- [131777, 1160]
- ],
- [
- [120705, 1872]
- ],
- [
- [108358, -5992]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "IND",
- properties: {
- name: "India"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࣚটďۅͮїѕŒɾएࠜՑחՑϟ͛ࠀͅߊЭરһସʼnӜёٮāৠȝ۪bĪͪŋՖÞβԠǮìڋlǙކ͉Ոƀ܀Çۈ|ÐԪˎڴŀވشॸ۶ȷ״ΞЀԹ˳Λ࣠űÜ͇̍ƷèԫƲછׅ~ӓҩ۵§ХϏۗځȒࢇȏ˹ĚΣгȥѵɵEƍ՝ҡѦʸӎϖ¶ϰ܆ӝƜީ]ߝŚóאБ¤ڕζ֭̓؆ѻԿ̻ȅ̩Ԭɣƛԑ̆كžەţֱ̫Zਛǩ´ك҃ӻ֡ळكՋ࠷ջCϭлȹݳ̝Ͻ«ʥٙǪધ®ۡΣߙIѣ¡ϣٙʰˣދʃ˱֯͵ʍߑϳ୴͑ࡒ̍Јѿ߰ȻੂơՀޅ଼Α࿀ʣHৰǍԉףĶ৲И̤ʝͤড܊֖֔ᇜCǗܞҽюĩ٨ջϘऒࢢঊÙ࢞ࢢՄ࡞ࠄࡈ_״ܒӠڳд֪݂̇̕ЬβȱपŰߺ۸"],
- encodeOffsets: [
- [79706, 36346]
- ]
- }
- }, {
- type: "Feature",
- id: "IRL",
- properties: {
- name: "Ireland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƒًݣӹŶڼ࢚ѭࡢତڄٌϼǦ҇ǥ҉Բ\\ٌǥ"],
- encodeOffsets: [
- [-6346, 55161]
- ]
- }
- }, {
- type: "Feature",
- id: "IRN",
- properties: {
- name: "Iran"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@݈njװӔ֚{τƾװýघэڤğ।ݓظòۻɱؑκŭΫҡˠڡàՓِƙæեݿݿжѵԓߦυx݉ДƋêϯѡ̓উཌྷʪࣷȖेŊΧਐЕƪ٣ƭࡑНਇ˦ࡑ٦߳ʈ֗ߘا૪ҍƋՕ˦̻͝ҭѴS҂ˍ@Ɛ،ѝٔҢߜȜپц̂ÙӬտʨխҟڨǐʼʿ६ּʈƄͅъϯ־ő̤~রئ̀Øʞʙ́гԼѱȾ¦ˈإߖǩуƟಾɞĄȞ"],
- encodeOffsets: [
- [55216, 38092]
- ]
- }
- }, {
- type: "Feature",
- id: "IRQ",
- properties: {
- name: "Iraq"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@րʧÚӫх́țٽߛҡўٓƏ؋ˎ@TҁҮѳӿ¤֟ê؝߭༟äᛍၖఫךৡɪ৾ᇶ͆৬āؘҢȺјԾΰžŇ̐ɉЖƚծ"],
- encodeOffsets: [
- [46511, 36842]
- ]
- }
- }, {
- type: "Feature",
- id: "ISL",
- properties: {
- name: "Iceland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@șիॊֵથٙᝓֹܣƵૉŮᚑˈࠠψᆧЪǎʘᄋȜ֨նౠŰಸ֭౨Ҝʃൌ҄ආÑ"],
- encodeOffsets: [
- [-14856, 68051]
- ]
- }
- }, {
- type: "Feature",
- id: "ISR",
- properties: {
- name: "Israel"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƥ˅̣Ŝǫ֓ɂĥɋřɛЄŖp͛нഉցʔˢ˶ɞϼǠيŤɆzVˬCþƦɤ\\`·ŕŵhM"],
- encodeOffsets: [
- [36578, 33495]
- ]
- }
- }, {
- type: "Feature",
- id: "ITA",
- properties: {
- name: "Italy"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@̟ڋŲʹǭѝٝ̈́ёĞ୩ѐŞќজûࡪĠْò"],
- ["@@ԌşϣÂ˫͇ɞ২ȓӒҨ¥рʼ"],
- ["@@ரɏĝЯȬΧڝŪہ̗²зĻʇˠё߀чцۛदڱچLȲȃɽǗݪ̥ؠʩܜѫĔƿƽ̛үϼܳƐΝի؈̷ıѫΗ¹҅ܛΕÝHʲǢҊǼǶ͝ӤʱшΑŀʛδգƴεͶثÆٿϜޑմ֯ӜʿࠪйĮہˤϯŕӝϵΓÕĪθҕńɏٲ̆ʰʙ̀ʂβǵМ¢Ҽ˶ƢƃАǼͺتĿψƚâΆԘšĮdžࠨƤȊ̉"]
- ],
- encodeOffsets: [
- [
- [15893, 39149]
- ],
- [
- [9432, 42200]
- ],
- [
- [12674, 47890]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "JAM",
- properties: {
- name: "Jamaica"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@֢÷ҀȫƔɯןeʭƗҹƊӑ̪ĶȔΜÎȒ"],
- encodeOffsets: [
- [-79431, 18935]
- ]
- }
- }, {
- type: "Feature",
- id: "JOR",
- properties: {
- name: "Jordan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ʀˆपͫࣆͺ৽Džų၅у࠸ˣƛƑ˭ٙřȩ̡εʵधƆŨоഊo͜Ůʚ@Ԥ"],
- encodeOffsets: [
- [36399, 33172]
- ]
- }
- }, {
- type: "Feature",
- id: "JPN",
- properties: {
- name: "Japan"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ņ˽ҿԕΉːљțɝӭշʈRЊҬԆӌīΊΜؠǹ"],
- ["@@́ڡƤсѩףЃ๏½ணॡ͔֡غษȃষЃঝe࡞أ֗իΝН͜ȶݶՏʒͿ־ߐʶѲՈࡌѢ؞ָာʤ࣎ǣࢠ֔Бࡀӌ͜ՈਈƟाՎࣀƸҞୗ}ڻޥࡍbࢁ"],
- ["@@נǵרΤȈहఝɯ݁࠱ָқँण]ř࠴д٨࣌²ʖʜټন٤˯"]
- ],
- encodeOffsets: [
- [
- [137870, 34969]
- ],
- [
- [144360, 38034]
- ],
- [
- [147365, 45235]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "KAZ",
- properties: {
- name: "Kazakhstan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ӕƹ્דο̹KɱЊ੫ǡێХNÚࡆؘßডũߣݶۋ͆ಥƽðᓗӹᶽљ£יچ֧ɼॕǩχ˧±ȲȶΖDž̊অ˺ϛݮҩɆ
˜ࠊāؘƎܼűƲࠎƭԲ£܍ȴঃσǭяƌĐўՙ֘دw܉֬ӞِʕǢڢऊࡺӣŀؘჄࣴಾtᇢͻࢼΠjѥʔʠɂЊഷ׀߮Цƿɮ߮ɔֺϬ˼Ḯ̈ШȺᑆ̴ݰΒຢǹ˄ࢉ࢚Ȳઆ˹éҝ߮´ᑌߎ̭ˁ੶٭ሠᒑ҄ѰୄӛீɎҪƯКӟטNjΨΥŒѾԣٕ֓ۥÿ¡ࡅұϝဟˢຑїȇဗͱݲลֻɓäӏԭŬу̠ఝĖඃx̧ġΞӉǧŽӹ൩̂փşȉρ"],
- encodeOffsets: [
- [72666, 43281]
- ]
- }
- }, {
- type: "Feature",
- id: "KEN",
- properties: {
- name: "Kenya"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ӾۙיͱȹΕ̿ÕšףˑǏ֑ͷ˥ࡀËӤᵁႌƙĢSࢺʊ;а̨ؔσ॰įтЉԬԈ֬ֆѨƗ@ҽ˺ˡג@܋ˈSȠxȄī֖ßʞΔގΚͺ˳ָAܽ॑Xᵣ"],
- encodeOffsets: [
- [41977, -878]
- ]
- }
- }, {
- type: "Feature",
- id: "KGZ",
- properties: {
- name: "Kyrgyzstan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ȊςքŠ൪́žӺӊǨΝ̨Ģwఞĕф̟Ԯūşȏғ̙ͭઁıͅ՛ࢷŒׇǏߣЇŜȟʇȓཟŵਡ˘࣫ÝĂӜࣴƕ̮ʸٖĉѸױȽإ͂۶ծʟĊ"],
- encodeOffsets: [
- [72666, 43281]
- ]
- }
- }, {
- type: "Feature",
- id: "KHM",
- properties: {
- name: "Cambodia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ѭыࢄȣ২ՠۨઘdž߀ťۚ͡Ϟׄݖ̱Ȝ֕Ļඳ٧τԙࢥÓܫͷ۱Ū"],
- encodeOffsets: [
- [105982, 10888]
- ]
- }
- }, {
- type: "Feature",
- id: "KOR",
- properties: {
- name: "South Korea"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ܨযȺխPॷ̓ҥݽljڥΏݳïĥҚƼـχذƚֻܘÂúϒ͞Ϝצ¢ΨÈŨȮ"],
- encodeOffsets: [
- [131431, 39539]
- ]
- }
- }, {
- type: "Feature",
- id: "CS-KM",
- properties: {
- name: "Kosovo"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ǣŃPĘ́ȩĐdzɦƾȌȪÒŜ˨ư²Ţşƾ¿ŌƅƒǎƻŢLĥȳijij×ȉӹŻ"],
- encodeOffsets: [
- [21261, 43062]
- ]
- }
- }, {
- type: "Feature",
- id: "KWT",
- properties: {
- name: "Kuwait"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ǭχõȓ˔هשuȽАݟĆ؞߮֠é"],
- encodeOffsets: [
- [49126, 30696]
- ]
- }
- }, {
- type: "Feature",
- id: "LAO",
- properties: {
- name: "Laos"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@˚Ϝ܆ڹܸ¿ٕࠦھٍÎǛ̉ӯyʣƨࢯԅoݬȸࢮ֧³ԎηʸǴ̲ܐնøȡ҄wŵ०ѦŬӮڏϖޅਚO͚ܹ՝ɗʉ̟ԉۦՌَɄץƵݕ̲ϝ׃ۙ͢"],
- encodeOffsets: [
- [107745, 14616]
- ]
- }
- }, {
- type: "Feature",
- id: "LBN",
- properties: {
- name: "Lebanon"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɣ[ýƥ˫D̘ۄмעfϘ§Ɛͣқ̓ȷҟ"],
- encodeOffsets: [
- [36681, 34077]
- ]
- }
- }, {
- type: "Feature",
- id: "LBR",
- properties: {
- name: "Liberia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɗQࡽАޅٖҢ֣ըȪː¬ʔϜҘϺϺǶnɖĨΘԧÇ͵ǐdzʂIǢʄsʓĎНǽύʖɱˊÇΤΙ~ͧăĿÝە"],
- encodeOffsets: [
- [-7897, 4470]
- ]
- }
- }, {
- type: "Feature",
- id: "LBY",
- properties: {
- name: "Libya"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ק̷ҿҤ೧βρՄڑϸϻƷ̗ҶήӹؔͬΘñՈńҠÓϦƨۈ¯϶˕ݐШȜðΠėΒ־͔ʶːЦʌ´٦দ́ΜðۮƓϓЀݛݮǍஆΙࣆйЦɔЖϮț٠˂ФЀׂŘǣ˺ϑ̺Iˌƛ࠴ıȲˣ̣ЕżΫɏԯʦڱ@Ჳ@ᶵ@့ॱGYΙ‧ྐ‧ྒࡓҟ"],
- encodeOffsets: [
- [15208, 23412]
- ]
- }
- }, {
- type: "Feature",
- id: "LKA",
- properties: {
- name: "Sri Lanka"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ųΙʇܵȓЍڜƫீϠ഼׆ұϺסО"],
- encodeOffsets: [
- [83751, 7704]
- ]
- }
- }, {
- type: "Feature",
- id: "LSO",
- properties: {
- name: "Lesotho"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̆ʩʳУƛ˛ҳſƹˍ̛ċؿ٨҄ՐҖ͢ϼǠξʵ"],
- encodeOffsets: [
- [29674, -29650]
- ]
- }
- }, {
- type: "Feature",
- id: "LTU",
- properties: {
- name: "Lithuania"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ãɊĚɲχƄࢡƨDZ۸२ʴඬÁࠜĊŞǩ҂Ã߲СĀϓۏˏșӃ࣯̓NȫʶљĜ"],
- encodeOffsets: [
- [23277, 55632]
- ]
- }
- }, {
- type: "Feature",
- id: "LUX",
- properties: {
- name: "Luxembourg"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ǘȏ³ρʍiȉòĞҼɖ"],
- encodeOffsets: [
- [6189, 51332]
- ]
- }
- }, {
- type: "Feature",
- id: "LVA",
- properties: {
- name: "Latvia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@نЮՆߊ˼ڜعڪhNJ٤ܐƪςĻܢ̷ۚCКȕîС˒ӷ͕ࣗԛƙ߱ТҁÄŝǪࠛĉණÂ१ʳ"],
- encodeOffsets: [
- [21562, 57376]
- ]
- }
- }, {
- type: "Feature",
- id: "MAR",
- properties: {
- name: "Morocco"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ԒΥߜÎࢊȃκU͂՟ºԝ̄ࢱɜDZƷ͛ષƙϝ̵ӡñثঙ͍ͩсۍɥ࠻ŷഫاRহŷ@@@p҉Ա˓ȑϡ@̥Ŋ۹ě˛ٻʿÕЁୟ࣡ˣୋ΅ϗĵ̡ቅãaD ϶͒ɮ˞ѪÃ˶̀פҴՖ˲ƊɞӬp҂̤Բ̪֔Ւf\\ц͔ްĢڎָтɠۮۮȿਸ਼͊ܢŔѶդ֨ࡈϦخΐ֘࢈˄ԪؤI"],
- encodeOffsets: [
- [-5318, 36614]
- ]
- }
- }, {
- type: "Feature",
- id: "MDA",
- properties: {
- name: "Moldova"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ȨŮ֒ĊؤʽΊϞɥÑ˵̪ƏŨΗ̊ɇÏűƾčɝ×ӷ|ĉŜǫãÒƭɱˍƥ˽ɁĝƯϦĘΪςӝԂˉΠʹʠʯĈ"],
- encodeOffsets: [
- [27259, 49379]
- ]
- }
- }, {
- type: "Feature",
- id: "MDG",
- properties: {
- name: "Madagascar"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɠΥȺ։Ɗঢ়ɒϽĉЗƩʙ˷ӰǁʝLjثõΥɵȗ¿܅ͧওбԯཧ͑ୟϛইہȣܻΡӛɊڙ̜ɳѺÇݘ̑ڠùƮϰƢD˪Дِø՚șЈǃՌãޠ̊ҺŔՒмҶǤ̶Ʋτ\\ӐӎۖԮʦцŗάΦĵҪfԐ˦ϔ̊ί"],
- encodeOffsets: [
- [50733, -12769]
- ]
- }
- }, {
- type: "Feature",
- id: "MEX",
- properties: {
- name: "Mexico"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@͙݅ƥÕąЧƤқʺЧǚٳ֎سȞӏ͢бࢾɝΐΙ݄ɾٚĎؼưՊƠՖȨӬè۸Ƣʖ֬ɚࢶȚݔԚîȬDZ
ЙҋԁȥԝƸƥűγɁٽɅɎǭcǃY̝ԓƳIJķPŭޥVAAӁϛC̺˫̶șĢǹƌ½s˷ઃEЙۅŢƽĭȟqʕ्ࣞџ˘ۇɖҷÓګ́чĉץɜؿDŽϬؿŠ्ϸ۱ВɃɤҹºˈΓϦࣗӊсՌȧЦ˪ĈđʈȖɔJ̄˱Ϙùͮ˭ъ࠴ࡋڀУԼܝ΄ƷȴŸԲѓȞӹФȽהҍæӣѸϿФˀҍو̓٠^͔؇ͬ˫ӑɴƇͿƔЕĆف̀خׁƒȡŸÓŎ˽Ƭ\\ǜթʮɇǴ̕Նё˨ޯʠρɸϿ²ѷКͶϡ̨ϑqƭΝ̱ƫJɛԞջӎРїɈؚŵҖЏʺֿϒŏŇɃɖԭȰӷӦÖÚΊ³̸̼Ϝ٩ӱɶ̱Հ̷վϳڦͿݲॖÞ੪ĞÿǑСኀףဪPژ@DΌผ@̪̕јˇԀσ˨ѭȾҥѢʩۤʥՊڒۊhפͱфֹ̄ӯӸӏȂחɾЃپʹȁ͞|"],
- encodeOffsets: [
- [-99471, 26491]
- ]
- }
- }, {
- type: "Feature",
- id: "MKD",
- properties: {
- name: "Macedonia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ńOǤӺżȊ˺¶ϴbтˏÒ։DžƑƥҕh͋ǿջõΑȴšήń˸"],
- encodeOffsets: [
- [21085, 42860]
- ]
- }
- }, {
- type: "Feature",
- id: "MLI",
- properties: {
- name: "Mali"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@˰ƶƘӶˊpזɻӄǖ͖ÇŴȈ⁚^ȈךƣļЛ⋈Л⋆౾dᬼᆳᬼᆳȨϿԺʉ϶ƋVठĈFካҟ֗íԭݛƃï̳̗ա՟IȿLjҥšΑDžʿٳϕŗɍΙǡНŔɱȳūֻڙۡp˳ɭΣÆӥůȝŁŽάʍĥơhƷʕ٭PɷŴʼnùʱʎ¬ʢĿİdzĉ˚Ǥɐ΅ΚijɴȇȂǙvȫş˕őɱǹΫäɷɈƓɕőƅAµ̮ʾí̽͘ʀǓӔԺ"],
- encodeOffsets: [
- [-12462, 14968]
- ]
- }
- }, {
- type: "Feature",
- id: "MMR",
- properties: {
- name: "Myanmar"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ӫηץϥࣥΟƳО݅ՔؗΈօ̭ܵ̃ƹȪу֖ڙĪҷ_ϵ͠ދңСࡷăذʴ٠˯ӼæࣸͽѤ˛Ʊਗ਼εۢօуॕ׳ҽöԳȠ̂ਪǫڅॺļ̢ӭņۆÅڰ̊ŵjдȦęΤȐ˺࢈ڂȑϐۘ¨ЦҪ۶}Ӕજ׆ƱçԬ̎ƸÛ͈ӮÚˮӵξȧ|ٟۙߓۭijঽࢲƔȨޛՐǍʓۣز́ζƷ؞ʔ~յdẕӓȗ"],
- encodeOffsets: [
- [101933, 20672]
- ]
- }
- }, {
- type: "Feature",
- id: "MNE",
- properties: {
- name: "Montenegro"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÁǀηЯÊˋǫÞɽ˞εǖĢƜŬҦ˚ȜƾüɠƟŬśˠě͌ǧçïƽȋɧó"],
- encodeOffsets: [
- [20277, 43521]
- ]
- }
- }, {
- type: "Feature",
- id: "MNG",
- properties: {
- name: "Mongolia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࢮƢ྄ܤ౬Єܴʳ࢚]֘Ͻ࠼ௐɁࠈגͿӶࢊࢊशނįনɍLjؿஜΛߐƺਫ਼ŌࡆōࠖЗԚѕެTƋޜȼૈƒ௸פԌĝѰ˭ৌêХهק࠽ɐ΅ӈńࠤŽ٦̴ڬˏހוğ̗ڏĦŏןʅ؝։͙࠷ѽࡹǞҿúѳէˎ͓ƌˣי˯҇গ̑ఽഫ̇এҋϋʾ৭AఓԜࠥŰૣśჃȊऑmӱԀϣޠԱĢ৩ԼଅŞুƞ̡θ͖চׅڲன̀۷Ѿəז"],
- encodeOffsets: [
- [89858, 50481]
- ]
- }
- }, {
- type: "Feature",
- id: "MOZ",
- properties: {
- name: "Mozambique"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@لæʁɖńגt̚ʦԌaऀ͜ڞӤƊϕ࠷ľ݅ಿƨЫʣ͙Եޏ͉ृСॉ͓ࣕƵוׯȗí׳ЌُǔӱZʣƪ¦{ࠗƋϷȤƝűΓΗ̗ۗ˳য়ҕρ̳ðΟɊÉíѵّRïϊůϖí̠ƬपɓװГஂࢬ॔ɜ؆ŶúĨӶƉʞغǐEѥ˒ЏÔǹȼϳǰ۫gÅ̼āװᢈۘӚЕɴüͨɅ¸͵ǯϷØסոԱʲζǰíઊΙ؈̣˖̅]ɽદɾٔ"],
- encodeOffsets: [
- [35390, -11796]
- ]
- }
- }, {
- type: "Feature",
- id: "MRT",
- properties: {
- name: "Mauritania"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@և־ԗؤ֍ɞГʚҵUЧǽйð˽ˏïҐɺаŀߊģࠨĵкČмɑЎѵδǾˬᾔMǃȴќ߀øᒸ᪂©FṖ౽cМ⋅М⋇ƤĻȇי⁙]ųȇ͕ÈӃǕוɼˉoƗӵ˯Ƶ"],
- encodeOffsets: [
- [-12462, 14968]
- ]
- }
- }, {
- type: "Feature",
- id: "MWI",
- properties: {
- name: "Malawi"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɽٓɾથ̆^̤˕Κ؇îઉεǯʱշԲ×עǰϸ·ͶͧɆɳûәЖѵɔʮޮ˄̈LJۢǚڼƞɪɉ܌Ѕϐ࠘ƽǜɵ˶Ϲɾଡ"],
- encodeOffsets: [
- [35390, -11796]
- ]
- }
- }, {
- type: "Feature",
- id: "MYS",
- properties: {
- name: "Malaysia"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@àћֈĶ˞ΈȘýӸԓΜ֛¶֣ęϡĆ˿Öӻ̒ɵͤݑe˳Éߑخښįђӟ֚ś̡۠ҜĠؔȃΤƤƮۈρ"],
- ["@@أ˹ܯƚॱ@̅ॗ͓̇љୟۅǵߑɾЕóөщ՛Òէǟַӆƕ֘˽ٮǀǜ܆άǂǺڔЬՐϦѥǮ˺В¸՜а٪אшڀͼHќыιֆɻ۬ʧÑ֝͡¥ƮЧ"]
- ],
- encodeOffsets: [
- [
- [103502, 6354]
- ],
- [
- [121466, 4586]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "NAM",
- properties: {
- name: "Namibia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@رٌؖ͡ȃࠊȷ،˯ಒmŅҞ͛ΌѡۜѳǽՆۃࠐ»٢КdžԊƞհ}ԄϝŶÐ₮ЕşیȒհµͨȍPéӁȍʭC՛͍ͣΎಕ̍س{ᲽࠣBយA᷋ݣѕҋÕՇDŽϗÔƗάͩɰГг"],
- encodeOffsets: [
- [16738, -29262]
- ]
- }
- }, {
- type: "Feature",
- id: "NCL",
- properties: {
- name: "New Caledonia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ېԵѨϭ͉ȫҥɪϚէѼ։פś˶β[Һ˹φ˷ˎɻ"],
- encodeOffsets: [
- [169759, -21585]
- ]
- }
- }, {
- type: "Feature",
- id: "NER",
- properties: {
- name: "Niger"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nּॹȐОҿպœϤâТբ̴̘ପðݜƄîԮҠ֘Eኬஈϒᝪ᮪ཾ೨αӀңר̸ȸಯ̾ɓ`ˋΔ˽ǻί͕ၻ«ધੳߋγૉΔ̵CեբmčЃʁµˋƻm֩ंȟځҷٱʔҍ¸ʏşӯ~ӷΧѓq৯ѢЉȵѓb̿͆ࡅ̼ࣗıɕǻşӗʋÍݣٗӚ̟E˭ʗ"],
- encodeOffsets: [
- [2207, 12227]
- ]
- }
- }, {
- type: "Feature",
- id: "NGA",
- properties: {
- name: "Nigeria"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࢍ̡͉¬͓ȉڥl҇Ղˡ؊שֆكYݍB¶തsǂՊʶʴТԴėɨǔȍӾ˪ÎݤʌͺŠӘɖǼࣘIJࡆ̻̀ͅєaЊȶৰѡєrӸΨӰ}ʐŠҎ·ٲʓڂҸȠ֪ँƼnͬͯğƱ«˧۽ٱɛՙšѧDZȉǝי҅ΉŽыȋÿΓֽ˱ҽΊ͇aԃӭʑQЍ߷ɍש"],
- encodeOffsets: [
- [8705, 4887]
- ]
- }
- }, {
- type: "Feature",
- id: "NIC",
- properties: {
- name: "Nicaragua"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̃ˆϽͺȁ˲Ο˄сϜĤžƒŵÚÒʾŀȔŬRkЮȠrǬOǺɤʜǝĒľƺIJ̊ɴbǦĄQňȪĖ|ƜŹǚȆńɄB̈ŌŜŖ˾iïă§ȉĐ̫ȗ˹ěͷυ®ɏtϙŹĉýΫÌɛǣɋ ɩźƏȩDZʛÈƓǦˉêȕʼnօɞųŇ"],
- encodeOffsets: [
- [-87769, 11355]
- ]
- }
- }, {
- type: "Feature",
- id: "NLD",
- properties: {
- name: "Netherlands"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ۦyǀ˳Ƚޓɇ́ԍ@ƘࢡҥȞՏπީǩ؛âѠɲ݀ఆଲΘ"],
- encodeOffsets: [
- [6220, 54795]
- ]
- }
- }, {
- type: "Feature",
- id: "NOR",
- properties: {
- name: "Norway"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@᥆ؙઍɣऄՅෛ͵ڵûלઃͰಫ˵Ы؝ߟωࣗȮ¥णѼԉɝԷūփནƊɝҵ߭Hևױझಫ̨˹̇ͫbձ¾՞э˥ধֻۧυӛ֝Ԫဋঁ૫ȟє̛ࣚˇޞզᕠ۶ဌࢂ୦፺ྴඦلᘼᇎπ൪౮ۢ໖ພǘ"],
- ["@@ም΅Ȝ׆ɐԕˎეǚͮ̿ொȍ"],
- ["@@᪖صᑟͥұأ݅ǁЍۡৣᅵԢނ̘ఽʐ࿕܂ٷڄᘎ̜Ң̋\\͊˼̋"],
- ["@@̏ఝҍı៙ƖƫɴஹdँϬᣴɼȫࡘʤᑺȽ"]
- ],
- encodeOffsets: [
- [
- [28842, 72894]
- ],
- [
- [25318, 79723]
- ],
- [
- [18690, 81615]
- ],
- [
- [26059, 82338]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "NPL",
- properties: {
- name: "Nepal"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÝαŌՕĩͩ۩aয়Ȟ٭ĂӛђଷŊયҼ߉Ю߿͆͜ՒϠΒȪڪʳࡔշҾť˰ЕٶǓۀσौȕঔć"],
- encodeOffsets: [
- [90236, 28546]
- ]
- }
- }, {
- type: "Feature",
- id: "NZL",
- properties: {
- name: "New Zealand"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@Ȓװ;ʐΡBΝ̹ϳչإїͷ̴З٭Yܗ̓ɣջӋࡗڇϓнʇޝlխˢࣱÐƗ̰Ҍذࠦժǀ͌ܜѰԎѦώظ͈ɆŰҶלϴȆΧ"],
- ["@@،ࢫlָϜɯŲًڰ˛֨ãӒ͎юĭȯݗʯӫٛjɡʭþαūƻͅҏзֹ٭ͯƟɘΕŨӞ۔˟ҨࣛͲz̦؈̌ƚ٨լͻ֜vƪБΎڋݔΗת̸àҚұٺɑʂݡ"]
- ],
- encodeOffsets: [
- [
- [177173, -41901]
- ],
- [
- [178803, -37024]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "OMN",
- properties: {
- name: "Oman"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ֹ̻ϟªǩȧƉэļ֗ÿĻϯFԽ̻ćХȓǯԹP͡ɃJͻПɷҩĂ֗˳ϱ³˝טٿ൴ᠾ࠾֖၂ϩתvʔΐFΆϞǒƩŞèմіHϖֵҸ̧؞ŋӼƳϜӕɨ˧̞ŃCȉ̩ԃƅɽΟˏ"],
- ["@@ʼnƳDž˺ʔ˺ľñā"]
- ],
- encodeOffsets: [
- [
- [60274, 21621]
- ],
- [
- [57745, 26518]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "PAK",
- properties: {
- name: "Pakistan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@تϻʞ٥൨ͻ߹۷ऩůౣȲЫα̖݁̈֩ڴгܑӟ`׳ࠃࡇՃ࢝ࢡউÚऑࢡռϗĪ٧ҾэǘܝᇛD֓֕؛Ɇʣ٭٘ǁിeஃŝ̈́ঊொѢéϰГƌw݊ߥφͷԔеѶඨѕࡀŲԈŅǞȂגóદΔҶӈشCĠɼٞŌ̴ý͢ʀ±ԌΦԖɆͥ֊ߜɴ̢͒мΜĩмȣΤӬμࣘǮ८ĮѐƺӨĦ"],
- encodeOffsets: [
- [76962, 38025]
- ]
- }
- }, {
- type: "Feature",
- id: "PAN",
- properties: {
- name: "Panama"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@˫ʎǵҒȺɢɅÎƿˤлɸοÁǝ̇ͻɁǽĉǩВҗɯŅŧŭϷ©ơԈŋƛˡ¸ǝ·ÈɓİέCǻĩŶªǖìǠƲŲIJǩŲK͘ö̠̝iDZͲĀæɴȵЮÔΨɄԜǞ˺ʤҬ·ĉҶ
ώơ˜ʧ̈́ɵĹūȜӵǁʟ˓ÒŅС"],
- encodeOffsets: [
- [-79750, 7398]
- ]
- }
- }, {
- type: "Feature",
- id: "PER",
- properties: {
- name: "Peru"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɥљћɋࡅӘñΈရࡊທࣾ٫ΏۜƐʎ܅ાࠣ༄ߍီ΅Ϥ˃ؤٷպױͼ˖ϒПߢʼךڢՎIJΓʇȧx̭ΎâͼĝΚщӆΌDŽ֤ԦܶৠͨࣸࢠʾմŝٔɢĂ֒ЉˎЅϴɏӶࢣضĿҨɞ̤ƣԎð٠Ͻթࡣʤoрҁݳ œųۍlj॥ֱÓϻɉ̇ČғԕʍBΡɛƵΔݳҲԝDZίµ͆҃ݐuېӸÇ౧ϢĩӄƠܪടǷ˵£ןg܍͟пƮ̵ȕ˯β۹Ջ࣡"],
- encodeOffsets: [
- [-71260, -18001]
- ]
- }
- }, {
- type: "Feature",
- id: "PHL",
- properties: {
- name: "Philippines"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@Đ֏ºҽ˹ޑ̫ࡨϽэˎإʉϿӦɿ؊ʰЎՑЈˁΑЃثҵƑʖ͢۾ՌʀҜ̈́̔ϝٔɰƎϒרv·ٰڼЋêхÐ̱"],
- ["@@̟ˡˁՍ˃ʝԫǦɤɂɾĢԸҨ¸Ɖ֣جߺāߡ"],
- ["@@ૣߕЬט؈ԎѰ࠲Ʈۅևҧѳֿ"],
- ["@@ԎʹBgΗϳΣՕʧϸÒєŽА"],
- ["@@ʀभ٫ɞj˭ȶԯЍȋעʧªƁԘӶãY͈ԣٜ߮mɴ̻"],
- ["@@ɟܩέоѓ٘ܚ̡̈"],
- ["@@ԮʉʶɖüɇƍΑ˼ɛۥӷ˥ƁڳȊڝѾġϊIJਾүăҙ˜ȫēϯٻЮ̵Ѵɍ̯ԊރůлȆ¨ΎˀɊʣȘŇ̡бӚűμߨͺˡĔೄ˜ހԘA"]
- ],
- encodeOffsets: [
- [
- [129410, 8617]
- ],
- [
- [126959, 10526]
- ],
- [
- [121349, 9540]
- ],
- [
- [124809, 12178]
- ],
- [
- [128515, 12455]
- ],
- [
- [124445, 13384]
- ],
- [
- [124234, 18949]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "PNG",
- properties: {
- name: "Papua New Guinea"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ɽčε͔ρՔǷ٘ŜĆĜʡʬȏРՑЈ˵ŝɽ"],
- ["@@ѯçƃɽҟȱћȟѽBۏʔӑɺêʺݬũҠàŶЖŦrĆѽӐÜʂ˼Ҹ̚ġӸԌfǜƏgү˯ԡ"],
- ["@@ݤտղࢻӖω٬ƛʥǁࣀΝġʏÏȷɔܟĦࡕŴٷ՚ӉҦѧ݀ભπ܇ʇԡˣńإڇ˿һƖࢅaᩒaᩒภ׃༊ӓׄїҴхŸӵඔԱȲѽޛěȄ֕"],
- ["@@ʿɡǁӸȝ͘ϝ˞ӍΪ؇ʚɺȮҒɻ˸ȁΜȫʹΛ͊ˏĶѧ"]
- ],
- encodeOffsets: [
- [
- [159622, -6983]
- ],
- [
- [155631, -5609]
- ],
- [
- [150725, -7565]
- ],
- [
- [156816, -4607]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "POL",
- properties: {
- name: "Poland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@·՜à̂ȹ̧҆̚ɺɤȝђָʘ಼ϴ˴࠼ƙÚȱ߸Yਚħ^њěȬʵωɸ͋KͯԋǡʸϳfϏцܻěɽзįރۥɒϗǿ¶ߙ͔šЇĒӹǵч̖Ήŕ³¼ϭаر¼ăˀֻĦűɑҗǨÀɴػòЉ˔"],
- encodeOffsets: [
- [15378, 52334]
- ]
- }
- }, {
- type: "Feature",
- id: "PRI",
- properties: {
- name: "Puerto Rico"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@јõưǕɋɃمLӫ·άŢŬیK"],
- encodeOffsets: [
- [-67873, 18960]
- ]
- }
- }, {
- type: "Feature",
- id: "PRK",
- properties: {
- name: "North Korea"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Şƥ͉ºη˵ʣ˷ѣȅƫƧ̓ʝ֓ƏηɥηįġͰƋӈσŧȭΧÇץ¡͝ϛϑÁùСdžĵƿʙéǀɑüɥƆɰφȤİõƶɆҒÅƎөĠЇɤۄբऒҌ־ЎˁܪſѺಚβͰҼժӹ"],
- encodeOffsets: [
- [133776, 43413]
- ]
- }
- }, {
- type: "Feature",
- id: "PRT",
- properties: {
- name: "Portugal"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̦Ɉ΄ŬɂЫӺDƞłӪɼуϱɩYٽƍūЇγçʹԋɵտ̄ʡřɫ̵̿ê˥ͷɓѷŠџġŸڂÿԬϓþȩ͈äռͰ̨ÒͼǪԎkΤǙ̠˲"],
- encodeOffsets: [
- [-9251, 42886]
- ]
- }
- }, {
- type: "Feature",
- id: "PRY",
- properties: {
- name: "Paraguay"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ͦtҌЖาʔޮ]їbʵʞҳÇଛࢲLJ΄ǐ֦ɩǀʣþޓİ͓̼̀ƌ̢ƳAҥŕӻǑӛƍݏށ١ړƇऻŸࡑɮࠢ౨ťψࡽ͢ਅبۉŸൌ"],
- encodeOffsets: [
- [-64189, -22783]
- ]
- }
- }, {
- type: "Feature",
- id: "QAT",
- properties: {
- name: "Qatar"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ÇؔɨѲɰĜʬˁdӯǽӳɵÑʫǖ"],
- encodeOffsets: [
- [52030, 25349]
- ]
- }
- }, {
- type: "Feature",
- id: "ROU",
- properties: {
- name: "Romania"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@δǶԴġՠGϸȳ˺źبĄɄȠΠ@ʰćʺʟˊΟӞԁρėΩưϥϒƹЂƊϠƟpɏПǹʯĀɻӳĖ̪ؑফțзɋ¬٥ƀ͙ÕʍΊƵƦȚƘȷŀ˃ȋөʔßΌԟȢĥˌҕͤڪǂԖ֮Њ֬ԢǮ"],
- encodeOffsets: [
- [23256, 49032]
- ]
- }
- }, {
- type: "Feature",
- id: "RUS",
- properties: {
- name: "Russia"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ࡌకˤԫ்ࠌࡳyוُԒսٱƻ۸ĤࠊħȚٌӯࠜôରަϮͭϴϐŠɔ։̆ߵuࠟΎࡑ"],
- ["@@]ਙĨȒτ˚ࢢƧψƃęɱäɉ"],
- ["@@֦Ƚțؐᗸű࠭λ൛ēsࠑͳǩ~ٗ̊ૣʖȉθƎॗʼnҗ̎Ǽ̸ȥϚЃӉΣ@„Ꮪٛᔺ࠳ïԷ"],
- ["@@ः©ƭˌੲΖ@ַ"],
- ["@@ળ»@ָň܈Eʉïŗࡽȩ"],
- ["@@ౡMႣĤƧ¬ߘͪੀþஞ͏ĸə"],
- ["@@ॿͩഉø༛ͨȪ˖༨ųᑔɗ"],
- ["@@ډرᶽzඃȣမղҎ׀ǂᕞᴬѽ"],
- ["@@ӹóᩣŊɟώູɦūҒǶ
Ҟသܒޙĺ፨݆ɩϢሤѺ᪪բǀ෴̸࿐Ŋאͩ֟ʻᲗзЏᤙߝఫࠍ߱Ǡۥྎۏ"],
- ["@@ɨгސȲឤYቈЧڬ̿ȽѧङʝᕅүفʟਬşఖɃݴDŽєաτɔഊƂ᧪ƑȴϽ↲ů´ٜᄼƥഄLബѷϮ՝ӹΙੌڋͿ߸ࢦഖϙɦྼʵؤʀൖşޮૐζ䢀ձܐӿᔲٛ₎DŽာƑ۪ĹؙਜʇǤvཚǑཪĢะݛਪˎڷ՞ϐώᧆɻფºᝂБ୲ν@”MKઇσઝÖݶҁԄەϲɧĮΏɑɝ༧Ǿمݛĭ౽ןԧ̱ϣயᔗڇϣ̸ߵΫ૱Ř˓ց߽ͻड़ȋőޭΫ۱Δαѕ̅ॡభȳʥேׂ̳έ௬ҵለИ܀ԆªϾರȊຊคࡺຢڢڮஆ৷ëԍۗᒉइۍਖᓧ˷ᑃටۚԧሙɕಝēÔ؊ಯŶЭᢵƠʟᨩủጝŁаՃࠄȅ՞оईÃௌऍ܍ځ࠽ë্ϛഉ్˯ׇଙଇॻթӹ૩ӱՉYՇФૻؙſ˩ŝƦKѐіxŦɛܚܞ̒৶Ʃ֢ࠈ˾ऄ͚̮Ѵݲ൷ʛܯͧ౧Dͻ߄হװหˎ̵ࠖ̉Ԫ̿βԯࡐ̲݇షʢuਯƱۛлҤȥXҩұˑݷࢻRσஅՍ̈́োéѯˮԋĞ௷ףેƑޛȻੑƌޫSԙіࠕИࡅŎŋߏƹΜLJـধɎށİवΎࢉࢉӵࠇבɂ࠻֗Ͼ࢙^ܳʴ౫Ѓྃܣࢭơ͡çѽԤઍőΧΦחnjЙӠҩưிɍୃӜ҃ѯሟᒒੵٮ̮˂ᑋߍ߭³êҞઅ˺࢙ȱ˃ࢊມǺݯΑᑅ̳Чȹḭ̇ϫ˻؆ֹ߭ɓǀɭ߭ХസֿɁЉʓʟѦ೯iࢻΟহͼᇡಽsჃࣳĿؗࡹӤڡउʖǡӝُ܊֫ذx՚֗ďѝѐƋϥӽ߿Ƒ࠳ࢁކߕĉ֣ࣼফԇƝɇωÌֿԚɿՅȚʳΈǮԙƁƥƼଥЖఅƌ܃ƞĹıੱ܂य़̈́ܩӴؒƈۤ۰ҹͪఌ΄uȀݯƉώѠɼÖƄ˪ȅҪѰWʚఉ˚ӭUԯЀ١ƃ੩̐lǒ̗θڟ¤éʼɀǞ՝ӈࢋąʭ¦Ƀȑ̽ȷ՞ȟ˨NJĀڴ͞Ȁʍɢ֥ƪ¼ƲƴՃվǸɨĉЂࠑȨѱijšȼࢭɂˑӸíТЙȖάˊʝװӞųƤक़ҬࢡЎᅢ੶ޮӠ͂єగּΆնݳش֢ܜग़ޢي౿֔ŬךڶüොͶࢀ̈൦ԕᘨȧṺो٤ЋÆ֓टѳ൏ɡ⏷ٔ؟Ńൌ؛ÂϵÆઌʯڂɓňРԑΰ͈᎖Թ۾Ȳ֣ዦࠖޢµ̋Ӫ׀۫ԄЪԊءԶᚠˑӔҹĻNҳڌ˽ಜǼȶ՚ჶАᰪܞي£ࠣԙਬĕ˼༾xఢΐफ़ԏॖࢡӢѪˤ២ʫʿᴾॣ֚ѰࡡѺ{ǴৣĈˢЌ҅ټ}ː༄ݾրކزǒᕮɛǬұߕڽԺˋ˒חȏଵऒԧέ֕०ŭ̢ͮऎɎɞжܮЎөӌϼֈࣿêȫҲڢࡈણۆຒ֦șװмnѴүͧ߷࣐Ƶϥඤͦლ¬༈ӏݛ۪ċࣆศǞᆘŌہѮংւॲx࿎иᕠŐ˪ɲᕂþیȋሴҀaɶδߤΨጤΈ˗ଥȷበŹ"],
- ["@@ⵙ͕ໞીےĦقÃᒈӋʟͿ"],
- ["@@૽ōݱÛśƏঙƑ࣫ȦӐʾል~ƶ౨XǢɧӘȬߊƐఞǿ͗ŷ"],
- ["@@ᆳĿᚉʎඅ͎٣ǔᔆָᆎȎ࿌чኬȹݯ"]
- ],
- encodeOffsets: [
- [
- [147096, 51966]
- ],
- [
- [23277, 55632]
- ],
- [
- [-179214, 68183]
- ],
- [
- [184320, 72533]
- ],
- [
- [-182982, 72595]
- ],
- [
- [147051, 74970]
- ],
- [
- [154350, 76887]
- ],
- [
- [148569, 77377]
- ],
- [
- [58917, 72418]
- ],
- [
- [109538, 78822]
- ],
- [
- [107598, 80187]
- ],
- [
- [52364, 82481]
- ],
- [
- [102339, 80775]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "RWA",
- properties: {
- name: "Rwanda"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ͬӃµӵʏŁѿÆʱӍԛàþҠŘÞԄʎɺȰďԈʸ"],
- encodeOffsets: [
- [31150, -1161]
- ]
- }
- }, {
- type: "Feature",
- id: "ESH",
- properties: {
- name: "Western Sahara"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@oҊŸ@@ÉeNjEౝ᪁ªᒷ÷ȳћDŽ்ᾓNǽ˫bCቆäĶ̢ΆϘˤୌୠЂˀÖ˜ټۺĜ̦ʼnϢ@˔ȒԲ"],
- encodeOffsets: [
- [-9005, 27772]
- ]
- }
- }, {
- type: "Feature",
- id: "SAU",
- properties: {
- name: "Saudi Arabia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ʼnΪʩʨÝͲѡ̞҃۴ʁۆׇ׀ϑƐߠīאӾӕञϿ͠ґǨˡӖ°ȎɹѦʕȊ͝زԟڴѓ־лIžҦ̌ļͲनƅζʶȪ̢ٚŚƒˮˤƜ࠷ࡀ၆фdžŴৢɩబיᛎၕ༠ãݠąȾЏתv͠ܥаȓƠִ̏Λ¼ċ˩ł˯ʎɽŐ˟ŲȵʬǕɶÒdž͍ș࡙͐ᡌщǞDzϪש֕၁ᠽ࠽ᝑ͑ϙࢥϹƕɁˬ͏§ĎƷČॹmɫùΉɔɝЭĒΟρˋ"],
- encodeOffsets: [
- [43807, 16741]
- ]
- }
- }, {
- type: "Feature",
- id: "SDN",
- properties: {
- name: "Sudan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@śhdмĵ̀џͨĵĶبϳÌÍȇԍ©Ȭʕðԍңңлџđ۹Ӫͅǥđʓџǃ
ǥ࠵@řǦ̡ƝɳîѝӬƟɲŗɱϵɏݣ˿ǁʳğå ̅ʎÃʼƌΔE΄ӛՀĩάZȰ̱ʜUӦǭ͖̍µĎ̰ɒΖħΐˢʴǫȞɞϨئܦÏ¥ ZΚॲH@း@Ὂ@ῼ@˔ࠗȁƳŪࡻ্̰͌ȷҠ̳ыӑأƏ˅ʳĉ֑αĚͳƅܟͿࠟԓзέٛčЉɽʝ࢟Dij"],
- encodeOffsets: [
- [34779, 9692]
- ]
- }
- }, {
- type: "Feature",
- id: "SDS",
- properties: {
- name: "South Sudan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Xٽűʯѿq˷ӏԨÑюХƨͳϦșӼࣳ֫օԫԇԫϭסFگȟՕȊɭ݉ȥάҵDZϱÆɣƕϗĸԗۚƉˊعͪɅԌΕζ֟ѬS˘ҡͼ֯͠ʴĠ̀ǂɐݤɲ϶ŘƠɱўӫɴí̢ƞ
Śǥ࠶@ǦѠDŽĒʔ͆ǦۺөѠĒм؆ҤҤïԎȫʖԎªÎȈϴËĵاĶѠͧĶ˿cлŜg"],
- encodeOffsets: [
- [34779, 9692]
- ]
- }
- }, {
- type: "Feature",
- id: "SEN",
- properties: {
- name: "Senegal"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ٺн̚φDŽРמȦќ˾ːкïШǾҶVДʙ֎ɝԘأֈֽԹǔӓ̾ɿî͗ʽŧ³қâÙģȃkȲЛV༇ɥħ˥ѻƋƏ٢ވkȬŞƮR̸ȘήǯκcζȌǝʐˡƙʻJͧȸˉ_ȍȥࣵy"],
- encodeOffsets: [
- [-17114, 13922]
- ]
- }
- }, {
- type: "Feature",
- id: "SLB",
- properties: {
- name: "Solomon Islands"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ɾ˿חN͉ԬԈȯǜ"],
- ["@@͝mԧĎǫżÀͮֈƁ˜ǭƎə"],
- ["@@ųƹحܰǫԈ˺@̠ڥʹЗ"],
- ["@@ǛڅΦҟ̠̿˪ŰĐϮȫېϭȢˉ"],
- ["@@Ǘ³οȒ·Ί¨ƖԈΡͰ˛"]
- ],
- encodeOffsets: [
- [
- [166010, -10734]
- ],
- [
- [164713, -10109]
- ],
- [
- [165561, -9830]
- ],
- [
- [163713, -8537]
- ],
- [
- [161320, -7524]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "SLE",
- properties: {
- name: "Sierra Leone"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɧØͺѩ҈Ƨ̬Ĺت҆τĬɺƞǸɶpȜǂڦCɺ̛ǼΛʓƈɗṶɴ´ϹϹϛҗ«ʓȩˏ"],
- encodeOffsets: [
- [-11713, 6949]
- ]
- }
- }, {
- type: "Feature",
- id: "SLV",
- properties: {
- name: "El Salvador"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ġȡӡ^̡ĄǘұÀʃǶ~Ů˾ɄǀĢ«IJȠ¾ʜëǸǙʪƇœτĴǤÑŘĝÏͳ"],
- encodeOffsets: [
- [-89900, 13706]
- ]
- }
- }, {
- type: "Feature",
- id: "-99",
- properties: {
- name: "Somaliland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ϛԩד۫۹Mᩧা͍̜̳К̳ҨǾ̖̲҈˚ƹǒΏϜΗкGߊɌࣴĴʼиÆ̚ƶӎKaEAࡑ@ѫ"],
- encodeOffsets: [
- [50113, 9679]
- ]
- }
- }, {
- type: "Feature",
- id: "SOM",
- properties: {
- name: "Somalia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ѼĎЊ˾͈FpɵýӧHѳǯ̣ʁࣥЙयԱܝ௷ܓवধࡁڹషٕँৱȗѷȍȣӽۚWᵤܾ॒ɰˆբfݠפબᛜᡄה۬ϜԪ@ѬBࡒFΌLbːhϰŰ"],
- encodeOffsets: [
- [50923, 11857]
- ]
- }
- }, {
- type: "Feature",
- id: "SRB",
- properties: {
- name: "Republic of Serbia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ԠȡàӪʓ˄ȌȸĿșƗƶƥȷȏø̫Тγ͋ʿƗˋĞijƑšϳa˹µØĴĴĦȴšKǍƼƑ ŋƆƽÀšŠƯ±ś˧ȩÑèð͋Ǩ˟ĜūŜɟƠȢŬЄЛ͔ɀτ̥Ë͔́ˉʈȱ͘٢ɚԾҖͣĦˋ"],
- encodeOffsets: [
- [21376, 46507]
- ]
- }
- }, {
- type: "Feature",
- id: "SUR",
- properties: {
- name: "Suriname"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ǙĞưڶÔࣚɥѩܟâֹͤӽƥίóϩɉΛӓDzЇđöčʏƘǗ÷ǡҙèԡܴōӄˏBωؐƺѠ¯ȤԜɖƈݲ"],
- encodeOffsets: [
- [-58518, 6117]
- ]
- }
- }, {
- type: "Feature",
- id: "SVK",
- properties: {
- name: "Slovakia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@´»ΊŖш̕ӺǶЈđŢߚ͓ɷɓǏdzđ࣑ʮ˟»ȟȡЁĿěÄХŽͭ}ãǙ۷Ļ̱ĠёɌċ̆äńŢȂόa˺ĔxþLj¢ÆȒȖžưʢD"],
- encodeOffsets: [
- [19306, 50685]
- ]
- }
- }, {
- type: "Feature",
- id: "SVN",
- properties: {
- name: "Slovenia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ۜÝъȐܾtLjƘƘUǎ˳ڝɟć̇đHɻͣh˷ƎƷƙבȈúȫΨĞа"],
- encodeOffsets: [
- [14138, 47626]
- ]
- }
- }, {
- type: "Feature",
- id: "SWE",
- properties: {
- name: "Sweden"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࠁוƀԥڭྱܡؓஃײףߦүޗॅȝ͍තӋ৳ĆӅڗঃˉߐ۳॔ٓஐφӜּۨ˦ন՝ю½ૠղ߀࠰ä̧ͬ˺ಬஂࡀञֈײ߮GɞҶཔƉŬքԸ૪Щ಼ֱv˴͛ฃʃ"],
- encodeOffsets: [
- [22716, 67302]
- ]
- }
- }, {
- type: "Feature",
- id: "SWZ",
- properties: {
- name: "Swaziland"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ǡύӭěԅҖS̄ɰ̀ĂʔʐÒшƵŰϕðω"],
- encodeOffsets: [
- [32842, -27375]
- ]
- }
- }, {
- type: "Feature",
- id: "SYR",
- properties: {
- name: "Syria"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ࣅऩͬgNŖŶ_ΈȸҠҜ̈́Əͤϗ¨ÿٞȶΌɤȀɤȀ°Ҹ˞Ǐऎɺ҂ƿۖFॴ̀Ґaक़žїԽҡȹĂؗͅ৫ᇵ"],
- encodeOffsets: [
- [39724, 34180]
- ]
- }
- }, {
- type: "Feature",
- id: "TCD",
- properties: {
- name: "Chad"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĎЄաnDզΓ̶δੴߌ¬ન͖ၼǼΰΓ˾_ˌ̽ɔȷರࡔҠ…ྑ…ྏ¦ ܥÐϧإɝԯǬȝˡʳĨΏɑΕč̯̎¶Ǯ͕Vӥ̲ʛYȯՏƛэͽ؉ࣹ߅ϳ߹¾ʁûĊ̏ѫ̋Σ͟͏ȽȐƓhƹɍۛÙƀɪ˅ׄşΐλƜӷӪǼІϦċʂÐҸSқކÉͭՠ"],
- encodeOffsets: [
- [14844, 13169]
- ]
- }
- }, {
- type: "Feature",
- id: "TGO",
- properties: {
- name: "Togo"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ڱdzȇ̎ɡՔãкȆݴɁ̬ăڎD؎ΕѠÖˀ݂kŅѵʲʝ̈̋ЭǜǥኝȺׅ"],
- encodeOffsets: [
- [1911, 6290]
- ]
- }
- }, {
- type: "Feature",
- id: "THA",
- properties: {
- name: "Thailand"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ݭϬܗeŬڈ݉Káऋґ௯˙ݏÌ؋նދưܭҶӓԚĭѤѧ˝·ևĵßќۇςƣƭͧ͒ƝжҁӄПЌƏӳǃҲĠԾʚ߬ТࡸҤ͟ތ`϶ĩҸ֕ښȩф̄ƺ̮ܶ·ֆՓؘН݆ΠƴϦࣦצӬθӔȘθʷ´ԍ֨ȷࢭpݫࢰԆʤƧӰzǜَ̊ÍٖڽÀࠥںܷ܅˙ϛŦગDž՟ۧȤ১"],
- encodeOffsets: [
- [105047, 12480]
- ]
- }
- }, {
- type: "Feature",
- id: "TJK",
- properties: {
- name: "Tajikistan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̭ʷࣳƖāӛ࣬Þਢ˗འŶɈާˠĐԜȓ͛ŴӍࡿBׁØԻϕύĉ̉ǯͩˠþ۸ʩ¢ĞʲғȐα̇ėŻūԇj˕ϩ˯nj؋ˑʱĺӀࡘǹض؟ȨɔφۮЌҬˌբȜǩϵŤɹΎv"],
- encodeOffsets: [
- [72719, 41211]
- ]
- }
- }, {
- type: "Feature",
- id: "TKM",
- properties: {
- name: "Turkmenistan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ñۼطॣݔڣĠगюׯþσƽ֙|ׯӓ݇NjƻרŪ࢞ٽ˶Ɏֺ֏¸Ȇ۾ߊȵ݈ˎؓԎʉӔڱɋď؛ʿհψ˨ॖǪ֨ɻךڅњ¤ॆ\\Əцܖ̂۾ӦଆѹĜڡ͐ǣࣦˮƳаࡽ०ׇոЃ࢞ЩΫwԥʩЅɤſ̙۽NjǙڥӁʭڏŵǫϟهŏࡩ͈"],
- encodeOffsets: [
- [62680, 36506]
- ]
- }
- }, {
- type: "Feature",
- id: "TLS",
- properties: {
- name: "East Timor"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@IJȤܢȌזˀŀ͆Ľ̯ɫο۳ʋeʬďǔ"],
- encodeOffsets: [
- [127968, -9106]
- ]
- }
- }, {
- type: "Feature",
- id: "TTO",
- properties: {
- name: "Trinidad and Tobago"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ӚŊǮصۭġƯúʒɲiͪ"],
- encodeOffsets: [
- [-63160, 11019]
- ]
- }
- }, {
- type: "Feature",
- id: "TUN",
- properties: {
- name: "Tunisia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ΩພԭͺQȰۉԄóنԮҶȢۚƃߠǠќࣶͺךĵ}ы܊̲ÒljпЫMϱ̆ȽōܫփхDŽқѤaɄЍ͊ſ³٥Хʋʵˏֽ͓ĘΑïΟЧț"],
- encodeOffsets: [
- [9710, 31035]
- ]
- }
- }, {
- type: "Feature",
- id: "TUR",
- properties: {
- name: "Turkey"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@͗ঐżܤõলѬࣆ¢ߴЭƜ̑ăУزȻͨʕֻʇˀ५ǏʻҠڧЕƙ̏ɊňίŽॗŽҏbॳ̿ەEҁǀऍɹ˝ǐ¯ҷɣǿɣǿ̱Ϡ͈͂ԟí۱ȖֿәౣĥڹҊࣟȗΑׇij҄ࣻeӽ࠶ؗҰЦٸՓВठߨಒΜྀٔŏհʄർlุף"],
- ["@@۫ҏ˃Ϻ\\ǦȦĦʺՂХɞࡦ˄ܤőĴ͓ܼ˓Ƶȵি±Ωʷ"]
- ],
- encodeOffsets: [
- [
- [37800, 42328]
- ],
- [
- [27845, 41668]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "TZA",
- properties: {
- name: "United Republic of Tanzania"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƚġᵂႋÌӣϱਙ¸Ӊՠ̩~ɓɳԓ¶ʭÇГ̌Ճΐ̰ࠡǿڝӣࣿ͛ԋb̙ʥבsɕŃঢ়ʂكåɽଢ˵ϺǛɶࠗƾӉʨՕƘͯƘΗɈґӣҺǗӤČѨƯޞΎ ̨̦͜ѬȺǮS˘ǷȐ·ͨʐł¶Ӷͫӄ̎Ķऄ[ႎà"],
- encodeOffsets: [
- [34718, -972]
- ]
- }
- }, {
- type: "Feature",
- id: "UGA",
- properties: {
- name: "Uganda"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ः\\̍ĵԇʷȯĐPوȜ͎²ڬǰϸ͎Ѭ͔ɠ˒̘͵Ŗ¼চΌɮՖȉڰȠעEԬϮЊİсτ९̧ؓЯʉͽTࢹႍß"],
- encodeOffsets: [
- [32631, -1052]
- ]
- }
- }, {
- type: "Feature",
- id: "UKR",
- properties: {
- name: "Ukraine"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@̾ɄȒʮ¥ࢌĆ՞Ӈȿǝêʻڠ£̘ηkǑ੪̏٢ƄϿӮVఊ˙XʙͿѯȆҩƃ˩Õџɻύڡã֑˕«ܣ̻¸ԹЪȭࡨ¼Ǐ̛ँơଛӟұǠȄЂࣽʘƨLjߪ˪ʑȔಯɆË̼ީĻ̷ҧٱةϟƠЁƉϑƺɂĞƦ˾ɲˎÑƮǬäĊśӸ{ɞØƽĎÐŲ̉ɈŧΘ̩ƐÒ˶ϝɦΉأʾ֑ĉȧŭΟ@Ƀȟاă˹ŹϷȴ՟HԳĢγǵÍɤұɮǐͺɸɔȀµɑϘބۦиİĜɾхܼДҢɪٲnࡖßबȫڎi͂ŧ̀Ʀɚȝݸ¢ͮąÄцʶȂܞº"],
- encodeOffsets: [
- [32549, 53353]
- ]
- }
- }, {
- type: "Feature",
- id: "URY",
- properties: {
- name: "Uruguay"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ղĚࡆٯ̺|ࡺ՟ڈҫӠֱχЉɸӇεՇॉұاǚғěޥΰ֫ԟҬÞլǾȈS࠸ɤࡺȾڦ"],
- encodeOffsets: [
- [-59008, -30941]
- ]
- }
- }, {
- type: "Feature",
- id: "USA",
- properties: {
- name: "United States of America"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ũƕȽŤ|ɾƓ̨¦ĤƤƎÍǔ¸þÜe͐ƙƬñƌőɊ̍q¯͟ǵˏſ"],
- ["@@˭ÑƟǮīèQÀĈî̘āɘŹëĵ"],
- ["@@ĝ҉|Úĸа"],
- ["@@µÓŻŃȒɤŚêÃʐ˥"],
- ["@@ıĉ˱ƴªÖŸĈȘijȝ"],
- ["@@Ƭңʼƛז½ƅࠂʹڼŊਖɓ˞Tݨʄ߂̧ࠒ͗ں˩ٶˏĈəȢĉ½ĉɦǎĔ¦ȣǜƅɴ@ŬĹĽƫЁǶށǚܳʗӹЁҥȁ̍mēĦť˸Ɓɂ@ঊ҆ࡾƀસмfĐ÷ʰƉǒϜƆࠜHޘAˎ͞ŀàࢶϜƸ౦NBĎȺː¦Φž̖Ϣʲٺٚي˨ə֜ƜώʏAଧռӅƢ˝࣋Пࡷ̃ࢱʝѻӿƛȋSѽˤѽΒsė̬ʦȇãʇ֥ƋЗhةƥλ¥ӥ¥۫ʏఀǂʠǃ୳ʥC|ĺʭɷʚǹؑ٧×Ɏȁª˟ɀǪҍȼƭ^ͅˏ͛ҿڡûʺֲѕ͎įۦljεǴՑևƀׂ˓ߛʊÍĖ̃ŠࡁՕدࢇʝցӱнÁэ̱ţ˭इձӁЍЅӽŻׯƪˬܗώשLεЊঅ֥͛ȿԡʣŃЯĺƁς͋ȖѻܢϹٞű͢ǤɽҦٻ۲͟źࡑϡƭ¦СϼՃȺोŁݗĤٙÍΏſƲɟaͽǴǓLJō̵Ů́ǃ؍طѺܻĿ؏ȚԹÏۻȝއح࠳γҝБȕϗUׅ¨ЕDŽ˹͝{ȂٽʺɽЄȁטӷӐ̃ӰуֺףͲۉgՉڑۣʦѡʪȽҦ˧Ѯӿτїˈ̩̖ป@Cڗ@ဩOቿפТĀǒ੩ĝॕÝƙіխӚϻĴğʌһ¦̝ɪޭĊɉƌĹҢࠁࡊ۩ୠȚχˤٯ۴řۆ҃ҞȀۢ
ܜˍ٢͠ߊĸނĺނƱૼˇܘʓ϶ĸǐ˷҂ߋȺɜƇې˷ێᛸ@᠂@ࠜ@ᢢ@៚@ᡀ@ᡄ@᭰@ᮞBაAF͔˴J"],
- ["@@࠽͋ѕɐŽЀބ̘҆ŸÉΤʻܫЍ"],
- ["@@ԧŽսƾԛɮࠦƞښùĂ͑"],
- ["@@DžԾĒڸɛ࠲őéĝُDZٕǾ͋Ʋݍµȧôº̈́"],
- ["@@؊ϛώnjහ»¹ȕ౾ƛࡨČᄚ˅ྤā٨ʼn૦Ǝౢʧࣲŝ@@MᷱIⷍࠠ{ࠌɵהρݜցࠈҺࡈ˖Ҁѡ֤·ޒϙՂय़ේxՋұЙҥ͂ݍˌʃܺએںҍߎ߯ÄrটʌࢎߩDŽ̜íϬৃΨटǯǦҫÁঁǫ݉˱झdzťӶϚࠚࣀʶɱɂੱҵֵ֑ױؚСߏࣗΗࡁʱȻωಽѡ˅ϿছΫֽÞɻ˹ۧ˫ʉſƘऀϾࠔʸࣆҠਬĨвΈԊȈǚب̒ƢْђӸॹʫ˓Ơҕ̧շюɧ̝̽мͳԩBïԄƲ̮ե̚થLJ܁ЀַȬIӈ٩Ϊ͘ӘۆҸ̚њںÖ־ƇڴМ؎ï٘ʼƻϨҹưج͖ԩWࢻǽʯȃڏȄஏĥ௷ȬΛӦΘመШ۔@ŕнᄢڽԶਕ͌ױр߫ΨଽˈҺѲਗ਼ϦȨФЎࠊĪཪώޜÉಐ҄ౚǭ"]
- ],
- encodeOffsets: [
- [
- [-159275, 19542]
- ],
- [
- [-159825, 21140]
- ],
- [
- [-160520, 21686]
- ],
- [
- [-161436, 21834]
- ],
- [
- [-163169, 22510]
- ],
- [
- [-97093, 50575]
- ],
- [
- [-156678, 58487]
- ],
- [
- [-169553, 61348]
- ],
- [
- [-175853, 65314]
- ],
- [
- [-158789, 72856]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "UZB",
- properties: {
- name: "Uzbekistan"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@xԦૣά࢝ЪշЄ॥Яࡾ˭ƴࣥ͏ǤěڢଅѺ۽ӥܕ́Ɛхॅ[ᶾᓘӺƾïದیͅߤݵঢŪàؗÙࡅЦMǢۍ੬ɲЉ̺LπהӖƺʠĉ۵խئ́ײȾ়ѷٕĊuţɺǪ϶૱țˋաЋҫۭ ɓυؠȧǺصҿࡗهǰҳN"],
- encodeOffsets: [
- [68116, 38260]
- ]
- }
- }, {
- type: "Feature",
- id: "VEN",
- properties: {
- name: "Venezuela"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@yȣӱĭ˜ϡYѭυӥ͆ڙδÆȌ؈ʻ̒§َਸ਼řІ̎ˆ̞ןל_մҵ˧ݮQ࣌ĔӖϕٞĻҼʾXɄਨ¼\\܉ʛ˼Їڦ×ِЯƆڧѬn͢ȣڕӱó̫˾̷ȽƽԫƉjϱɫɱّ֪Őʁ̭͍ऱ̽Žʏȣڛɀثņƿýϔɑ֝ŜՉ܆ï°ǭʅĭΣΉƏسȝNjʱٷÅҧѼʯ࠺ɟ̧̌Ȅюм
ȊʅʠǛ֒àȈ˰ƲҎ̓Ơӏĩ®ͻęסܢӥńઉăȧ̊ȷêǬĴ̶áͺȃȂŅϮѡÈɸӮĺʔ̸͘ʌɈрդƖ"],
- encodeOffsets: [
- [-73043, 12059]
- ]
- }
- }, {
- type: "Feature",
- id: "VNM",
- properties: {
- name: "Vietnam"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@૭ܗ۫ߍȁ٠ࢭળނԱԞګϪ།ŕ๓۫փ१եۇ۫ޱ̧ՠʀ֬دӌܬࢦÔσԚප٨ļț֖ƶࡀɃצٍאՋۥԊʊ̠՞ɘ͙ܺਙPϕކӭڐҊȴڢIࠈĬܒ҄К̿ސƵƃӛАͿࡎɓ"],
- encodeOffsets: [
- [110644, 22070]
- ]
- }
- }, {
- type: "Feature",
- id: "VUT",
- properties: {
- name: "Vanuatu"
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ˣō˭ςɤՆӗ"],
- ["@@ƌڱɥŀǩťɴi٢Дʵ"]
- ],
- encodeOffsets: [
- [
- [171874, -16861]
- ],
- [
- [171119, -15292]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "PSE",
- properties: {
- name: "West Bank"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@ԣŭʙЃŕɜɌŚɁĦǬ̤֔ś"],
- encodeOffsets: [
- [36399, 33172]
- ]
- }
- }, {
- type: "Feature",
- id: "YEM",
- properties: {
- name: "Yemen"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@؉ɥNjύo˹࠷Οഇϻݩףυ±ʥºӭΑlj۷©ɃµǿɛəÕŻɇеlˍœ¨ɓӬzҠƍʜǑتʋΊǚ¤đϨĸNJξςˌđΠɞЮΊɓɬúॺnƸċč͐¨ɂ˫ϺƖࢦϚᝒ͒ڀ൳˞ח"],
- encodeOffsets: [
- [54384, 17051]
- ]
- }
- }, {
- type: "Feature",
- id: "ZAF",
- properties: {
- name: "South Africa"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ǏŧΣяɻћӇोࢁףԋًϣ࢛͙ѓ«ŇɷԛŰеDž࣫NJԙĹΏ¬ࡿͩܓƃԱͅϡoΣ̚˳fαϒśŏɦLӰ˙֞˔ƴs٤սх܈AFતДдͪɯƘΫϘÓՈǃҌÖݤіB᷌ɨűӾߙûԟȈ̏ĒрϒЊʨȶДЦȚΠķВɽۂ£՞ȜĐʾƨДҚäʨ͂˪֔ݮغஒؤUОƛ˲Ķ҂ċДɔׯƫऩî̟чƶʏÑāʓɯ̿T̃ԆҕӮĜǢώْQȿؑıۥɑϛֵщ", "@@νʶϻǟҕ҃͡Տـ٧̜ČƺˎҴƀƜ˜ʴФ̅ʪ"],
- encodeOffsets: [
- [32278, -29959],
- [29674, -29650]
- ]
- }
- }, {
- type: "Feature",
- id: "ZMB",
- properties: {
- name: "Zambia"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ІϏɊ܋ƝɩǙڻLjۡ˃̇ʭޭѶɓᢇۗĂׯٍřӍͯĹ̛̅ßܵۓҭխ˳o˗ĬऱĠƯÚOêͧȎկ¶ۋȑչԾ֣یᦶშYí̂Ű̀ƧЀĪТėʺ̂q¶ʽϾrՖûˬϡڨŝԤˆȌѯ٠ş̴ΧΈҥ٠Që࣠ɱƳח͞ɧƬļࡈƬসȉψʈ՚ɤĶƚͦđΘɇͰƗՖƗӊʧ"],
- encodeOffsets: [
- [33546, -9452]
- ]
- }
- }, {
- type: "Feature",
- id: "ZWE",
- properties: {
- name: "Zimbabwe"
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ҁČ˱ĵНƜVՙϞٯźʙՒC̒έĞ्ई˃ӢǛƮ͓ڤलğ˘ī˴pҮծܶ۔̜àĺ̆ӎͰَŚÆ̻۬hϴǯǺȻАÓѦˑFǏعƊʝħӵŵùɛࢫ॓"],
- encodeOffsets: [
- [31941, -22785]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/xiang_gang_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "8100",
- properties: {
- name: "香港",
- cp: [114.2784, 22.3057],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@}ScTʟ@cWuJÁ]l¦RLj¼BĄà H@TOHCTDDDHDNAT@PEHDDNJLX@BABALHFF@DKHADBBLDHHFBLEJB@GDBBFBADDB@@KFAFBBJJA@BB@@FFDDADFF@FADDDBJC@AFBD@@DDD@DAA@D@DB@DHHBFJBBFEHDFAN@DGDC@DLCBDDCFDlAFBFCBEF@BC@GDAB@FD@DZJX´HĐMja@Ý`p_PCZ@lLnRGSDMFK|a\\Y}§Mën"],
- encodeOffsets: [
- [117078, 22678]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/xin_jiang_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "6528",
- properties: {
- name: "巴音郭楞蒙古自治州",
- cp: [88.1653, 39.6002],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@ÈÒĊanwŎVȮ¦ͪŃĢÜōȂçČéƐżLɆóĊĊaʊٱ¯²Um»ˌmÈ»VʠţWÑůǓéôƑƒğÆīŎī@Ƿwô˺LÞ¯ƨVǪуĢȘV°wĢôk°¯ƒ»@Ȃ»ĸǔ@͔ôôLɆó̐ÝɜLɲōͪƨóŤK@ī@IU܃ÛmȻţǩÝ˹ÛljťǓǫō@Ɲ²¯VçōKͿŁΗÇţ»ƽɅƑLÓŏÅÅɱV@ÝĊU¯ÑĊĭÞLÞŎJ±̃XȣˌōlUȯŎKÆƅ°XÑܱnŗġV¯óaUƧUōŁÑ±çɲ¥lĉkğ°k¥nğţL¯ÝÝUƽĬlķ°@ōXÿݯV»ŹLʉÞɱŤĉó°ÝJ¦ÝKÝ£ţÜÈĉ@xǩUċƑ@ky͓¹`U²ĉVġ»ğa¯¥ť@ĉó@ŻÛÛJw¯nó¯ġWƽʩķÝɛwĉĕݼȭÞķō@ó£ÅƑ¯ôȯÞ¯ȰÆōèĉXǼó@ÝnºĸÞVƜĸȚUʶõˀĵĖɱŎÝĖVࢰӒѢ°˘nϚVˌÈmɼĵŦW¤öʊõʔ@°ÈXVènŎȁb¯ǫĉ±Èğ`ġwōÔğ»mVVÝ¥ó@ĸķô@bXĶmV²²`Þ_ɴbͪȰÞWĸÈŌmÞkɲÈUÆ»n¼ǬVķĸźô¯°n¦ɄÇÈ"],
- encodeOffsets: [
- [86986, 44534]
- ]
- }
- }, {
- type: "Feature",
- id: "6532",
- properties: {
- name: "和田地区",
- cp: [81.167, 36.9855],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƨ¥èź٨ΘƑᩄbUࢯÞĕɲōĶĕöʿVʵķșUƛÝķm¹Þô@È»ĊWŎçŰȯȰݰóƒÆͿĉ»̽çnmɱĵƧºóUƽ@±wóL¯°̻L±Æ¯Vƴķb¯VÇ¥ğ²Ǖbk¥ÇKlÅɱġ@ÑóK@ÇaÝXğţxĉČǫķê¯K@ÑaŹƑK¼¯VóaónġwóÞéUġbóĉğÇl¹aUóğKWVůnÇŋƑķnʇ»óxĉwçǰÅw°ċXób±kÈÇJm²ţx@ÒÝŦǺnó¼n°ÇbUÒ±¼XĸĠłƽXmwĉºzÈÜmnxmx²ĖmÒbnƧêUºĊêÆVóĖóUĉ¼ÅĬƑ°ɆƆŻŚlłÞL¼nĠ¼@ÞÞź@ŎÞ°VɄɴжϼِ͈Ŏ"],
- encodeOffsets: [
- [81293, 39764]
- ]
- }
- }, {
- type: "Feature",
- id: "6522",
- properties: {
- name: "哈密地区",
- cp: [93.7793, 42.9236],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WnŐÆĶL̦ţºźlxÅĸƽŚɄĮè@ô²ÞUĔƐńV°¯ĸX¦Ɛm̐bƒ»ɆaĢƐLˤȘÑnІljĸÿn¯ĶaŎ¯ĢĕȘ¯°la¯¥ǕǔwˤӱlťО̻nŻmɃĕċţUw°WUóƨÅţķ°ýV±óÅǓéʉ¯ƽŁéōǖȁÝƏůǕw˹ǫȗǓƧǕVýé@ĬţLƧôͩɱŎɛK̏ÞɅôóK@²@°ōŘ¼lŦ¯ŰóƜÛlV¼ķ¼°kȰŰĠǬŚÝŎmĖ`@ÇÜn"],
- encodeOffsets: [
- [93387, 44539]
- ]
- }
- }, {
- type: "Feature",
- id: "6529",
- properties: {
- name: "阿克苏地区",
- cp: [82.9797, 41.0229],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VÆxˌŎÞŎ°nȂÒ°²VĊ¯VğƾˍǬƨÞÞKÈÞĊVźôɆÞĢèŌôWȲŤVÞĸʶbl¯ôn_VÆĸlmÞnVź_ĸ¼ȮmǖéĸW°°ĸJkʠ¼Æw°¤ÈlxɆzČºĶI²ÆǔU°ô@Þ¦UnUĠ¼ŎÓĢxĠ_²ÇĊǬ°ȂamōçUÇW@¯öʓõʉX£ĶťnɻÇUˋmϙ¯˗ӑѡᩃaΗƒɜ°xWƴUxɃÒˣ¤ɅwğʉōóÝŹ±°ȗ@¯Æƒ²¼", "@@ōгwȁ¥Ƨ°ŹÑķV¼ÞêĊ»lĵm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘnIÇŃÛÝĊÑĠƏ"],
- encodeOffsets: [
- [80022, 41294],
- [83914, 41474]
- ]
- }
- }, {
- type: "Feature",
- id: "6543",
- properties: {
- name: "阿勒泰地区",
- cp: [88.2971, 47.0929],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ɲˣĊIÈ¥ÅU±Ċýkō°ĉƽó»ĶƽXóʵʵȯƑÅȁɅ¯ĉ@ÇሗK֛@@ˤV֜ʵрƒǬVĸƑŎ@ƆϯÑóķ@ʇ»ķ¦έmlÈĸĊX¼WźÛÞÝѸĢČþĀĊôάVö¼ĊUƨ°°èŎČUÜÆóôVôô²êȘlˌç°`n²ǬĊaÛ°±kğmm»@°ÝɆÛÅÇVaÝVm͔ğôÝÈb@n¯ÜUĢÑĊ@źīżWŤÈǖWôŁÆI²ÓƨL@ĊXmmÑÆ»ȰÑkĶō@ý°m¯"],
- encodeOffsets: [
- [92656, 48460]
- ]
- }
- }, {
- type: "Feature",
- id: "6531",
- properties: {
- name: "喀什地区",
- cp: [77.168, 37.8534],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Č@°ĠôÓô@Ŏĉ@Ƴĸ@Ť£ĢlVôWVóřXĉŤêÞ@ƐÒĢÑlèÈV@ĠIk°ÆŘ@ÈÈĀ@ǶťÒğ@@ÒĉlŻ_@ƧĖÅĬōÆ@bźÞnƒlVÝĬWƼʇÝÅ@ÇÅÈwWóĉ±ğzĬČƨÆÝIĉݯbÇÑĉ¯ʈV°xUŰĊ¤ƪ_ôÓɚI@lȚXȮŎlɴȘ¦ɲÆʈ_ɴźôÞʊŎĠɆxˤ£ɄÑVwXƳ¯wɛŹ٧çƧ¦ōُ͇еϻɃɳUݯ@ōÝŹ@Ý»mğ»ÝKkŁżřɅƅƒ¯ÆīĊ»ôVôĕÅUĉéV¹ƨémanѱĕnwmwnÇÛyĉ¹ŹlŏkĵèķmōÞġKñÔċKÅèĉzômxȗÿƿI@þÅČÝKݰ@¼ÈVº@ÅĢÆUċłnÝÆǕČĵJm£ÝJ¦@ĊxV°ƏLċ¼ǩ@m@ÅĢómÇÆğ¹ÇÆĖÞKxwô¦ÆÑÆL²ÆƾU±ŚÅŻĖ@ĬŤÈñ@ǔÇxÈǃ", "@@VÇţ°ğUĠ¯mk¯ó¥ķIġÿƏbĉa±ÒĸĀlKU_m»nwm@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁVé"],
- encodeOffsets: [
- [76624, 39196],
- [81507, 40877]
- ]
- }
- }, {
- type: "Feature",
- id: "6542",
- properties: {
- name: "塔城地区",
- cp: [86.6272, 45.8514],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ήnĸ¥ʈ¼ĸ@ôϰÒ@ƅƒōUķƑǫʶпU֛܃LګK@ĸ@Æ£ÞġÅĠċLVÝ»@Å»Ýnm¯»nŻĊ@nķŃ@¯ómóÛÝǟ¯aÝóȭ¥ōUmxĉbÇÑ@bUº¯X¯ÆƧbVÒĉnǕw¯°ƑVÇ@kx±UɱnÅK¯ƒĠǠU°ɜL@°xnĬĀŋŎÇLğϱÞέƜkôÅĀǕłĸĊŤUṴ̋¦ȂϰÜɨ°x@°żǠÆƈČVĠ»ČL°ÇbĊÑ̐óÞlĶwÞɆVÞwǬxǪţȼÜLŐĶˢ@", "@@óKĵĀV͈ĉłƾNJÆŤzXl°ÆL²¼źôÈĢǔ¦lô°ɜÞʊĠğÅm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI»ĉmğnaċƨbVğwġ¯@UōaĉÝJğÑÆŎkŎÞĀlź¦"],
- encodeOffsets: [
- [87593, 48184],
- [86884, 45760]
- ]
- }
- }, {
- type: "Feature",
- id: "6523",
- properties: {
- name: "昌吉回族自治州",
- cp: [89.6814, 44.4507],
- childNum: 7
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@መL@ȰĊȂɆƒÆĊ£ťôWÓɆbĢÅŎƦČÑW¥°ķU¯ƏŃVē±Ý@óçĭɃƾřÆķkwŹŤ¹ġ¥ĵKŏÅXmˍщwǓ¤Ƒ@wóōVķ£ɱġôÛa±ÒȁóèţIVƽ¼k¤ó¹ġJmx»ÝU²@ÅÆĸǫŎĊmŎǬ"],
- ["@@Þô°bÞǠôÜôn@°ĸńǶkł¼UÞKğČÆÝĢŤķ@@ΌڬL܄K@ˣȂ˭lĉÅW¥ĵVÆý@ŃÞēUŃȗƅ@ŹƩǕĉ»k»ÇVğóřXŻKƏċêȁèÛŎġͩń"]
- ],
- encodeOffsets: [
- [
- [90113, 46080]
- ],
- [
- [87638, 44579]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "6530",
- properties: {
- name: "克孜勒苏柯尔克孜自治州",
- cp: [74.6301, 39.5233],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ˎǫĠƽ°UUĉ¯±ȁÑm¯ÝōˋōwUű»ÅƑ°Ș@²¯ɳʇ`ɱÅ¥ɳȗōkȭșW@kəJóÔƩ`ĉ£Vů¯wU°ʇĊÈÒ°aĊÞÞJÅċƧīĠyĊ²XôÇxÈÆÆ@ÞʈÅ»XÞīUƑkmŹÝ@aŎÅÆīƨĕ@ż`Ċk@ÑĠ@ŦÑ@ǵÇÿ@ÇÅŗl¯ğJ@ÇUkçġÒƏÑÝ@ţéWĊôŚUóXUġkţ¤ķ@@ƴōĊó@óÔğ¯ċ@@Ò¤kôˣŰ͓k»KX¯ċwƧôğɐÒôIVƯUķǬķn¼ôb°ÒȰVVÈÞ°ĸó¤V¼°V°²êlĢÒUƨ¦ôȰƴĊVV¼ǖIċĊÞɜénČW˸ǸařÈw±īçĸ¤ĊôwĸU̦éǖĬĀô¼lÞkÒ°x°ƆÞxÆV²ǔ»b°wÞȘ¥°nŎV@°ʠèŰȂb"],
- encodeOffsets: [
- [80269, 42396]
- ]
- }
- }, {
- type: "Feature",
- id: "6521",
- properties: {
- name: "吐鲁番地区",
- cp: [89.6375, 42.4127],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ôKĉǪa²¼lÜô@ʠê°ĬôȂ²ÑÜbĢóɲĸ¤ŎUô@xƒǔ£ъxˎmÈÛ@_nĕÞōřǫğůlȯ¯ĸ»U»Ükôƛ°ůkť»Ŏŗ@¯@±͓óͿǓ@ķȁ¼Ϳ@Ƒ¼¯°ólġ¯xȗUġƑǩÒƧUݰ˹Kóx@ǸōĬÅĬƑĠóƒǔêÆ°XÒʟŤUǼˋnn¼±V²°ȂUŌÝbʟǔɅô@żǬaҎÈ"],
- encodeOffsets: [
- [90248, 44371]
- ]
- }
- }, {
- type: "Feature",
- id: "6540",
- properties: {
- name: "伊犁哈萨克自治州",
- cp: [82.5513, 43.5498],
- childNum: 10
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ĉÆŘȁ̐mÞ¯ĀX°±¼@ƾ¯ƴ°ŎÝþŋ¦WÜÞbȂĉźUÇmwVUȂóô@ȰÝnÆJnƾʠŌLČóǪ¯¥ǔaǖŌaôÝĢLxÆLɲm²VlwÈ@Uƒ°¯ǖxĊmUÑƨa°Å°WV¹aÇɃÈm¥°¯ŹóĸķǫUm»Å¼ÇVɱlÝŋnķÇÝX¯ͩÇɳaÝ`±_U±ĵnWa@ĸóķ¯ǓV±ÅĵJċ¹Ʌykwǯ£Åxʟ»lķI¯X¯ķêǕȭnķ»Ź`±kÞ@Ýô@Þ°xŤŎIƨÆUxō¯²ǔĬǬlUŚ"],
- ["@@ÞĀlꦝĸŤKÞċƨbVğwġ¯@ţƽJ"]
- ],
- encodeOffsets: [
- [
- [82722, 44337]
- ],
- [
- [86817, 45456]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "6527",
- properties: {
- name: "博尔塔拉蒙古自治州",
- cp: [81.8481, 44.6979],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ήƛϲÝĠÈKŌōÿmīw@¯ɛKV¯ğǟ°ƑwġKóÞŋbǕǓb¦ǩ°ċôŋKʟƽmÅImͿȯÞó@ȁôUVnxÈŹVȁĊÝabŻ£¯°lóxȂŤĸkĊÞyĊêĊmĢxVƨÈĠXΘÆĠÔźɆţ°LXƾŤŤb"],
- encodeOffsets: [
- [84555, 46311]
- ]
- }
- }, {
- type: "Feature",
- id: "6501",
- properties: {
- name: "乌鲁木齐市",
- cp: [87.9236, 43.5883],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WôŚUĠÈl¼Ċ¼ƪǖ@źȘƆ@ýlÜXVŘÞ¦V¼kĖóÒèkĊȁˮ֜@ǫnōĉǬōķÆÅ@±ÞV¼nwĢIôºl£ƾ»UŤJôçó¯īʟéó@kÛ±»ǩbĊóLҍÇǫb@ŻɆóʠǓaŋÞȁVʉłĉbĉɅô"],
- encodeOffsets: [
- [88887, 44146]
- ]
- }
- }, {
- type: "Feature",
- id: "6502",
- properties: {
- name: "克拉玛依市",
- cp: [85.2869, 45.5054],
- childNum: 2
- },
- geometry: {
- type: "MultiPolygon",
- coordinates: [
- ["@@ɜÞʊĊýVaÅm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI»ĉmğnaÝţL°ķóKĵĀV͈ĉłƾNJÆŤzXl°ÆL²¼źôÈĢǔ¦lô°"],
- ["@@ƾIŤ@UUwōaĉÝJğÑÆŎkŎ"]
- ],
- encodeOffsets: [
- [
- [87424, 47245]
- ],
- [
- [86817, 45456]
- ]
- ]
- }
- }, {
- type: "Feature",
- id: "659002",
- properties: {
- name: "阿拉尔市",
- cp: [81.2769, 40.6549],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nIÇŃÛÝĊÑĠƏōгwȁ¥Ƨ°ŹÑķV¼ÞêĊ»lĵm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘ"],
- encodeOffsets: [
- [83824, 41929]
- ]
- }
- }, {
- type: "Feature",
- id: "659003",
- properties: {
- name: "图木舒克市",
- cp: [79.1345, 39.8749],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VéVÇţ°ğUĠ¯mk¯ó¥ķIġÿƏbĉa±ÒĸĀlKU_m»nwm@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁ"],
- encodeOffsets: [
- [81496, 40962]
- ]
- }
- }, {
- type: "Feature",
- id: "659004",
- properties: {
- name: "五家渠市",
- cp: [87.5391, 44.3024],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@çôÑlĕU»¥ÝUŗWkÛ@þVńÝĔ@ńÅþĶUX¦Æ"],
- encodeOffsets: [
- [89674, 45636]
- ]
- }
- }, {
- type: "Feature",
- id: "659001",
- properties: {
- name: "石河子市",
- cp: [86.0229, 44.2914],
- childNum: 1
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lŁǵmĉ@mż¼n°ÞmƼ@"],
- encodeOffsets: [
- [88178, 45529]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/xi_zang_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "5424",
- properties: {
- name: "那曲地区",
- cp: [88.1982, 33.3215],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ƨʔĸbܺÞwnxźbÞ°ô@ĶĸIȼĊJŎÈôU݃¤ǔLÞŎ@ĢȘblôLÇźçȤôL¥ÞIÞ¯ĶxʊťƨƿÑĉXVķŦ¯ȂKÇǕѯIU£¯Óƿ£VĕÅÞÿÆwƑ£ǖxÞĕ±ÇÝaUÑÈU¯UōÈÝwWŁĵ±ÝóĢÿ°IÞ±mÅ̝mÿ¥°UnÑŤĢĕĶwǬŻͪwŎ¼źÇĢĠĕˎٰóƨ¼Èam@¥°wǔǖ°ƨÇŤġƨŎŃôbÈÛŎĊ°@Ġw²ÑÞJÆÆb²°êĊUÞlȲVÈKĊÒĸĉ»ÅôťUÅÇk¯@ÇÑklÇÅlĢVÑó@°@ÛĸV¯ÇĊn¯Uĕƽ¯m¯bÈ@Ò°Ĭbĵ¼kxķýÇJk£ÝaUÑÅóĶǟkÓʉnĉݼƑó»Þmn£mȝ@ȮÿV¯ĸk@Ýów»ğġ±ǓLōV¼Əèķĉè±b@ÒţUÑóakl£Ó@¯L@ÇlUóȁ¯aġÈÅĕÝLķ¯Ė¯@WĬxÒÈnW°ţôU²ǓÓġ²V°¯ôǔÝLċk»Ý»Ý¯ÞVwÛÝÇōͩÈĉċ»ĉm¯£W¥ţKkóġƏW@¯±kōÈb@ÒÇaƯakóÛǦÝa¯Ýĉ@Ç»ÛmǓxķƛ¯lVĀÅÞġbÇJUÅVĖƑWzō»ōWn@è¯ÞóVkwƩnkźÇÞÒÞ¯ýğÇUxÆÈnè±bĉÝ»ÈŃwwÞ@m»ÈV@ýǰķxaݯXċ¥ÈóW@ôkxlnxVÈóĊkŤġ¼@°¯ŰƑL̻۱ŎÝVÞVÇÞÅÇakƞ@èğŎĸżƾ°ÒLÞôĠKȰĖźVÈÒĠ¤VôUÈþťL@ôǬÞlÜÈnÇÒUŚ@ĊƨW°°X@ČÇþƴĉÒķ¦@ĢôWĀôłUÞĢǬź°¼@ôV°bUÆnzm¤ƽĸÈ"],
- encodeOffsets: [
- [88133, 36721]
- ]
- }
- }, {
- type: "Feature",
- id: "5425",
- properties: {
- name: "阿里地区",
- cp: [82.3645, 32.7667],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Çƾķn£myVÅaU¯ó@¯»ŹġǫVÝóŁXÿġó@ĸ¥ĊÑƳÈý@ċW¯X¯ĉƧ@VřÈÑÇmkÛǫÝ@óŦKÇýVUó£ğÇÑŹUȯĕğLÝóK¯ÑƽķŻĠō@çlƝÈbÆÈÝUÝÞU²ō̼ůƒK°ů@¯UK±ĊƧbōÇmçÈġóÅóbźó¥kólçKôĵUÅVŃķ¥nÅŏm¯¹Å»@ÑÇóxÝkʇȤU¤ķb@ƒ¯ĊÇx¯ĸĉKm°Āk¦lKnĬȀƾÛ¦WÆÅmNJĉ°ōUţ¤UŎ°ŎKÞłÆǓ¦Þř¯bmUÝl¯Umğl¯£șwÅǫaÝnĉĶk@¯Kō»ĉnaÞ»ťnkmlĸ¥UÅŻkÑťĉVôó°LôīĠUÿĉǕÅz±K¤²ō¤¯Ė¯UÝ¥VĵóÈťÝwķÈÑk¤óWýĵĕVĠVóǓķ°k±VU±ţ¦UǟÝÅJVÑ¥XUċUÅlÛƆǕÆȗƆ¯wŏÞÅ@ĉlÝóÒnUôÅlxólÝôÛ±LÛôÝL@ġ¯X¯ÇUżóaó¤¼XÒġŎóLk¦ôżĸĠ¼KġƆô¦ÆƑÔĉ͝ImÒ°¦n°¯ÞlÝČnƒÒKĠÞĕklýƾťôIĖŤÒnƜm¼¯lnżóÞ@Ůó¦ôƽĖċŚn°Ý°ôÈUƜblÞó@ǖô°UÈƆ°XþôôlѢ²Ėm¦°@¤XĊblÜzkºƒĖmXŎWVóÞn°lĠxȚa°»żLźb@ưXĠÝȚxĊĕŤaȚ°È@@èŤ¦Ü¼WÞkÈ@V°lŤkŎ±²¦ƐUlj°aÈÑŎbĢŎbÆ¥ÞIȘlôVÈUbkɲĶnmnXb̼òƾĖŎ@ĢȂÑôÓĠĖʊĊÔ"],
- encodeOffsets: [
- [88133, 36721]
- ]
- }
- }, {
- type: "Feature",
- id: "5423",
- properties: {
- name: "日喀则地区",
- cp: [86.2427, 29.5093],
- childNum: 18
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ĶĖXþôl£ÒĸÇÞxÇŦôUĶÞ¦°V°ĕŎ£±£²LÆyĊǖĀğVóĬ¯KóôUĊŦlÒżVÆķ¦klnŦmݼbĊmŎ¼L@°lĊĵÞmǬbÆȚx°¤Ġkn°VÞkVn°aŚÝǔ¥ÅÝŁōL¯ōVŤ£ŎVĊ¯nljÆXÅÜ¥ǿƽmīLkl¥ÿn¯ĊL°ķÈw°ĉ@ƑĸaV£ʈȣÞlôwÈ@ҼưºŐnmÆĸ¦UńÆVóĶLèôkŰlĬ¦ŹôôaÆôÇĢnèŎÈƨaĉ²VLĢ»lţôĉUÇwkmlw@óôXÇȦ°WÞbwĸȯ@þÇUn¼Ý@xxÇńÞ¼Ċ²amçÅÇVwĠÈþ°ÝÑÈÝlŹƪmlxôU°Ý@çmXŎŎ¼yƒXĕÆUVÈIĢaÆÝUÿ°kĸƜǔwnÜȼĊ@Þ°ÞbÈ¥Üôl°bÅÈb@ÑaǯUU¯Vġ»¯aV¯Ç°ÅmnÑŤçǬVǬ±ĉ¯¥Vĕ¯Ýk£ōw@±ġÛ°ÇVÑ@Ûa@ČLƳÇa¯¤ÝIĵ¼U¥ƿōķÅţŻókÝóĕ¥¯U»Æ£X¯ġŃÛkݰV°ó¼¯èWôÞĖȎkĀƧĀówm¥¯JŹÝJÝōVVÅaÝƑ@ğŭǯ_ĵVnxÅónĵxÇĖĉVÝÈğVÒó¯±Żĉ£ķÆÅLLjĉýţÛ¯VnV¤ÝÈ@°ÅÞݤŰğŁm¦ÝxóK¥ɱÈUĠôêVôÛ¼ÇWÝçĵaō¦óĖƧlÇĢƑnŎÇV¼¼ºÛ@m¦ƽĉmm¯ÝKÛç¯bŏłĬb¼ÅLmxť°ÅUÝXkÝmĉ¦W¯KÒknÝaVÝè¯KɅńÝKnÞ¯¼"],
- encodeOffsets: [
- [84117, 30927]
- ]
- }
- }, {
- type: "Feature",
- id: "5426",
- properties: {
- name: "林芝地区",
- cp: [95.4602, 29.1138],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VÈłVôÈk@°K@Ôk¤lôbVÒŤ@ѲaçĸĊƐçU»ŎǔK̲Ġ¼ôx@ÞlƨĬUl¯ÈLVÞJ°ÜnʊwÜbXêVÞ¯°anaU°wƼɴÑWѰmÈýÈam¥Þ£Ť@¥ôblÞĢź¥ôxÈÅmÝĕÅV»ĉōŤōnó»ÈīķIUĠѰġĸLÞ¯VÒÆ@Āb¼WôÈ@V¼ôóŤKÈÑU»wVǫżnWÒÈx¼lŦ£ĊōŤx²¯@ÆU¯çÆ@¤°£é°k°lůÈó@¯ŤÇÈĉkkÿó¥ÝXķÑÜ@ÒóŚÝ¯°ĉówDZ¦ÅJUÒĉĀķw¯°m˝±akxÝÅn»lÑK@¯lU¯UVѯóĊ¯mōğVǓƅÞWÝÈÛ@ƿô¯ÜġzÅþ¯ólmôʇġĊÅUͿřŏȁˋŁóÇˡōƧÇbw°Ķôk¦ÒnUþġÒÔkǔķèó@²@ŘōńĵyzġaݤÅI¤Ƀť¦ğѯ¤ķbó¯ó±U²°¤ČÜVnÈÆŚŎ°ôĢþÆzèVĀÇĀÇXŹÑ¯¤ówċķk¦łUÒġzÇ@ÆÝx@²Þ@ƤUô¦U°xU"],
- encodeOffsets: [
- [94737, 30809]
- ]
- }
- }, {
- type: "Feature",
- id: "5421",
- properties: {
- name: "昌都地区",
- cp: [97.0203, 30.7068],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@VĖm°ĉÈU°ķܯ@@ôUÒġkÆkÈlÒ@Èl°ÈVÆóŦƼaÅĢɄwnōw@¥Ŏ¦°ŹÞmV°wnÿwwÝw@¯mÞŗ°wĠĸkÞğlĔ²¦°@ĕĸwVóal@nĢÇĊn°@¦źUXçǔůĸVÆKÈÝĠ²ÅĔô@lÈ_mzǖlaU¼ôwV°¯¦ĬÈal@ČǼnIxô»ɜ@ƨ¥ɆŁŃǪȁkƛƨȍʊȡóĭ@ÈÇVůÞĸƅmēƨťÅÈʉVǵ°ġVŭÅɧ°ÿnɛ£mķ²ŃóÑUĉ°mÇ»¯@mxUèţ°ȁÝçġU¯ÆÇţÈ@°ÇôŰ¯k¯lꯤ£Å@èV°Å@±°ţwĉŎť¤k»ÇwXÑŻmUǬxV¼ÇÒţLóôU»Ç@Xó»a@ÿÅUÑݰķK¯ĢğÒVĸJÇĬ¼môţŎĊŎU¼ÆĖnÞÇÆówʦġkÝóa¦ţ@ݤn¦ÇbÇþ¯nXÒɳÒÅ»¯xVmbb¯Ý°UWéÛaxʉÛm¯ÝIUÇKk°VƧīķU°ȭĀ@ċ°nm¤Ýnô¼ƒÞ»ĊʊmlÔĵǠÆôVÒÞbl¤ÈIĸþlw»Ķa¯ī@Ñǰanƾ°"],
- encodeOffsets: [
- [97302, 31917]
- ]
- }
- }, {
- type: "Feature",
- id: "5422",
- properties: {
- name: "山南地区",
- cp: [92.2083, 28.3392],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°ÞU˰¦²ĊôÇÜLǖĀɜȘŰÞLĸźêÞ@UÜUŤ°ɞ¯Ü°WŦĀmŎ¦ĢyVÑŁl¥Čĸôx°£źÒWÈÿÈUÿçÅyýóġō¯řÅmÇÛUċ¯£V±²°ôôĸa°£ĠÒŦ¥Ʉ£ÆJÞ£ĢbyĶzŎŃ@ŗ±ô@ĸçlǓÓĢÑVýmÑl¥ĵó¯̻̥ƛǫÝһÇƧĉyţ¼ҍēVĶĉŎ°ĸmÞVÝĸÒÛaċóŹĖèÈÈl¼k¤ÝX@`Þŏ¼Æō¼ÇçĉKUÝÝ£ğ¤@¦ġl¯Òġĉ¯ómóxÝÞğVƴċK@b@ÜUÒ¯ÈĢÜ@²xŎl¤"],
- encodeOffsets: [
- [92363, 29672]
- ]
- }
- }, {
- type: "Feature",
- id: "5401",
- properties: {
- name: "拉萨市",
- cp: [91.1865, 30.1465],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ŏ²l@°XĢƐlôŤLX¦°¤ĊnȼÇĊŎͪÞÈÜxU°ÝÞÞ¼¼lČÞKǓ°óU¯Ģ±ǔÔV±ŤóX¯ÇmÑwXī°@°ĕĸÞKÆĖĢǰbȂÇŁUV¯wVó¥VÅ£Ý@@±ÞwÅÈ@¥nōťÿ¯XÛɝ°ţ¯ÛVVÝ@ŹéķÝKȗůɛǕÿÛKóÈǫǫUţèmÒn¯Æ°ÈU°b¼UĢV°°V"],
- encodeOffsets: [
- [92059, 30696]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/yun_nan_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "5308",
- properties: {
- name: "普洱市",
- cp: [100.7446, 23.4229],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Uô²a@²²Ķ¥V°Ķ²bl¤kVxl@°Ś²@y@ô¦¯@xxVxUVbVÜm¼ŎĢmºXXWÆ@ĀmmXU°ÅÒm¼Þx°w@°XêĠ°»nV°Ul@k@V±ôī@£ČŃÆ£KÞý@¥k@ya@nWVUVwm£Jknm@wmknXX¥mUUlUnb¯°nkVInlIUw°nmk@@mlanXlanmk@wVWUw_@éĠanmUaÜ£mX¥¯@@óUmݯ¯ÞÝlKnxô£»»ĠJ°aVUÝÿV¥ÛbI@wmón¯yÛL@WkÅmÈ`IWa¯K@¯mUnmaXmbmak¯ĢÒÝm¯mV¯KÇb¯KÛWWX@aVknċLUWVkXóW@ka@ób¯Uwmb¥UUlaU¥U£maķKXkmÝ@kwmѯk±ċbUUVakaġ¦kL@`a¯xmÅLUW@ċnÅUV°LkL@b°°@¤²nôôkl°kèÒÈzV¤ÈWôônV@¦@¼Ux"],
- encodeOffsets: [
- [101903, 23637]
- ]
- }
- }, {
- type: "Feature",
- id: "5325",
- properties: {
- name: "红河哈尼族彝族自治州",
- cp: [103.0408, 23.6041],
- childNum: 13
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@°°nÞôV@°@¦WnÛ¤Vbmnğb@ê`VxUX@xÆÞUnnWÞĸĢÈ@Çè@zÛÜWÅêl²KnV¯ĖĊx@bk@@°JÆ£Èblnnm°nlUkVUUwVmKnnVÞxVLX¥laX@@xl@VzÈVmk@b°ÈĸmV¦`WXbUbbX¼°x@aVVkn@lþnXUlVxŤÅyIUkaIŎĊ@lXx@bz@ô¥_V@ln@ôy@al_l`nmÈ»@kmXwWKU¯»aÅ@wmUÝKUaUUwW@w²»@kÆV£mm£VKkÑV@@»nw¥@kÆnllIVlnLVakalknJWmnaUaVÑVVÞn¥m@¯Uÿl@VçaXaV¯UyVLVk@nJlXLlkxlbla²Òl@nVJVkxKlkUaVķÝÑU@Åm¯@±Uó°ğńķĠmUÑ@ǯ¯Å¼@nml@°¯¯`@w£@¯Çk@»nmċ¯U»I¯LÇĶÛn@bó°Uwm¯UmǯaI@ykIVU¯bIğ¼¼ó¤mwkLÝÞ"],
- encodeOffsets: [
- [104243, 23429]
- ]
- }
- }, {
- type: "Feature",
- id: "5326",
- properties: {
- name: "文山壮族苗族自治州",
- cp: [104.8865, 23.5712],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@wô@²¯maUmôUÆx@XbÞInlVUVwJVaUK°¥xmÞXnlKlnna°@ĊČÆwUmnkl@°£nyn@VV@Vak@@kÞÝbmx°Vnw°klÞInĖÞVlKl@Xa°KlVU@JnxU@ÈĢbUKlm@ak_wanWUk°l»k@Wk@lwU_@UalóU¥ÇnkJW@mVXx±bK@nV±a@Åa£ÝK²WknamKknÇk¯aVV¯ĀUÒ¥I@mm¯¯xÅW@@`k@ó»UU¯lm£ÅWlĵw@mmwÅmWU@y±UxmwU¯U¥Ý¥¯£m@kÇVUV°VbklLwUlUImk@±ÑkbkalwkWKkmI@UlUKVzU°WbbUè@kV°@nm¦ÝUUUÒVbmbXnmIkllbUbmKUkkJmkÅ@l¦mx@¼U@lÒULn¤nU¤Å@l±¼@xXxVVVbÞLVn@xÆb°¼V"],
- encodeOffsets: [
- [106504, 25037]
- ]
- }
- }, {
- type: "Feature",
- id: "5303",
- properties: {
- name: "曲靖市",
- cp: [103.9417, 25.7025],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ȦlKÞĕUV¯Um¯ÇVUnVVUĉnĊÇƾLn°°ÈJÆw@lbÞa¦VXJ°¯W¯aÞJVkUa@lKnÅmWUk¯a¯»@m±@ÑkkbWWX_WÓU»_lkÑm@U»m@l@IWċn¯l@VanVUVUVwVxKÈVmUē@n@VÝÆLwVVwnVlmkUVÑǰka@kÿÝaÞUl£ċĕX±±ĉa@UnVnalónk@wlUVmkÝJaW@ÅwóVVnnb±°@óxXLWxn@lǼnmk_k`@bózm@kU@`¦ó@nW@ÜÅXWw@yb¦@ÒlnUb@xlÜk@²Ç@U¯bmy@kV@bb¦U`lLVx@bLl¼Þ¤@°VVÞU@WÞUbJ@nn@lnnmxUUUbK@ÇwklkUVWakn@lbU@@ULVxkKUn°¯Ò@¼km¦m@klȰ@lUl¦@Vl°wnnþĊUÆbUxbVĖU°annaVal@@b"],
- encodeOffsets: [
- [106099, 27653]
- ]
- }
- }, {
- type: "Feature",
- id: "5323",
- properties: {
- name: "楚雄彝族自治州",
- cp: [101.6016, 25.3619],
- childNum: 10
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@mÒXU`Wn@Xl±¦Uxnbl°knmKUxxVôUx°¼ôÒȰJlnÞKĠW°¦Vx²JVw_°¥@UV@@wnymknK¯I@²b°£V¥wUV¤nLkÆJÈwôô°l»Č¯ġVUU@@°ÝXl@U»°Å@U¯@w±¯VmUUlm@mÑnIVyUwmak£Vwm±@Çw@n@UxkwlÇnLmkÅ@±kka@kóJV¯Ç»U£lw¯Xalbl¥¯UX@aUaÈL@ÇVIVkaU¯mmakLWkUJ¯Umxn@kUx¯xmWÅīÝkkbŤbkxWmXwWk¯wKkLŤċń@¤óĬU²@@lk¯VmU¯¼@xV@k°l°kbU°nmVnU@°UVèÞÆbUÒÞnU¦V¼lô@Vl"],
- encodeOffsets: [
- [103433, 26196]
- ]
- }
- }, {
- type: "Feature",
- id: "5329",
- properties: {
- name: "大理白族自治州",
- cp: [99.9536, 25.6805],
- childNum: 12
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lbKVIUa@²m@bxôÒÜxXLmbnl@K°¼kUôxôlV¦nJUÆnm@xÆwbXÆôôLUVwôK@wlmaVw@WknmIUmlnJla@_@kÝmKUaÑm¯Xw°aUaVl»²JVbÆJkôͲVVkmbVwUówVwnLlmk¯maVw²¥Wk@XmV_WnÑUk@kó»UV¥ÝmVÑÅaÝUçV@¯VUmn¯mVlak¯l¯U@@wğWé¯@¯xÝw¯¯Jċa¯U¥mLU¤bÞȤbÇLWUwmIUVW¼kb`UVb¯L±ĊÛkÿÝKkwKţêUĉþÈV¯ÞVbU°KVk²ÝmImV@kmUkVxm¯KXÈķJU¦V°ULWxL@môb@bkx±LnVUVLnkÜWnwlLŃmW@kkJU_VWĊÞ"],
- encodeOffsets: [
- [101408, 26770]
- ]
- }
- }, {
- type: "Feature",
- id: "5309",
- properties: {
- name: "临沧市",
- cp: [99.613, 24.0546],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@xĢl`²X°Vx@x°Þ°KXağUÑWbnIl`X²°bxl°V@xVxk¦mbl@xXVÆzX¤Æk°kx@lźêlaX»VUnJVxXÈKaÝȣaV£nKV¦°Čb°I°n»ÆÑV¯nWn@ÿXÅWWn¹ġōn»ÛUaUVUww@w°ó¥@z±@ř¯@kUwlk£±aĵ¯Uĵ¦±±@bó±VÝ@ó¤w¯I@mÅóm±X¯IólK@°UllbzkKlln@@ÔºUmVk²ôÒxŎUVóLbmÈnmbnlax@z@Ʀk"],
- encodeOffsets: [
- [101251, 24734]
- ]
- }
- }, {
- type: "Feature",
- id: "5334",
- properties: {
- name: "迪庆藏族自治州",
- cp: [99.4592, 27.9327],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WXw@akk@yk°īX¥Uóķ¯w@n»UaVaUÛ¯mV¼kÞċô@n¯xÛÒmV¯Ô@x@kwmÅa@UaݯVÅyVa@ÿn»ÝVmankmmÞÅô@n£±ğzÇmU¦VmnÜmbn@°nV@xmzÅ@mºV¦k°ln¤¼õôn@xkÆIUxU@Ť¦VmVkmkXW¤XzVx@Æx¼Þ¯b@lVĸÞVm¼Xm¦VÞ@ƹVón¥ÆKnKX¯x@èĊȱłXaÆxnlV@UÛlȻkğV¥m²ljmÅÞĕƒƛm°ÆmX¤mznÆV¦ÞVVb°bnÞWbn°l@VÈ@VĵĊ±@óInxÆw¥@£ÞW¯ĸ£UUKk±akkkbmWmÈķaÆÇUÈÆW@wmknmU¯"],
- encodeOffsets: [
- [102702, 28401]
- ]
- }
- }, {
- type: "Feature",
- id: "5306",
- properties: {
- name: "昭通市",
- cp: [104.0955, 27.6031],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@mnK@wmUÅ¥móXǓŏmX@VmL@xţnk@mlUŻÒğŋ@L@mmLkm@bXÅW¼ka¯lÇŹ¯aÇ»ÝÝ_@m@@a@UklwUm@ak@bUmbmbV¯ĕUaVwÅaĉVmým¯xUk@k¥VUX¤VÈm`@ńÇÜ@ĀknĔkƞÆĠÞUVôƆÞI@UxƦnl@ĊĊnxUÒ°¦Vb¯WUnWIml@xnUbô¤¼ÈxlI»KV@ÈÔJkU˱ÆVb@nVÜVUVLwĠlknĠ@nx°¥Æ²mUw@mmÅUl¯UÑÑUmLllIl±@VkwW@w°@U»kUóI°»ĢÑL`nUĠ²lmbôV@nJUxƦX¦l@ŎUV@lVKVÅV£UaÞUnW@¯VU@ó"],
- encodeOffsets: [
- [107787, 28244]
- ]
- }
- }, {
- type: "Feature",
- id: "5301",
- properties: {
- name: "昆明市",
- cp: [102.9199, 25.4663],
- childNum: 11
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@n@VkVUn²°@x°V@¯ÆV¼k@WÞ¯@@VVUĢċ°k¼VĊx¤Ōx°mVkÑÈL°x°X°VmĊLVxU˰bX¦VW@kȯlkn@¥ln@»°Ñ¯VmlLUwVK@V@ka@lmXbUlVlkÈx@LVaVVwnmm@km@mIVaÝ@XVUݯU@Ý£k»K@aUwkKV_¥a@alU@nz°aVÈ@@±lÛk@wVakm@Ñ¥az@XxÆW@ÛX@m@y@aWw@kōĉJlbVJzţÆUwVkmWkým@UlU@b¯wVºUVUêĠXUaUbVĊUWXUmkKWnUUUVVVÝ@kk±¯Lk±WkXlVkl@wXbmLVUIVmk@Ubma@kkaVKUkmlXLWnJ¯ÒĊ°@zkºlLUŤn@@nô@lÆnmKkÈlxVw@@mÈx@n²Uxl¤nbVxUzmJÒn"],
- encodeOffsets: [
- [104828, 25999]
- ]
- }
- }, {
- type: "Feature",
- id: "5307",
- properties: {
- name: "丽江市",
- cp: [100.448, 26.955],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@l@@w°ÓUnÜѰw@mČóÝlU»n°VÜUbVbm¼@°xôĸVW¦¯Ĭl@zll@bWxXaX@ÆĠÆaXwl@XaƦn¼Jn@mnKW¯È»V¯°akVanXVwl@VyUĕVUbÈīlaUk°k¯l²VUkƛô@I@mVwĊaVakaÆbUVLaXIWKUwaWÑÅKUaVk°@Uw¯¥XğÝLkm¯IÇóѯ»anUl±UĵÿlóÅIaU±Ik¼UVb¯bWxn°ÒVbnLlÞ@@`kbmIkVnJmnXl@Uxbkn@xóLUxVKóóÅWaÅxw@nÅmVôXLlVU¤b¦m¼@ĀbUzUưÞVb@Æbnx"],
- encodeOffsets: [
- [101937, 28227]
- ]
- }
- }, {
- type: "Feature",
- id: "5328",
- properties: {
- name: "西双版纳傣族自治州",
- cp: [100.8984, 21.8628],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@l²°nÒlxÞ@nWlLĸnbV¤V¦kbVV¦nax°Vôa@b@lôXlWUVXČKlmU@bWXXܰLÈa°LnU°ÞnÑġ°lnba¯¯KWó@kmK@UĉV@k°VV¹a@y_ċl_nÓlL@anI@óWl£VUlkĕlKVwU@kVam¯ÅL@bÝk@VnUbÇbÝwÅ@ċ¥¯lk¼ÅÒ°b@¦nlUn@ÇVmÆbWôU@ÝÅōm¯aUmkWWw@±n¯UèaL¯mLkwl@°mnÈÒ¯ów@VxĀU¤°Į°Xl"],
- encodeOffsets: [
- [102376, 22579]
- ]
- }
- }, {
- type: "Feature",
- id: "5305",
- properties: {
- name: "保山市",
- cp: [99.0637, 24.9884],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@X°Il@¦È¼m¼ÞaÞÅlÈxV¼lVôÈÆlLޣȺlkUUw¯UĕVwĊ@n¦mlnVĸIWǰLnUwlVn@lnUnJÞl±U¯LVUa°ÝUÇĊýVŤéLlxÞLĀÜl²ĉ°KUaV_Źé@klw¯lÅW£ÅyUW@wknal¥Uw@wUk¯w¯aW±k_mJaXVÒĠWb¯L¯Ý@wwU¯±Wk_ġwwōKmb@¤bk°lĖôUJVnÅlťU¯°VbnbWxXmÞWUĀLyWzÛKmbUxVKknÝkVĀċ¤Ux@¯m@¦"],
- encodeOffsets: [
- [100440, 25943]
- ]
- }
- }, {
- type: "Feature",
- id: "5304",
- properties: {
- name: "玉溪市",
- cp: [101.9312, 23.8898],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lL°xXlWxXnlwaţlaÞlÆĬnX°wVwl@mnw°VVIXllKbnnV°lbUUJ@ÈÇKVb@bW°Vk¦kaWb°kxV¤È¼U°ôI@llbl²@@ó@mm@VţkKl¹@yĉ¯°ÑIXmWKnklVULlb@lnbVal@UnVJUnKWax@lkkUlW²XlK°l²@lÞUUUVVVXmlLVnXWVUĉVaVbWğVéUVU¹W»aVaaWX_U¥nÇķ¯@alUnÇUyk@@wW@kbW¦UKÝwUmmLUnVxUVVlk¯mmnmkÇaŤ¯I@l@@aĉw°ĕmUL±kÆéXÜÛ@yÈç@ÇġÝķXmmÝVÅlmnkbmWkb@nl@nm¯VxkJmUJml¯°makVVnV¦WWmnl@xmnlI¤nxUVUmX@b@zl@¦Ýþ"],
- encodeOffsets: [
- [103703, 24874]
- ]
- }
- }, {
- type: "Feature",
- id: "5333",
- properties: {
- name: "怒江傈僳族自治州",
- cp: [99.1516, 26.5594],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@WyX£lWlnnUU¥@ţVVwJlÅ@wmöó»£kml¯U¥n¹Æ@ny@wmU@¯mnamÛnUV¥ÈnĠy²m¤@ÆónÝnmlnbÞU¥aV£kUKWómIU¥ókwVól»¯Lk@mnaWKÛwóÑw@a±n@VbUJLkaÝXĉUV`lI@lnXÆƑkKmxÛXmlUKVmU²Klw@aaó@nKXwVKU¯V¥mUnkm¥ĉ@UxV˰VxVklmÞkKWĀkVWnl°Lnm@°UxlV@nk¦JVȰVÒ@nX°@ÆlUômlnô²nxmłnVV¯x@Èm°XblVUl°@xkXU¤WXXWXÆmkÅJmÞw±bxUīkKmÅVUĖÝèVkx@lXlnk¤LkĖk¦xUL°¯Ė@LnK@b°xVI¥Ua°Ñ@»nm@¹KŎÞÈWln²n"],
- encodeOffsets: [
- [101071, 28891]
- ]
- }
- }, {
- type: "Feature",
- id: "5331",
- properties: {
- name: "德宏傣族景颇族自治州",
- cp: [98.1299, 24.5874],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@¥n@°@VwČ£ÿUlÞlmULVwnaÜLXyzKVÿXÝnWXwmaUa°¯VŦÆkUmVIókĕl¯a@£nama@¯m¯ó@óyţbġkÅm±ÛammVkLwU`Wk@VkUmÅlUUKmbkkUVUw¦ó°¼bn°ô¦lºz@x¯@U°nU¤ţU°VƆ@ÈmlnzÞl°¦ÆaxUxLkxWƒn@²ŰW@°ÈXl°Llx"],
- encodeOffsets: [
- [100440, 25943]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/util/mapData/geoJson/zhe_jiang_geo", [], function() {
- return {
- type: "FeatureCollection",
- features: [{
- type: "Feature",
- id: "3311",
- properties: {
- name: "丽水市",
- cp: [119.5642, 28.1854],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@VbVl@XnUXKV@¦nxlUXVnKVmnLUV@bn¤lLXK²`nnlJXIVJIVnn°KnnVll@VLXWV@UkVaVKzV@VVaUK@U»VUl@@WnUU@wVLn@Vwl@XW°LVbn@VU@Xl`@XnKVbkl@XVJlUnlVxlL@lnXl@VUnV°°@aUVLXblWVXn@VVUV@L¤VLVUVbnalLUUVX_laVaWVzXKV@@a@KUmImmXama@kU@yVIUKaVa@kXK@aWU@VIUmW@kkVmU@VwUa@K@k@U`@kUKVk@UV@VaUm²Vy@klUUWUkVmUa@_KVaXaXmU@mUlWkaUX@mmkL@wJnVVÅbWKXa@@I@aJUUÇ@VULW@akLmb@K@aXXw@mVmUVkUy@£@aU@@VkUWm@kUKXUWU_mW@wkkmJUUkLWWUXW@IkJ@k@mW_kÓ_UlLm@I@aUa¯m@ka¯LUJ@mVVxUba@LUKkXbm@Uak@@a@Um`IUbUJ@nUVW@@LnVV@lUbVlUX@`@blXklWUmXlm¦U@@V¯bml@@nUb@llnn@VbX@lV@UVULmU@JVnbVbkbVWxU@@nUVk@"],
- encodeOffsets: [
- [121546, 28992]
- ]
- }
- }, {
- type: "Feature",
- id: "3301",
- properties: {
- name: "杭州市",
- cp: [119.5313, 29.8773],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@X@l°KXXlWb@²`bIX`l@@bWl@n@VnLUV@V@°¦@l@XVlU@@xVbUb@Vkb@@XVJVzJ@LÞ@VmLUxUJ@LUVxbxXUl@VaÈwbaÞa@Vl@XUVx@V@VLlbnVal@lbVnnLnKnL@VlbVJXalIb@KUU@mVInJUVl@xUVLnU@UÞaV@lkV@UanKL@UlKVUnbÆmn@@nUlVnVJl@@UXUL@WVIVJVxVLXV@IÜKnbn@V¥V@@I@y°b@UUwnk°ÆƨVlUçXm£aÇIkV@WV@@aWIUWUIkb@WW@UnK@UU@kaWVkVIVVnU@UWVUV@VmVkKkWIkVWaULU`UImJUImmU@wmwUVIUWVkUamaU@mVkb@KVU@aVU@anKULVJU@kÛUJUVkkVakU@aVwkW@UWkXmWaULUaUK@XJUUmVU@UVUkJ@ImwmKU@k@lUW@@akKmkamIkWl_UwVm@UkaVUUa@UamakbWlkL@aUalU@mkL@U@UlmK@XkKm@Ýakb@xnXb`nUUU@U@wU@@mKkkV¯U@lULUbVbUb@Va@LºÝb@bLmKx@VUL@bk@mxULWl"],
- encodeOffsets: [
- [121185, 30184]
- ]
- }
- }, {
- type: "Feature",
- id: "3303",
- properties: {
- name: "温州市",
- cp: [120.498, 27.8119],
- childNum: 9
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@ll@xnXV`VXWVL@lXnlV@UV@@b@¤VzUlnVU@nWxW@b@LnalK@bXVKUÈ@VVI@b@J@WbXLÆaUUmI@xlKnn@VWlbkXV@nVWnWbUbL@`VbUnVlVXkV@lUz±VnUbU@@VUlVL@l_@V@l@LVbV@XLV`VÈlxn@lU@aaVVk@XJ@nl@@LU`°LVbL°a@aUVy@anI@aanV@²wÜJX@VVV°kna@WVkaWwU@m@kaUĕÝÝŤnÈaaóI»@±XWkUķ@kV±kwUkWwUÝ»ÛkɳlImaUaWóXÿǬkUnWVmmkKţnŏÞğlUlUx@XWbV@JkX°mb@VULVxUVk@@LWWk@WIkUkJmUkVmI@y@UakLmU@mUUUkaVk@mK@UlUU@UmKmbUUUJ@n@KVLUL@VkJWXX`mnULWlkL@JVLVb@°kxkU@LVV@VLV`UL@VUX"],
- encodeOffsets: [
- [122502, 28334]
- ]
- }
- }, {
- type: "Feature",
- id: "3302",
- properties: {
- name: "宁波市",
- cp: [121.5967, 29.6466],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@Ċ¦ĸ°nXÞVKkƨƑźÿ°»n@wô¥ÜbU°ÆXÞWóçĉݱIUÈ¥@U°wÆ»²mm_@aXVKÞVlk@akk̅@£X»VwÆXWa¯aȗbKƽŰĊxLók@@¯nKUL@xkLÑkWULUUmJUXVU@mUX¯@V`mbXbV@@nn¤WXx@kJ@nVVUVl²UbÝVUVk@Wx@V@VXzmlaL@VlLU`XUVVVUnl@VbnJlnUVVnlUKkbmnnVxlJnxmbU@UL@KUVX@xmb@lk@mnVVUè"],
- encodeOffsets: [
- [123784, 30977]
- ]
- }
- }, {
- type: "Feature",
- id: "3309",
- properties: {
- name: "舟山市",
- cp: [122.2559, 30.2234],
- childNum: 3
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lƒʠþÆVĢLĊǬXĊÜXôVÑÆwlƏÈóVĭVǓ@ĉwɛkmK@ĉXīWaĉUĵÝm¯ĉwĉ±±nż¯x@VǦV²JĊÞôèÝXÅW¯VÛaó¦@xm¯¼ŹĀ"],
- encodeOffsets: [
- [124437, 30983]
- ]
- }
- }, {
- type: "Feature",
- id: "3310",
- properties: {
- name: "台州市",
- cp: [121.1353, 28.6688],
- childNum: 7
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@lVIVWVz@bXJl@Xal@°nLll@nVxnVK@UJVb¦°k`UIWJXnÆ@bUJXl@lbWn@UzVV@bVVmVnnJVXnabKUKnUVVUnVLlKVLXaJm£@mU@WanaU_°@VWnV@UVWnIVVVKlXÒlK@wVKL°m@l@ôKwĉƾůUl£@»UVkm@ƅUaÛIŏmUk@mw@a£Wk@ţIm±@ankôUlaUUw¯ōabÇbţmÞÞVĖbl@@nVXxbUl@Xmb¯lUUUW@ÛI±xU@mb@bmJ@bUzV@b¯bKUa¯KV_@Kk@@mWI@lUUb@bkVm@kwUÇU_WKU@Ux@VUnllX@VnJ@UXV@bWL@lUbbVLUJ@zV@lnbWbnnnJV@L"],
- encodeOffsets: [
- [123312, 29526]
- ]
- }
- }, {
- type: "Feature",
- id: "3307",
- properties: {
- name: "金华市",
- cp: [120.0037, 29.1028],
- childNum: 8
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@nbVb@VbUVlb@VUnVxk`lXnJlbnlL@bX@V@klV@nLnx@JlIVU@VUVnVVI@WVLVbVKXbWnXl@VlXUxb@lVUbllVUIÜVnalKX@@bV@@aUUlUwUw@naWWUVaUUaVbLlxXJVk°UlkU¥@ka@LVlXLVlVWznVn@lxJl_@WX_@mVaa@alU@kVVnaKVLlKb@UUaVabnUWmXU@k@yVI@aÅWmXIVJl_¯¥UaVI@LmUUw@mkkmK¯k@Wbk@WI@aUyUXJkU@bU@WLUyXUbkbW`UVVkKmbUaVUUK£@KVUUUm@UWkXWaUKV@b¯¯mUV@UkmW@kkKwUmkkVUI@WlkUamL@Wk_W@UVm@Ua¯KWXk@Uxm@UK@xVmV@Xk@UVV¼@VLUbUU@yULUbVlU@@XlVUVVbU@lXXVW@XUVl@@VUVÈn@VVU@lVa@UmL@`X@`WL@VUX@lUL@xlx"],
- encodeOffsets: [
- [122119, 29948]
- ]
- }
- }, {
- type: "Feature",
- id: "3308",
- properties: {
- name: "衢州市",
- cp: [118.6853, 28.8666],
- childNum: 5
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@XkVKnwl@@aVK@UwnLK@aÞa¹@Kb@UVaUaVaVK@k°VUllnL@V@xV@V@VVm_Wam@wlaÞbn@lL@WnLk@V@VlK@nkVVb@blKXklakw@wVK@kVW@UXK@_W@_nKV@Ub@kVUUm@ÇVU@Uk@VU@WUXWW@kVUaVUkU@WWXUKk@Ukmm¯LmmUJUIWJkImm_±WLkKm£@aVUmKUnLmWUkVmw@¥ULVWm@WUka@UmmLmm@@bUX@@WUIm@UVUK@UVUUUVVJmb@bXnmV¼nnn¦mJUVLV@VW@UzUlVnUbl`UnVl@XU@kl@bmÈUxVk@@J@¼W@ÅaVVnzmV@WJk@kWJ@lXbWbXxmVnlLXb@°lKVXnWbWVXmbV@XlbI@Kn@@x@VLlm"],
- encodeOffsets: [
- [121185, 30184]
- ]
- }
- }, {
- type: "Feature",
- id: "3306",
- properties: {
- name: "绍兴市",
- cp: [120.564, 29.7565],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@x@VnnVJnIVJV_VKXblUXJllLUUnU@UVVX@mVUUUJlXUlbV@@VLVmX@@XlaVJVXXJ@b@XU@lUJÈb¤ŌJçVUUnml@@kna@wWVU@LVKV@namwkIUwmnmlaVLkUmVUkmmIUak@VmUUVUWV_kK@UKbnkWyU@@UXwl@VUÞUVak±VUUU@mlI@wXWIWbUKkLUKVmUUmVVLLambUWmIUmnUU@aUUVym@Xkak@W@z@lWVXnmVaUbVb@VakLUKLmbUU@lkV@bbUb@nW`@Xk`Ikwm@mUXyUUkWKUk@Kb@lV¦klV¯UlWIkwKUabVVUbVXXmb@VxxkVVV@bU@@aW@kLmb@lVUIVKmL@bUV@bUV@LalnUV@nbVbUlVXJVUnx"],
- encodeOffsets: [
- [122997, 30561]
- ]
- }
- }, {
- type: "Feature",
- id: "3304",
- properties: {
- name: "嘉兴市",
- cp: [120.9155, 30.6354],
- childNum: 6
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@@blIX@@VÜVUnn@lklKnI°Þl`²LVKVbnbVaVLUVn@W¦@VkVVb@VI`@blLnLaX@VVb@U@XlVa@@kVaUKV»U_lWXU@albk@VllnLVKn@@UVIUw@y°IVVXU@VV@lwm@wVkƾaJLkΡƧƒlLÝUmW¯ķÿĉ¥IŋWnèkVƧU¯ÅmlVx@V¯az@@JU@U¦m@@nVmn@VLV"],
- encodeOffsets: [
- [123233, 31382]
- ]
- }
- }, {
- type: "Feature",
- id: "3305",
- properties: {
- name: "湖州市",
- cp: [119.8608, 30.7782],
- childNum: 4
- },
- geometry: {
- type: "Polygon",
- coordinates: ["@@kLlkm@VmÛU@UW@kJ@aUK@UnmmU@maÛL@JWUUKUwUIUJ@XKWV@Vk@UIUmVk@mm@ÅnmaUVkL@VKmLVbU@klU@ÝbV@mVUKV@wUkVmIUJ@nVV@LakJWbUIka@UmKmLKmmUUVk@@nmLX`WXUV@@nUlkmlU@UbxVVIlVnn@@nUÒ@°n@@xmb@VbnV@@b@`@L@L@x@blVklVbnnV@aXb°VlU@Wb°ULXWVUVVwÈwÜ»ĸaĠnUVw²X@V@lVU@wlaUUVm@knUV"],
- encodeOffsets: [
- [123379, 31500]
- ]
- }
- }],
- UTF8Encoding: !0
- }
- }), i("echarts/chart/gauge", ["require", "./base", "../util/shape/GaugePointer", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "zrender/shape/Circle", "zrender/shape/Sector", "../config", "../util/ecData", "../util/accMath", "zrender/tool/util", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("../util/shape/GaugePointer"),
- a = e("zrender/shape/Text"),
- o = e("zrender/shape/Line"),
- r = e("zrender/shape/Rectangle"),
- s = e("zrender/shape/Circle"),
- l = e("zrender/shape/Sector"),
- h = e("../config");
- h.gauge = {
- zlevel: 0,
- z: 2,
- center: ["50%", "50%"],
- clickable: !0,
- legendHoverLink: !0,
- radius: "75%",
- startAngle: 225,
- endAngle: -45,
- min: 0,
- max: 100,
- splitNumber: 10,
- axisLine: {
- show: !0,
- lineStyle: {
- color: [
- [.2, "#228b22"],
- [.8, "#48b"],
- [1, "#ff4500"]
- ],
- width: 30
- }
- },
- axisTick: {
- show: !0,
- splitNumber: 5,
- length: 8,
- lineStyle: {
- color: "#eee",
- width: 1,
- type: "solid"
- }
- },
- axisLabel: {
- show: !0,
- textStyle: {
- color: "auto"
- }
- },
- splitLine: {
- show: !0,
- length: 30,
- lineStyle: {
- color: "#eee",
- width: 2,
- type: "solid"
- }
- },
- pointer: {
- show: !0,
- length: "80%",
- width: 8,
- color: "auto"
- },
- title: {
- show: !0,
- offsetCenter: [0, "-40%"],
- textStyle: {
- color: "#333",
- fontSize: 15
- }
- },
- detail: {
- show: !0,
- backgroundColor: "rgba(0,0,0,0)",
- borderWidth: 0,
- borderColor: "#ccc",
- width: 100,
- height: 40,
- offsetCenter: [0, "40%"],
- textStyle: {
- color: "auto",
- fontSize: 30
- }
- }
- };
- var m = e("../util/ecData"),
- V = e("../util/accMath"),
- U = e("zrender/tool/util");
- return t.prototype = {
- type: h.CHART_TYPE_GAUGE,
- _buildShape: function() {
- var e = this.series;
- this._paramsMap = {}, this.selectedMap = {};
- for(var t = 0, i = e.length; i > t; t++) e[t].type === h.CHART_TYPE_GAUGE && (this.selectedMap[e[t].name] = !0, e[t] = this.reformOption(e[t]), this.legendHoverLink = e[t].legendHoverLink || this.legendHoverLink, this._buildSingleGauge(t), this.buildMark(t));
- this.addShapeList()
- },
- _buildSingleGauge: function(e) {
- var t = this.series[e];
- this._paramsMap[e] = {
- center: this.parseCenter(this.zr, t.center),
- radius: this.parseRadius(this.zr, t.radius),
- startAngle: t.startAngle.toFixed(2) - 0,
- endAngle: t.endAngle.toFixed(2) - 0
- }, this._paramsMap[e].totalAngle = this._paramsMap[e].startAngle - this._paramsMap[e].endAngle, this._colorMap(e), this._buildAxisLine(e), this._buildSplitLine(e), this._buildAxisTick(e), this._buildAxisLabel(e), this._buildPointer(e), this._buildTitle(e), this._buildDetail(e)
- },
- _buildAxisLine: function(e) {
- var t = this.series[e];
- if(t.axisLine.show)
- for(var i, n, a = t.min, o = t.max - a, r = this._paramsMap[e], s = r.center, l = r.startAngle, h = r.totalAngle, V = r.colorArray, U = t.axisLine.lineStyle, d = this.parsePercent(U.width, r.radius[1]), p = r.radius[1], c = p - d, u = l, y = 0, g = V.length; g > y; y++) n = l - h * (V[y][0] - a) / o, i = this._getSector(s, c, p, n, u, V[y][1], U, t.zlevel, t.z), u = n, i._animationAdd = "r", m.set(i, "seriesIndex", e), m.set(i, "dataIndex", y), this.shapeList.push(i)
- },
- _buildSplitLine: function(e) {
- var t = this.series[e];
- if(t.splitLine.show)
- for(var i, n, a, r = this._paramsMap[e], s = t.splitNumber, l = t.min, h = t.max - l, m = t.splitLine, V = this.parsePercent(m.length, r.radius[1]), U = m.lineStyle, d = U.color, p = r.center, c = r.startAngle * Math.PI / 180, u = r.totalAngle * Math.PI / 180, y = r.radius[1], g = y - V, b = 0; s >= b; b++) i = c - u / s * b, n = Math.sin(i), a = Math.cos(i), this.shapeList.push(new o({
- zlevel: t.zlevel,
- z: t.z + 1,
- hoverable: !1,
- style: {
- xStart: p[0] + a * y,
- yStart: p[1] - n * y,
- xEnd: p[0] + a * g,
- yEnd: p[1] - n * g,
- strokeColor: "auto" === d ? this._getColor(e, l + h / s * b) : d,
- lineType: U.type,
- lineWidth: U.width,
- shadowColor: U.shadowColor,
- shadowBlur: U.shadowBlur,
- shadowOffsetX: U.shadowOffsetX,
- shadowOffsetY: U.shadowOffsetY
- }
- }))
- },
- _buildAxisTick: function(e) {
- var t = this.series[e];
- if(t.axisTick.show)
- for(var i, n, a, r = this._paramsMap[e], s = t.splitNumber, l = t.min, h = t.max - l, m = t.axisTick, V = m.splitNumber, U = this.parsePercent(m.length, r.radius[1]), d = m.lineStyle, p = d.color, c = r.center, u = r.startAngle * Math.PI / 180, y = r.totalAngle * Math.PI / 180, g = r.radius[1], b = g - U, f = 0, k = s * V; k >= f; f++) f % V !== 0 && (i = u - y / k * f, n = Math.sin(i), a = Math.cos(i), this.shapeList.push(new o({
- zlevel: t.zlevel,
- z: t.z + 1,
- hoverable: !1,
- style: {
- xStart: c[0] + a * g,
- yStart: c[1] - n * g,
- xEnd: c[0] + a * b,
- yEnd: c[1] - n * b,
- strokeColor: "auto" === p ? this._getColor(e, l + h / k * f) : p,
- lineType: d.type,
- lineWidth: d.width,
- shadowColor: d.shadowColor,
- shadowBlur: d.shadowBlur,
- shadowOffsetX: d.shadowOffsetX,
- shadowOffsetY: d.shadowOffsetY
- }
- })))
- },
- _buildAxisLabel: function(e) {
- var t = this.series[e];
- if(t.axisLabel.show)
- for(var i, n, o, r, s = t.splitNumber, l = t.min, h = t.max - l, m = t.axisLabel.textStyle, U = this.getFont(m), d = m.color, p = this._paramsMap[e], c = p.center, u = p.startAngle, y = p.totalAngle, g = p.radius[1] - this.parsePercent(t.splitLine.length, p.radius[1]) - 5, b = 0; s >= b; b++) r = V.accAdd(l, V.accMul(V.accDiv(h, s), b)), i = u - y / s * b, n = Math.sin(i * Math.PI / 180), o = Math.cos(i * Math.PI / 180), i = (i + 360) % 360, this.shapeList.push(new a({
- zlevel: t.zlevel,
- z: t.z + 1,
- hoverable: !1,
- style: {
- x: c[0] + o * g,
- y: c[1] - n * g,
- color: "auto" === d ? this._getColor(e, r) : d,
- text: this._getLabelText(t.axisLabel.formatter, r),
- textAlign: i >= 110 && 250 >= i ? "left" : 70 >= i || i >= 290 ? "right" : "center",
- textBaseline: i >= 10 && 170 >= i ? "top" : i >= 190 && 350 >= i ? "bottom" : "middle",
- textFont: U,
- shadowColor: m.shadowColor,
- shadowBlur: m.shadowBlur,
- shadowOffsetX: m.shadowOffsetX,
- shadowOffsetY: m.shadowOffsetY
- }
- }))
- },
- _buildPointer: function(e) {
- var t = this.series[e];
- if(t.pointer.show) {
- var i = t.max - t.min,
- a = t.pointer,
- o = this._paramsMap[e],
- r = this.parsePercent(a.length, o.radius[1]),
- l = this.parsePercent(a.width, o.radius[1]),
- h = o.center,
- V = this._getValue(e);
- V = V < t.max ? V : t.max;
- var U = (o.startAngle - o.totalAngle / i * (V - t.min)) * Math.PI / 180,
- d = "auto" === a.color ? this._getColor(e, V) : a.color,
- p = new n({
- zlevel: t.zlevel,
- z: t.z + 1,
- clickable: this.query(t, "clickable"),
- style: {
- x: h[0],
- y: h[1],
- r: r,
- startAngle: o.startAngle * Math.PI / 180,
- angle: U,
- color: d,
- width: l,
- shadowColor: a.shadowColor,
- shadowBlur: a.shadowBlur,
- shadowOffsetX: a.shadowOffsetX,
- shadowOffsetY: a.shadowOffsetY
- },
- highlightStyle: {
- brushType: "fill",
- width: l > 2 ? 2 : l / 2,
- color: "#fff"
- }
- });
- m.pack(p, this.series[e], e, this.series[e].data[0], 0, this.series[e].data[0].name, V), this.shapeList.push(p), this.shapeList.push(new s({
- zlevel: t.zlevel,
- z: t.z + 2,
- hoverable: !1,
- style: {
- x: h[0],
- y: h[1],
- r: a.width / 2.5,
- color: "#fff"
- }
- }))
- }
- },
- _buildTitle: function(e) {
- var t = this.series[e];
- if(t.title.show) {
- var i = t.data[0],
- n = null != i.name ? i.name : "";
- if("" !== n) {
- var o = t.title,
- r = o.offsetCenter,
- s = o.textStyle,
- l = s.color,
- h = this._paramsMap[e],
- m = h.center[0] + this.parsePercent(r[0], h.radius[1]),
- V = h.center[1] + this.parsePercent(r[1], h.radius[1]);
- this.shapeList.push(new a({
- zlevel: t.zlevel,
- z: t.z + (Math.abs(m - h.center[0]) + Math.abs(V - h.center[1]) < 2 * s.fontSize ? 2 : 1),
- hoverable: !1,
- style: {
- x: m,
- y: V,
- color: "auto" === l ? this._getColor(e) : l,
- text: n,
- textAlign: "center",
- textFont: this.getFont(s),
- shadowColor: s.shadowColor,
- shadowBlur: s.shadowBlur,
- shadowOffsetX: s.shadowOffsetX,
- shadowOffsetY: s.shadowOffsetY
- }
- }))
- }
- }
- },
- _buildDetail: function(e) {
- var t = this.series[e];
- if(t.detail.show) {
- var i = t.detail,
- n = i.offsetCenter,
- a = i.backgroundColor,
- o = i.textStyle,
- s = o.color,
- l = this._paramsMap[e],
- h = this._getValue(e),
- m = l.center[0] - i.width / 2 + this.parsePercent(n[0], l.radius[1]),
- V = l.center[1] + this.parsePercent(n[1], l.radius[1]);
- this.shapeList.push(new r({
- zlevel: t.zlevel,
- z: t.z + (Math.abs(m + i.width / 2 - l.center[0]) + Math.abs(V + i.height / 2 - l.center[1]) < o.fontSize ? 2 : 1),
- hoverable: !1,
- style: {
- x: m,
- y: V,
- width: i.width,
- height: i.height,
- brushType: "both",
- color: "auto" === a ? this._getColor(e, h) : a,
- lineWidth: i.borderWidth,
- strokeColor: i.borderColor,
- shadowColor: i.shadowColor,
- shadowBlur: i.shadowBlur,
- shadowOffsetX: i.shadowOffsetX,
- shadowOffsetY: i.shadowOffsetY,
- text: this._getLabelText(i.formatter, h),
- textFont: this.getFont(o),
- textPosition: "inside",
- textColor: "auto" === s ? this._getColor(e, h) : s
- }
- }))
- }
- },
- _getValue: function(e) {
- return this.getDataFromOption(this.series[e].data[0])
- },
- _colorMap: function(e) {
- var t = this.series[e],
- i = t.min,
- n = t.max - i,
- a = t.axisLine.lineStyle.color;
- a instanceof Array || (a = [
- [1, a]
- ]);
- for(var o = [], r = 0, s = a.length; s > r; r++) o.push([a[r][0] * n + i, a[r][1]]);
- this._paramsMap[e].colorArray = o
- },
- _getColor: function(e, t) {
- null == t && (t = this._getValue(e));
- for(var i = this._paramsMap[e].colorArray, n = 0, a = i.length; a > n; n++)
- if(i[n][0] >= t) return i[n][1];
- return i[i.length - 1][1]
- },
- _getSector: function(e, t, i, n, a, o, r, s, h) {
- return new l({
- zlevel: s,
- z: h,
- hoverable: !1,
- style: {
- x: e[0],
- y: e[1],
- r0: t,
- r: i,
- startAngle: n,
- endAngle: a,
- brushType: "fill",
- color: o,
- shadowColor: r.shadowColor,
- shadowBlur: r.shadowBlur,
- shadowOffsetX: r.shadowOffsetX,
- shadowOffsetY: r.shadowOffsetY
- }
- })
- },
- _getLabelText: function(e, t) {
- if(e) {
- if("function" == typeof e) return e.call(this.myChart, t);
- if("string" == typeof e) return e.replace("{value}", t)
- }
- return t
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- }
- }, U.inherits(t, i), e("../chart").define("gauge", t), t
- }), i("echarts/util/shape/GaugePointer", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function(e) {
- function t(e) {
- i.call(this, e)
- }
- var i = e("zrender/shape/Base"),
- n = e("zrender/tool/util");
- return t.prototype = {
- type: "gauge-pointer",
- buildPath: function(e, t) {
- var i = t.r,
- n = t.width,
- a = t.angle,
- o = t.x - Math.cos(a) * n * (n >= i / 3 ? 1 : 2),
- r = t.y + Math.sin(a) * n * (n >= i / 3 ? 1 : 2);
- a = t.angle - Math.PI / 2, e.moveTo(o, r), e.lineTo(t.x + Math.cos(a) * n, t.y - Math.sin(a) * n), e.lineTo(t.x + Math.cos(t.angle) * i, t.y - Math.sin(t.angle) * i), e.lineTo(t.x - Math.cos(a) * n, t.y + Math.sin(a) * n), e.lineTo(o, r)
- },
- getRect: function(e) {
- if(e.__rect) return e.__rect;
- var t = 2 * e.width,
- i = e.x,
- n = e.y,
- a = i + Math.cos(e.angle) * e.r,
- o = n - Math.sin(e.angle) * e.r;
- return e.__rect = {
- x: Math.min(i, a) - t,
- y: Math.min(n, o) - t,
- width: Math.abs(i - a) + t,
- height: Math.abs(n - o) + t
- }, e.__rect
- },
- isCover: e("./normalIsCover")
- }, n.inherits(t, i), t
- }), i("echarts/chart/funnel", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Polygon", "../config", "../util/ecData", "../util/number", "zrender/tool/util", "zrender/tool/color", "zrender/tool/area", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Line"),
- o = e("zrender/shape/Polygon"),
- r = e("../config");
- r.funnel = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- x: 80,
- y: 60,
- x2: 80,
- y2: 60,
- min: 0,
- max: 100,
- minSize: "0%",
- maxSize: "100%",
- sort: "descending",
- gap: 0,
- funnelAlign: "center",
- itemStyle: {
- normal: {
- borderColor: "#fff",
- borderWidth: 1,
- label: {
- show: !0,
- position: "outer"
- },
- labelLine: {
- show: !0,
- length: 10,
- lineStyle: {
- width: 1,
- type: "solid"
- }
- }
- },
- emphasis: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- label: {
- show: !0
- },
- labelLine: {
- show: !0
- }
- }
- }
- };
- var s = e("../util/ecData"),
- l = e("../util/number"),
- h = e("zrender/tool/util"),
- m = e("zrender/tool/color"),
- V = e("zrender/tool/area");
- return t.prototype = {
- type: r.CHART_TYPE_FUNNEL,
- _buildShape: function() {
- var e = this.series,
- t = this.component.legend;
- this._paramsMap = {}, this._selected = {}, this.selectedMap = {};
- for(var i, n = 0, a = e.length; a > n; n++)
- if(e[n].type === r.CHART_TYPE_FUNNEL) {
- if(e[n] = this.reformOption(e[n]), this.legendHoverLink = e[n].legendHoverLink || this.legendHoverLink, i = e[n].name || "", this.selectedMap[i] = t ? t.isSelected(i) : !0, !this.selectedMap[i]) continue;
- this._buildSingleFunnel(n), this.buildMark(n)
- }
- this.addShapeList()
- },
- _buildSingleFunnel: function(e) {
- var t = this.component.legend,
- i = this.series[e],
- n = this._mapData(e),
- a = this._getLocation(e);
- this._paramsMap[e] = {
- location: a,
- data: n
- };
- for(var o, r = 0, s = [], h = 0, m = n.length; m > h; h++) o = n[h].name, this.selectedMap[o] = t ? t.isSelected(o) : !0, this.selectedMap[o] && !isNaN(n[h].value) && (s.push(n[h]), r++);
- if(0 !== r) {
- for(var V, U, d, p, c = this._buildFunnelCase(e), u = i.funnelAlign, y = i.gap, g = r > 1 ? (a.height - (r - 1) * y) / r : a.height, b = a.y, f = "descending" === i.sort ? this._getItemWidth(e, s[0].value) : l.parsePercent(i.minSize, a.width), k = "descending" === i.sort ? 1 : 0, x = a.centerX, _ = [], h = 0, m = s.length; m > h; h++)
- if(o = s[h].name, this.selectedMap[o] && !isNaN(s[h].value)) {
- switch(V = m - 2 >= h ? this._getItemWidth(e, s[h + k].value) : "descending" === i.sort ? l.parsePercent(i.minSize, a.width) : l.parsePercent(i.maxSize, a.width), u) {
- case "left":
- U = a.x;
- break;
- case "right":
- U = a.x + a.width - f;
- break;
- default:
- U = x - f / 2
- }
- d = this._buildItem(e, s[h]._index, t ? t.getColor(o) : this.zr.getColor(s[h]._index), U, b, f, V, g, u), b += g + y, p = d.style.pointList, _.unshift([p[0][0] - 10, p[0][1]]), _.push([p[1][0] + 10, p[1][1]]), 0 === h && (0 === f ? (p = _.pop(), "center" == u && (_[0][0] += 10), "right" == u && (_[0][0] = p[0]), _[0][1] -= "center" == u ? 10 : 15, 1 == m && (p = d.style.pointList)) : (_[_.length - 1][1] -= 5, _[0][1] -= 5)), f = V
- }
- c && (_.unshift([p[3][0] - 10, p[3][1]]), _.push([p[2][0] + 10, p[2][1]]), 0 === f ? (p = _.pop(), "center" == u && (_[0][0] += 10), "right" == u && (_[0][0] = p[0]), _[0][1] += "center" == u ? 10 : 15) : (_[_.length - 1][1] += 5, _[0][1] += 5), c.style.pointList = _)
- }
- },
- _buildFunnelCase: function(e) {
- var t = this.series[e];
- if(this.deepQuery([t, this.option], "calculable")) {
- var i = this._paramsMap[e].location,
- n = 10,
- a = {
- hoverable: !1,
- style: {
- pointListd: [
- [i.x - n, i.y - n],
- [i.x + i.width + n, i.y - n],
- [i.x + i.width + n, i.y + i.height + n],
- [i.x - n, i.y + i.height + n]
- ],
- brushType: "stroke",
- lineWidth: 1,
- strokeColor: t.calculableHolderColor || this.ecTheme.calculableHolderColor || r.calculableHolderColor
- }
- };
- return s.pack(a, t, e, void 0, -1), this.setCalculable(a), a = new o(a), this.shapeList.push(a), a
- }
- },
- _getLocation: function(e) {
- var t = this.series[e],
- i = this.zr.getWidth(),
- n = this.zr.getHeight(),
- a = this.parsePercent(t.x, i),
- o = this.parsePercent(t.y, n),
- r = null == t.width ? i - a - this.parsePercent(t.x2, i) : this.parsePercent(t.width, i);
- return {
- x: a,
- y: o,
- width: r,
- height: null == t.height ? n - o - this.parsePercent(t.y2, n) : this.parsePercent(t.height, n),
- centerX: a + r / 2
- }
- },
- _mapData: function(e) {
- function t(e, t) {
- return "-" === e.value ? 1 : "-" === t.value ? -1 : t.value - e.value
- }
- function i(e, i) {
- return -t(e, i)
- }
- for(var n = this.series[e], a = h.clone(n.data), o = 0, r = a.length; r > o; o++) a[o]._index = o;
- return "none" != n.sort && a.sort("descending" === n.sort ? t : i), a
- },
- _buildItem: function(e, t, i, n, a, o, r, l, h) {
- var m = this.series,
- V = m[e],
- U = V.data[t],
- d = this.getPolygon(e, t, i, n, a, o, r, l, h);
- s.pack(d, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(d);
- var p = this.getLabel(e, t, i, n, a, o, r, l, h);
- s.pack(p, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(p), this._needLabel(V, U, !1) || (p.invisible = !0);
- var c = this.getLabelLine(e, t, i, n, a, o, r, l, h);
- this.shapeList.push(c), this._needLabelLine(V, U, !1) || (c.invisible = !0);
- var u = [],
- y = [];
- return this._needLabelLine(V, U, !0) && (u.push(c.id), y.push(c.id)), this._needLabel(V, U, !0) && (u.push(p.id), y.push(d.id)), d.hoverConnect = u, p.hoverConnect = y, d
- },
- _getItemWidth: function(e, t) {
- var i = this.series[e],
- n = this._paramsMap[e].location,
- a = i.min,
- o = i.max,
- r = l.parsePercent(i.minSize, n.width),
- s = l.parsePercent(i.maxSize, n.width);
- return(t - a) * (s - r) / (o - a) + r
- },
- getPolygon: function(e, t, i, n, a, r, s, l, h) {
- var V, U = this.series[e],
- d = U.data[t],
- p = [d, U],
- c = this.deepMerge(p, "itemStyle.normal") || {},
- u = this.deepMerge(p, "itemStyle.emphasis") || {},
- y = this.getItemStyleColor(c.color, e, t, d) || i,
- g = this.getItemStyleColor(u.color, e, t, d) || ("string" == typeof y ? m.lift(y, -.2) : y);
- switch(h) {
- case "left":
- V = n;
- break;
- case "right":
- V = n + (r - s);
- break;
- default:
- V = n + (r - s) / 2
- }
- var b = {
- zlevel: U.zlevel,
- z: U.z,
- clickable: this.deepQuery(p, "clickable"),
- style: {
- pointList: [
- [n, a],
- [n + r, a],
- [V + s, a + l],
- [V, a + l]
- ],
- brushType: "both",
- color: y,
- lineWidth: c.borderWidth,
- strokeColor: c.borderColor
- },
- highlightStyle: {
- color: g,
- lineWidth: u.borderWidth,
- strokeColor: u.borderColor
- }
- };
- return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(b), b.draggable = !0), new o(b)
- },
- getLabel: function(e, t, i, a, o, r, s, l, U) {
- var d, p = this.series[e],
- c = p.data[t],
- u = this._paramsMap[e].location,
- y = h.merge(h.clone(c.itemStyle) || {}, p.itemStyle),
- g = "normal",
- b = y[g].label,
- f = b.textStyle || {},
- k = y[g].labelLine.length,
- x = this.getLabelText(e, t, g),
- _ = this.getFont(f),
- L = i;
- b.position = b.position || y.normal.label.position, "inner" === b.position || "inside" === b.position || "center" === b.position ? (d = U, L = Math.max(r, s) / 2 > V.getTextWidth(x, _) ? "#fff" : m.reverse(i)) : d = "left" === b.position ? "right" : "left";
- var W = {
- zlevel: p.zlevel,
- z: p.z + 1,
- style: {
- x: this._getLabelPoint(b.position, a, u, r, s, k, U),
- y: o + l / 2,
- color: f.color || L,
- text: x,
- textAlign: f.align || d,
- textBaseline: f.baseline || "middle",
- textFont: _
- }
- };
- return g = "emphasis", b = y[g].label || b, f = b.textStyle || f, k = y[g].labelLine.length || k, b.position = b.position || y.normal.label.position, x = this.getLabelText(e, t, g), _ = this.getFont(f), L = i, "inner" === b.position || "inside" === b.position || "center" === b.position ? (d = U, L = Math.max(r, s) / 2 > V.getTextWidth(x, _) ? "#fff" : m.reverse(i)) : d = "left" === b.position ? "right" : "left", W.highlightStyle = {
- x: this._getLabelPoint(b.position, a, u, r, s, k, U),
- color: f.color || L,
- text: x,
- textAlign: f.align || d,
- textFont: _,
- brushType: "fill"
- }, new n(W)
- },
- getLabelText: function(e, t, i) {
- var n = this.series,
- a = n[e],
- o = a.data[t],
- r = this.deepQuery([o, a], "itemStyle." + i + ".label.formatter");
- return r ? "function" == typeof r ? r.call(this.myChart, {
- seriesIndex: e,
- seriesName: a.name || "",
- series: a,
- dataIndex: t,
- data: o,
- name: o.name,
- value: o.value
- }) : "string" == typeof r ? r = r.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{a0}", a.name).replace("{b0}", o.name).replace("{c0}", o.value) : void 0 : o.name
- },
- getLabelLine: function(e, t, i, n, o, r, s, l, m) {
- var V = this.series[e],
- U = V.data[t],
- d = this._paramsMap[e].location,
- p = h.merge(h.clone(U.itemStyle) || {}, V.itemStyle),
- c = "normal",
- u = p[c].labelLine,
- y = p[c].labelLine.length,
- g = u.lineStyle || {},
- b = p[c].label;
- b.position = b.position || p.normal.label.position;
- var f = {
- zlevel: V.zlevel,
- z: V.z + 1,
- hoverable: !1,
- style: {
- xStart: this._getLabelLineStartPoint(n, d, r, s, m),
- yStart: o + l / 2,
- xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m),
- yEnd: o + l / 2,
- strokeColor: g.color || i,
- lineType: g.type,
- lineWidth: g.width
- }
- };
- return c = "emphasis", u = p[c].labelLine || u, y = p[c].labelLine.length || y, g = u.lineStyle || g, b = p[c].label || b, b.position = b.position, f.highlightStyle = {
- xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m),
- strokeColor: g.color || i,
- lineType: g.type,
- lineWidth: g.width
- }, new a(f)
- },
- _getLabelPoint: function(e, t, i, n, a, o, r) {
- switch(e = "inner" === e || "inside" === e ? "center" : e) {
- case "center":
- return "center" == r ? t + n / 2 : "left" == r ? t + 10 : t + n - 10;
- case "left":
- return "auto" === o ? i.x - 10 : "center" == r ? i.centerX - Math.max(n, a) / 2 - o : "right" == r ? t - (a > n ? a - n : 0) - o : i.x - o;
- default:
- return "auto" === o ? i.x + i.width + 10 : "center" == r ? i.centerX + Math.max(n, a) / 2 + o : "right" == r ? i.x + i.width + o : t + Math.max(n, a) + o
- }
- },
- _getLabelLineStartPoint: function(e, t, i, n, a) {
- return "center" == a ? t.centerX : n > i ? e + Math.min(i, n) / 2 : e + Math.max(i, n) / 2
- },
- _needLabel: function(e, t, i) {
- return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show")
- },
- _needLabelLine: function(e, t, i) {
- return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show")
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- }
- }, h.inherits(t, i), e("../chart").define("funnel", t), t
- }), i("echarts/chart/eventRiver", ["require", "./base", "../layout/eventRiver", "zrender/shape/Polygon", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "../util/date", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o);
- var r = this;
- r._ondragend = function() {
- r.isDragend = !0
- }, this.refresh(a)
- }
- var i = e("./base"),
- n = e("../layout/eventRiver"),
- a = e("zrender/shape/Polygon");
- e("../component/axis"), e("../component/grid"), e("../component/dataZoom");
- var o = e("../config");
- o.eventRiver = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- legendHoverLink: !0,
- itemStyle: {
- normal: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- label: {
- show: !0,
- position: "inside",
- formatter: "{b}"
- }
- },
- emphasis: {
- borderColor: "rgba(0,0,0,0)",
- borderWidth: 1,
- label: {
- show: !0
- }
- }
- }
- };
- var r = e("../util/ecData"),
- s = e("../util/date"),
- l = e("zrender/tool/util"),
- h = e("zrender/tool/color");
- return t.prototype = {
- type: o.CHART_TYPE_EVENTRIVER,
- _buildShape: function() {
- var e = this.series;
- this.selectedMap = {}, this._dataPreprocessing();
- for(var t = this.component.legend, i = [], a = 0; a < e.length; a++)
- if(e[a].type === this.type) {
- e[a] = this.reformOption(e[a]), this.legendHoverLink = e[a].legendHoverLink || this.legendHoverLink;
- var o = e[a].name || "";
- if(this.selectedMap[o] = t ? t.isSelected(o) : !0, !this.selectedMap[o]) continue;
- this.buildMark(a), i.push(this.series[a])
- }
- n(i, this._intervalX, this.component.grid.getArea()), this._drawEventRiver(), this.addShapeList()
- },
- _dataPreprocessing: function() {
- for(var e, t, i = this.series, n = 0, a = i.length; a > n; n++)
- if(i[n].type === this.type) {
- e = this.component.xAxis.getAxis(i[n].xAxisIndex || 0);
- for(var o = 0, r = i[n].data.length; r > o; o++) {
- t = i[n].data[o].evolution;
- for(var l = 0, h = t.length; h > l; l++) t[l].timeScale = e.getCoord(s.getNewDate(t[l].time) - 0), t[l].valueScale = Math.pow(t[l].value, .8)
- }
- }
- this._intervalX = Math.round(this.component.grid.getWidth() / 40)
- },
- _drawEventRiver: function() {
- for(var e = this.series, t = 0; t < e.length; t++) {
- var i = e[t].name || "";
- if(e[t].type === this.type && this.selectedMap[i])
- for(var n = 0; n < e[t].data.length; n++) this._drawEventBubble(e[t].data[n], t, n)
- }
- },
- _drawEventBubble: function(e, t, i) {
- var n = this.series,
- o = n[t],
- s = o.name || "",
- l = o.data[i],
- m = [l, o],
- V = this.component.legend,
- U = V ? V.getColor(s) : this.zr.getColor(t),
- d = this.deepMerge(m, "itemStyle.normal") || {},
- p = this.deepMerge(m, "itemStyle.emphasis") || {},
- c = this.getItemStyleColor(d.color, t, i, l) || U,
- u = this.getItemStyleColor(p.color, t, i, l) || ("string" == typeof c ? h.lift(c, -.2) : c),
- y = this._calculateControlPoints(e),
- g = {
- zlevel: o.zlevel,
- z: o.z,
- clickable: this.deepQuery(m, "clickable"),
- style: {
- pointList: y,
- smooth: "spline",
- brushType: "both",
- lineJoin: "round",
- color: c,
- lineWidth: d.borderWidth,
- strokeColor: d.borderColor
- },
- highlightStyle: {
- color: u,
- lineWidth: p.borderWidth,
- strokeColor: p.borderColor
- },
- draggable: "vertical",
- ondragend: this._ondragend
- };
- g = new a(g), this.addLabel(g, o, l, e.name), r.pack(g, n[t], t, n[t].data[i], i, n[t].data[i].name), this.shapeList.push(g)
- },
- _calculateControlPoints: function(e) {
- var t = this._intervalX,
- i = e.y,
- n = e.evolution,
- a = n.length;
- if(!(1 > a)) {
- for(var o = [], r = [], s = 0; a > s; s++) o.push(n[s].timeScale), r.push(n[s].valueScale);
- var l = [];
- l.push([o[0], i]);
- var s = 0;
- for(s = 0; a - 1 > s; s++) l.push([(o[s] + o[s + 1]) / 2, r[s] / -2 + i]);
- for(l.push([(o[s] + (o[s] + t)) / 2, r[s] / -2 + i]), l.push([o[s] + t, i]), l.push([(o[s] + (o[s] + t)) / 2, r[s] / 2 + i]), s = a - 1; s > 0; s--) l.push([(o[s] + o[s - 1]) / 2, r[s - 1] / 2 + i]);
- return l
- }
- },
- ondragend: function(e, t) {
- this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1)
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape()
- }
- }, l.inherits(t, i), e("../chart").define("eventRiver", t), t
- }), i("echarts/layout/eventRiver", ["require"], function() {
- function e(e, i, o) {
- function r(e, t) {
- var i = e.importance,
- n = t.importance;
- return i > n ? -1 : n > i ? 1 : 0
- }
- for(var s = 4, l = 0; l < e.length; l++) {
- for(var h = 0; h < e[l].data.length; h++) {
- null == e[l].data[h].weight && (e[l].data[h].weight = 1);
- for(var m = 0, V = 0; V < e[l].data[h].evolution.length; V++) m += e[l].data[h].evolution[V].valueScale;
- e[l].data[h].importance = m * e[l].data[h].weight
- }
- e[l].data.sort(r)
- }
- for(var l = 0; l < e.length; l++) {
- null == e[l].weight && (e[l].weight = 1);
- for(var m = 0, h = 0; h < e[l].data.length; h++) m += e[l].data[h].weight;
- e[l].importance = m * e[l].weight
- }
- e.sort(r);
- for(var U = Number.MAX_VALUE, d = 0, l = 0; l < e.length; l++)
- for(var h = 0; h < e[l].data.length; h++)
- for(var V = 0; V < e[l].data[h].evolution.length; V++) {
- var p = e[l].data[h].evolution[V].timeScale;
- U = Math.min(U, p), d = Math.max(d, p)
- }
- U = ~~U, d = ~~d;
- for(var c = function() {
- var e = d - U + 1 + ~~i;
- if(0 >= e) return [0];
- for(var t = []; e--;) t.push(0);
- return t
- }(), u = c.slice(0), y = [], g = 0, b = 0, l = 0; l < e.length; l++)
- for(var h = 0; h < e[l].data.length; h++) {
- var f = e[l].data[h];
- f.time = [], f.value = [];
- for(var k, x = 0, V = 0; V < e[l].data[h].evolution.length; V++) k = e[l].data[h].evolution[V], f.time.push(k.timeScale), f.value.push(k.valueScale), x = Math.max(x, k.valueScale);
- n(f, i, U), f.y = a(u, f, function(e, t) {
- return e.ypx[t]
- }), f._offset = a(c, f, function() {
- return s
- }), g = Math.max(g, f.y + x), b = Math.max(b, f._offset), y.push(f)
- }
- t(y, o, g, b)
- }
- function t(e, t, i, n) {
- for(var a = t.height, o = n / a > .5 ? .5 : 1, r = t.y, s = (t.height - n) / i, l = 0, h = e.length; h > l; l++) {
- var m = e[l];
- m.y = r + s * m.y + m._offset * o, delete m.time, delete m.value, delete m.xpx, delete m.ypx, delete m._offset;
- for(var V = m.evolution, U = 0, d = V.length; d > U; U++) V[U].valueScale *= s
- }
- }
- function i(e, t, i, n) {
- if(e === i) throw new Error("x0 is equal with x1!!!");
- if(t === n) return function() {
- return t
- };
- var a = (t - n) / (e - i),
- o = (n * e - t * i) / (e - i);
- return function(e) {
- return a * e + o
- }
- }
- function n(e, t, n) {
- var a = ~~t,
- o = e.time.length;
- e.xpx = [], e.ypx = [];
- for(var r, s = 0, l = 0, h = 0, m = 0, V = 0; o > s; s++) {
- l = ~~e.time[s], m = e.value[s] / 2, s === o - 1 ? (h = l + a, V = 0) : (h = ~~e.time[s + 1], V = e.value[s + 1] / 2), r = i(l, m, h, V);
- for(var U = l; h > U; U++) e.xpx.push(U - n), e.ypx.push(r(U))
- }
- e.xpx.push(h - n), e.ypx.push(V)
- }
- function a(e, t, i) {
- for(var n, a = 0, o = t.xpx.length, r = 0; o > r; r++) n = i(t, r), a = Math.max(a, n + e[t.xpx[r]]);
- for(r = 0; o > r; r++) n = i(t, r), e[t.xpx[r]] = a + n;
- return a
- }
- return e
- }), i("echarts/chart/venn", ["require", "./base", "zrender/shape/Text", "zrender/shape/Circle", "zrender/shape/Path", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("zrender/shape/Circle"),
- o = e("zrender/shape/Path"),
- r = e("../config");
- r.venn = {
- zlevel: 0,
- z: 1,
- calculable: !1
- };
- var s = e("../util/ecData"),
- l = e("zrender/tool/util");
- return t.prototype = {
- type: r.CHART_TYPE_VENN,
- _buildShape: function() {
- this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._vennDataCounter = 0;
- for(var e = this.series, t = this.component.legend, i = 0; i < e.length; i++)
- if(e[i].type === r.CHART_TYPE_VENN) {
- e[i] = this.reformOption(e[i]);
- var n = e[i].name || "";
- if(this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue;
- this._buildVenn(i)
- }
- this.addShapeList()
- },
- _buildVenn: function(e) {
- var t, i, n = this.series[e],
- a = n.data;
- a[0].value > a[1].value ? (t = this.zr.getHeight() / 3, i = t * Math.sqrt(a[1].value) / Math.sqrt(a[0].value)) : (i = this.zr.getHeight() / 3, t = i * Math.sqrt(a[0].value) / Math.sqrt(a[1].value));
- var o = this.zr.getWidth() / 2 - t,
- r = (t + i) / 2 * Math.sqrt(a[2].value) / Math.sqrt((a[0].value + a[1].value) / 2),
- s = t + i;
- 0 !== a[2].value && (s = this._getCoincideLength(a[0].value, a[1].value, a[2].value, t, i, r, Math.abs(t - i), t + i));
- var l = o + s,
- h = this.zr.getHeight() / 2;
- if(this._buildItem(e, 0, a[0], o, h, t), this._buildItem(e, 1, a[1], l, h, i), 0 !== a[2].value && a[2].value !== a[0].value && a[2].value !== a[1].value) {
- var m = (t * t - i * i) / (2 * s) + s / 2,
- V = s / 2 - (t * t - i * i) / (2 * s),
- U = Math.sqrt(t * t - m * m),
- d = 0,
- p = 0;
- a[0].value > a[1].value && o + m > l && (p = 1), a[0].value < a[1].value && o + V > l && (d = 1), this._buildCoincideItem(e, 2, a[2], o + m, h - U, h + U, t, i, d, p)
- }
- },
- _getCoincideLength: function(e, t, i, n, a, o, r, s) {
- var l = (n * n - a * a) / (2 * o) + o / 2,
- h = o / 2 - (n * n - a * a) / (2 * o),
- m = Math.acos(l / n),
- V = Math.acos(h / a),
- U = n * n * Math.PI,
- d = m * n * n - l * n * Math.sin(m) + V * a * a - h * a * Math.sin(V),
- p = d / U,
- c = i / e,
- u = Math.abs(p / c);
- return u > .999 && 1.001 > u ? o : .999 >= u ? (s = o, o = (o + r) / 2, this._getCoincideLength(e, t, i, n, a, o, r, s)) : (r = o, o = (o + s) / 2, this._getCoincideLength(e, t, i, n, a, o, r, s))
- },
- _buildItem: function(e, t, i, n, a, o) {
- var r = this.series,
- l = r[e],
- h = this.getCircle(e, t, i, n, a, o);
- if(s.pack(h, l, e, i, t, i.name), this.shapeList.push(h), l.itemStyle.normal.label.show) {
- var m = this.getLabel(e, t, i, n, a, o);
- s.pack(m, l, e, l.data[t], t, l.data[t].name), this.shapeList.push(m)
- }
- },
- _buildCoincideItem: function(e, t, i, n, a, r, l, h, m, V) {
- var U = this.series,
- d = U[e],
- p = [i, d],
- c = this.deepMerge(p, "itemStyle.normal") || {},
- u = this.deepMerge(p, "itemStyle.emphasis") || {},
- y = c.color || this.zr.getColor(t),
- g = u.color || this.zr.getColor(t),
- b = "M" + n + "," + a + "A" + l + "," + l + ",0," + m + ",1," + n + "," + r + "A" + h + "," + h + ",0," + V + ",1," + n + "," + a,
- f = {
- color: y,
- path: b
- },
- k = {
- zlevel: d.zlevel,
- z: d.z,
- style: f,
- highlightStyle: {
- color: g,
- lineWidth: u.borderWidth,
- strokeColor: u.borderColor
- }
- };
- k = new o(k), k.buildPathArray && (k.style.pathArray = k.buildPathArray(f.path)), s.pack(k, U[e], 0, i, t, i.name), this.shapeList.push(k)
- },
- getCircle: function(e, t, i, n, o, r) {
- var s = this.series[e],
- l = [i, s],
- h = this.deepMerge(l, "itemStyle.normal") || {},
- m = this.deepMerge(l, "itemStyle.emphasis") || {},
- V = h.color || this.zr.getColor(t),
- U = m.color || this.zr.getColor(t),
- d = {
- zlevel: s.zlevel,
- z: s.z,
- clickable: !0,
- style: {
- x: n,
- y: o,
- r: r,
- brushType: "fill",
- opacity: 1,
- color: V
- },
- highlightStyle: {
- color: U,
- lineWidth: m.borderWidth,
- strokeColor: m.borderColor
- }
- };
- return this.deepQuery([i, s, this.option], "calculable") && (this.setCalculable(d), d.draggable = !0), new a(d)
- },
- getLabel: function(e, t, i, a, o, r) {
- var s = this.series[e],
- l = s.itemStyle,
- h = [i, s],
- m = this.deepMerge(h, "itemStyle.normal") || {},
- V = "normal",
- U = l[V].label,
- d = U.textStyle || {},
- p = this.getLabelText(t, i, V),
- c = this.getFont(d),
- u = m.color || this.zr.getColor(t),
- y = d.fontSize || 12,
- g = {
- zlevel: s.zlevel,
- z: s.z,
- style: {
- x: a,
- y: o - r - y,
- color: d.color || u,
- text: p,
- textFont: c,
- textAlign: "center"
- }
- };
- return new n(g)
- },
- getLabelText: function(e, t, i) {
- var n = this.series,
- a = n[0],
- o = this.deepQuery([t, a], "itemStyle." + i + ".label.formatter");
- return o ? "function" == typeof o ? o(a.name, t.name, t.value) : "string" == typeof o ? (o = o.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), o = o.replace("{a0}", a.name).replace("{b0}", t.name).replace("{c0}", t.value)) : void 0 : t.name
- },
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this._buildShape()
- }
- }, l.inherits(t, i), e("../chart").define("venn", t), t
- }), i("echarts/chart/treemap", ["require", "./base", "zrender/tool/area", "zrender/shape/Rectangle", "zrender/shape/Text", "zrender/shape/Line", "../layout/TreeMap", "../data/Tree", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a);
- var r = this;
- r._onclick = function(e) {
- return r.__onclick(e)
- }, r.zr.on(V.EVENT.CLICK, r._onclick)
- }
- var i = e("./base"),
- n = e("zrender/tool/area"),
- a = e("zrender/shape/Rectangle"),
- o = e("zrender/shape/Text"),
- r = e("zrender/shape/Line"),
- s = e("../layout/TreeMap"),
- l = e("../data/Tree"),
- h = e("../config");
- h.treemap = {
- zlevel: 0,
- z: 1,
- calculable: !1,
- clickable: !0,
- center: ["50%", "50%"],
- size: ["80%", "80%"],
- root: "",
- itemStyle: {
- normal: {
- label: {
- show: !0,
- x: 5,
- y: 12,
- textStyle: {
- align: "left",
- color: "#000",
- fontFamily: "Arial",
- fontSize: 13,
- fontStyle: "normal",
- fontWeight: "normal"
- }
- },
- breadcrumb: {
- show: !0,
- textStyle: {}
- },
- borderWidth: 1,
- borderColor: "#ccc",
- childBorderWidth: 1,
- childBorderColor: "#ccc"
- },
- emphasis: {}
- }
- };
- var m = e("../util/ecData"),
- V = e("zrender/config"),
- U = (e("zrender/tool/event"), e("zrender/tool/util")),
- d = e("zrender/tool/color");
- return t.prototype = {
- type: h.CHART_TYPE_TREEMAP,
- refresh: function(e) {
- this.clear(), e && (this.option = e, this.series = this.option.series), this._treesMap = {};
- for(var t = this.series, i = this.component.legend, n = 0; n < t.length; n++)
- if(t[n].type === h.CHART_TYPE_TREEMAP) {
- t[n] = this.reformOption(t[n]);
- var a = t[n].name || "";
- if(this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue;
- this._buildSeries(t[n], n)
- }
- },
- _buildSeries: function(e, t) {
- var i = l.fromOptionData(e.name, e.data);
- this._treesMap[t] = i;
- var n = e.root && i.getNodeById(e.root) || i.root;
- this._buildTreemap(n, t)
- },
- _buildTreemap: function(e, t) {
- for(var i = this.shapeList, n = 0; n < i.length;) {
- var a = i[n];
- m.get(a, "seriesIndex") === t ? (this.zr.delShape(i[n]), i.splice(n, 1)) : n++
- }
- for(var o = i.length, r = this.series[t], l = r.itemStyle, h = this.parsePercent(r.size[0], this.zr.getWidth()) || 400, V = this.parsePercent(r.size[1], this.zr.getHeight()) || 500, U = this.parseCenter(this.zr, r.center), d = U[0] - .5 * h, p = U[1] - .5 * V, c = h * V, u = 0, y = [], g = e.children, n = 0; n < g.length; n++) u += g[n].data.value;
- for(var b = 0; b < g.length; b++) y.push(g[b].data.value * c / u);
- for(var f = new s({
- x: d,
- y: p,
- width: h,
- height: V
- }), k = f.run(y), x = 0; x < k.length; x++) {
- var _ = g[x].data,
- L = k[x],
- W = [_.itemStyle, l],
- X = this.deepMerge(W);
- X.normal.color || (X.normal.color = this.zr.getColor(x)), X.emphasis.color || (X.emphasis.color = X.normal.color), this._buildItem(_, X, L, t, x), _.children && this._buildChildrenTreemap(_.children, X, L, t)
- }
- this.query(r, "itemStyle.normal.breadcrumb.show") && this._buildBreadcrumb(e, t, d, p + V);
- for(var n = o; n < i.length; n++) this.zr.addShape(i[n])
- },
- _buildItem: function(e, t, i, n, a) {
- var o = this.series,
- r = this.getRectangle(e, t, i);
- m.pack(r, o[n], n, e, a, e.name), this.shapeList.push(r)
- },
- getRectangle: function(e, t, i) {
- var n = t.emphasis,
- o = t.normal,
- r = this.getLabel(t, i, e.name, e.value),
- s = this.option.hoverable,
- l = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: s,
- clickable: !0,
- style: U.merge({
- x: i.x,
- y: i.y,
- width: i.width,
- height: i.height,
- brushType: "both",
- color: o.color,
- lineWidth: o.borderWidth,
- strokeColor: o.borderColor
- }, r.style, !0),
- highlightStyle: U.merge({
- color: n.color,
- lineWidth: n.borderWidth,
- strokeColor: n.borderColor
- }, r.highlightStyle, !0)
- };
- return new a(l)
- },
- getLabel: function(e, t, i, a) {
- var o = e.normal.label.textStyle,
- r = [e.emphasis.label.textStyle, o],
- s = this.deepMerge(r),
- l = e.normal.label.formatter,
- h = this.getLabelText(i, a, l),
- m = this.getFont(o),
- V = n.getTextWidth(h, m),
- U = n.getTextHeight(h, m),
- d = this.deepQuery([e.emphasis, e.normal], "label.formatter"),
- p = this.getLabelText(i, a, d),
- c = this.getFont(s),
- u = n.getTextWidth(h, c),
- y = n.getTextHeight(h, c);
- e.normal.label.show ? (e.normal.label.x + V > t.width || e.normal.label.y + U > t.height) && (h = "") : h = "", e.emphasis.label.show ? (s.x + u > t.width || s.y + y > t.height) && (p = "") : p = "";
- var g = {
- style: {
- textX: t.x + e.normal.label.x,
- textY: t.y + e.normal.label.y,
- text: h,
- textPosition: "specific",
- textColor: o.color,
- textFont: m
- },
- highlightStyle: {
- textX: t.x + e.emphasis.label.x,
- textY: t.y + e.emphasis.label.y,
- text: p,
- textColor: s.color,
- textPosition: "specific"
- }
- };
- return g
- },
- getLabelText: function(e, t, i) {
- return i ? "function" == typeof i ? i.call(this.myChart, e, t) : "string" == typeof i ? (i = i.replace("{b}", "{b0}").replace("{c}", "{c0}"), i = i.replace("{b0}", e).replace("{c0}", t)) : void 0 : e
- },
- _buildChildrenTreemap: function(e, t, i, n) {
- for(var a = i.width * i.height, o = 0, r = [], l = 0; l < e.length; l++) o += e[l].value;
- for(var h = 0; h < e.length; h++) r.push(e[h].value * a / o);
- for(var V = new s({
- x: i.x,
- y: i.y,
- width: i.width,
- height: i.height
- }), U = V.run(r), d = t.normal.childBorderWidth, p = t.normal.childBorderColor, c = 0; c < U.length; c++) {
- var u = U[c],
- y = [];
- i.y.toFixed(2) !== u.y.toFixed(2) && y.push(this._getLine(u.x, u.y, u.x + u.width, u.y, d, p)), i.x.toFixed(2) !== u.x.toFixed(2) && y.push(this._getLine(u.x, u.y, u.x, u.y + u.height, d, p)), (i.y + i.height).toFixed(2) !== (u.y + u.height).toFixed(2) && y.push(this._getLine(u.x, u.y + u.height, u.x + u.width, u.y + u.height, d, p)), (i.x + i.width).toFixed(2) !== (u.x + u.width).toFixed(2) && y.push(this._getLine(u.x + u.width, u.y, u.x + u.width, u.y + u.height, d, p));
- for(var g = 0; g < y.length; g++) m.set(y[g], "seriesIndex", n), this.shapeList.push(y[g])
- }
- },
- _getLine: function(e, t, i, n, a, o) {
- var s = {
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- hoverable: !1,
- style: {
- xStart: e,
- yStart: t,
- xEnd: i,
- yEnd: n,
- lineWidth: a,
- strokeColor: o
- }
- };
- return new r(s)
- },
- _buildBreadcrumb: function(e, t, i, n) {
- for(var a = [], r = e; r;) a.unshift(r.data.name), r = r.parent;
- for(var s = this.series[t], l = this.query(s, "itemStyle.normal.breadcrumb.textStyle") || {}, h = this.query(s, "itemStyle.emphasis.breadcrumb.textStyle") || {}, V = {
- y: n + 10,
- textBaseline: "top",
- textAlign: "left",
- color: l.color,
- textFont: this.getFont(l)
- }, p = {
- brushType: "fill",
- color: h.color || d.lift(l.color, -.3),
- textFont: this.getFont(h)
- }, c = 0; c < a.length; c++) {
- var u = new o({
- zlevel: this.getZlevelBase(),
- z: this.getZBase(),
- style: U.merge({
- x: i,
- text: a[c] + (a.length - 1 - c ? " > " : "")
- }, V),
- clickable: !0,
- highlightStyle: p
- });
- m.set(u, "seriesIndex", t), m.set(u, "name", a[c]), i += u.getRect(u.style).width, this.shapeList.push(u)
- }
- },
- __onclick: function(e) {
- var t = e.target;
- if(t) {
- var i = m.get(t, "seriesIndex"),
- n = m.get(t, "name"),
- a = this._treesMap[i],
- o = a.getNodeById(n);
- o && o.children.length && this._buildTreemap(o, i)
- }
- }
- }, U.inherits(t, i), e("../chart").define("treemap", t), t
- }), i("echarts/layout/TreeMap", ["require"], function() {
- function e(e) {
- ({
- x: e.x,
- y: e.y,
- width: e.width,
- height: e.height
- });
- this.x = e.x, this.y = e.y, this.width = e.width, this.height = e.height
- }
- return e.prototype.run = function(e) {
- var t = [];
- return this._squarify(e, {
- x: this.x,
- y: this.y,
- width: this.width,
- height: this.height
- }, t), t
- }, e.prototype._squarify = function(e, t, i) {
- var n = "VERTICAL",
- a = t.width,
- o = t.height;
- t.width < t.height && (n = "HORIZONTAL", a = t.height, o = t.width);
- for(var r = this._getShapeListInAbstractRow(e, a, o), s = 0; s < r.length; s++) {
- r[s].x = 0, r[s].y = 0;
- for(var l = 0; s > l; l++) r[s].y += r[l].height
- }
- var h = {};
- if("VERTICAL" == n) {
- for(var m = 0; m < r.length; m++) i.push({
- x: r[m].x + t.x,
- y: r[m].y + t.y,
- width: r[m].width,
- height: r[m].height
- });
- h = {
- x: r[0].width + t.x,
- y: t.y,
- width: t.width - r[0].width,
- height: t.height
- }
- } else {
- for(var V = 0; V < r.length; V++) i.push({
- x: r[V].y + t.x,
- y: r[V].x + t.y,
- width: r[V].height,
- height: r[V].width
- });
- h = {
- x: t.x,
- y: t.y + r[0].width,
- width: t.width,
- height: t.height - r[0].width
- }
- }
- var U = e.slice(r.length);
- 0 !== U.length && this._squarify(U, h, i)
- }, e.prototype._getShapeListInAbstractRow = function(e, t, i) {
- if(1 === e.length) return [{
- width: t,
- height: i
- }];
- for(var n = 1; n < e.length; n++) {
- var a = this._placeFixedNumberRectangles(e.slice(0, n), t, i),
- o = this._placeFixedNumberRectangles(e.slice(0, n + 1), t, i);
- if(this._isFirstBetter(a, o)) return a
- }
- }, e.prototype._placeFixedNumberRectangles = function(e, t, i) {
- for(var n = e.length, a = [], o = 0, r = 0; r < e.length; r++) o += e[r];
- for(var s = o / i, l = 0; n > l; l++) {
- var h = i * e[l] / o;
- a.push({
- width: s,
- height: h
- })
- }
- return a
- }, e.prototype._isFirstBetter = function(e, t) {
- var i = e[0].height / e[0].width;
- i = i > 1 ? 1 / i : i;
- var n = t[0].height / t[0].width;
- return n = n > 1 ? 1 / n : n, Math.abs(i - 1) <= Math.abs(n - 1) ? !0 : !1
- }, e
- }), i("echarts/data/Tree", ["require", "zrender/tool/util"], function(e) {
- function t(e, t) {
- this.id = e, this.depth = 0, this.height = 0, this.children = [], this.parent = null, this.data = t || null
- }
- function i(e) {
- this.root = new t(e)
- }
- var n = e("zrender/tool/util");
- return t.prototype.add = function(e) {
- var t = this.children;
- e.parent !== this && (t.push(e), e.parent = this)
- }, t.prototype.remove = function(e) {
- var t = this.children,
- i = n.indexOf(t, e);
- i >= 0 && (t.splice(i, 1), e.parent = null)
- }, t.prototype.traverse = function(e, t) {
- e.call(t, this);
- for(var i = 0; i < this.children.length; i++) this.children[i].traverse(e, t)
- }, t.prototype.updateDepthAndHeight = function(e) {
- var t = 0;
- this.depth = e;
- for(var i = 0; i < this.children.length; i++) {
- var n = this.children[i];
- n.updateDepthAndHeight(e + 1), n.height > t && (t = n.height)
- }
- this.height = t + 1
- }, t.prototype.getNodeById = function(e) {
- if(this.id === e) return this;
- for(var t = 0; t < this.children.length; t++) {
- var i = this.children[t].getNodeById(e);
- if(i) return i
- }
- }, i.prototype.traverse = function(e, t) {
- this.root.traverse(e, t)
- }, i.prototype.getSubTree = function(e) {
- var t = this.getNodeById(e);
- if(t) {
- var n = new i(t.id);
- return n.root = t, n
- }
- }, i.prototype.getNodeById = function(e) {
- return this.root.getNodeById(e)
- }, i.fromOptionData = function(e, n) {
- function a(e, i) {
- var n = new t(e.name, e);
- i.add(n);
- var o = e.children;
- if(o)
- for(var r = 0; r < o.length; r++) a(o[r], n)
- }
- var o = new i(e),
- r = o.root;
- r.data = {
- name: e,
- children: n
- };
- for(var s = 0; s < n.length; s++) a(n[s], r);
- return o.root.updateDepthAndHeight(0), o
- }, i.fromGraph = function(e) {
- function n(t) {
- for(var i = e.getNodeById(t.id), a = 0; a < i.outEdges.length; a++) {
- var r = i.outEdges[a],
- s = o[r.node2.id];
- t.children.push(s), n(s)
- }
- }
- for(var a = {}, o = {}, r = 0; r < e.nodes.length; r++) {
- var s, l = e.nodes[r];
- 0 === l.inDegree() ? (a[l.id] = new i(l.id), s = a[l.id].root) : s = new t(l.id), s.data = l.data, o[l.id] = s
- }
- var h = [];
- for(var m in a) n(a[m].root), a[m].root.updateDepthAndHeight(0), h.push(a[m]);
- return h
- }, i
- }), i("echarts/chart/tree", ["require", "./base", "../util/shape/Icon", "zrender/shape/Image", "zrender/shape/Line", "zrender/shape/BezierCurve", "../layout/Tree", "../data/Tree", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/util", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = .618,
- a = e("../util/shape/Icon"),
- o = e("zrender/shape/Image"),
- r = e("zrender/shape/Line"),
- s = e("zrender/shape/BezierCurve"),
- l = e("../layout/Tree"),
- h = e("../data/Tree"),
- m = e("../config");
- m.tree = {
- zlevel: 1,
- z: 2,
- calculable: !1,
- clickable: !0,
- rootLocation: {},
- orient: "vertical",
- symbol: "circle",
- symbolSize: 20,
- nodePadding: 30,
- layerPadding: 100,
- itemStyle: {
- normal: {
- label: {
- show: !0
- },
- lineStyle: {
- width: 1,
- color: "#777",
- type: "curve"
- }
- },
- emphasis: {}
- }
- };
- var V = e("../util/ecData"),
- U = (e("zrender/config"), e("zrender/tool/event"), e("zrender/tool/util"));
- return t.prototype = {
- type: m.CHART_TYPE_TREE,
- _buildShape: function(e, t) {
- var i = e.data[0];
- this.tree = h.fromOptionData(i.name, i.children), this.tree.root.data = i, this._setTreeShape(e), this.tree.traverse(function(i) {
- this._buildItem(i, e, t), i.children.length > 0 && this._buildLink(i, e)
- }, this);
- var n = e.roam === !0 || "move" === e.roam,
- a = e.roam === !0 || "scale" === e.roam;
- this.zr.modLayer(this.getZlevelBase(), {
- panable: n,
- zoomable: a
- }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(m.EFFECT_ZLEVEL, {
- panable: n,
- zoomable: a
- }), this.addShapeList()
- },
- _buildItem: function(e, t, i) {
- var n = [e.data, t],
- r = this.deepQuery(n, "symbol"),
- s = this.deepMerge(n, "itemStyle.normal") || {},
- l = this.deepMerge(n, "itemStyle.emphasis") || {},
- h = s.color || this.zr.getColor(),
- m = l.color || this.zr.getColor(),
- U = -e.layout.angle || 0;
- e.id === this.tree.root.id && (U = 0);
- var d = "right";
- Math.abs(U) >= Math.PI / 2 && Math.abs(U) < 3 * Math.PI / 2 && (U += Math.PI, d = "left");
- var p = [U, e.layout.position[0], e.layout.position[1]],
- c = new a({
- zlevel: this.getZlevelBase(),
- z: this.getZBase() + 1,
- rotation: p,
- clickable: this.deepQuery(n, "clickable"),
- style: {
- x: e.layout.position[0] - .5 * e.layout.width,
- y: e.layout.position[1] - .5 * e.layout.height,
- width: e.layout.width,
- height: e.layout.height,
- iconType: r,
- color: h,
- brushType: "both",
- lineWidth: s.borderWidth,
- strokeColor: s.borderColor
- },
- highlightStyle: {
- color: m,
- lineWidth: l.borderWidth,
- strokeColor: l.borderColor
- }
- });
- c.style.iconType.match("image") && (c.style.image = c.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), c = new o({
- rotation: p,
- style: c.style,
- highlightStyle: c.highlightStyle,
- clickable: c.clickable,
- zlevel: this.getZlevelBase(),
- z: this.getZBase()
- })), this.deepQuery(n, "itemStyle.normal.label.show") && (c.style.text = null == e.data.label ? e.id : e.data.label, c.style.textPosition = this.deepQuery(n, "itemStyle.normal.label.position"), "radial" === t.orient && "inside" !== c.style.textPosition && (c.style.textPosition = d), c.style.textColor = this.deepQuery(n, "itemStyle.normal.label.textStyle.color"), c.style.textFont = this.getFont(this.deepQuery(n, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(n, "itemStyle.emphasis.label.show") && (c.highlightStyle.textPosition = this.deepQuery(n, "itemStyle.emphasis.label.position"), c.highlightStyle.textColor = this.deepQuery(n, "itemStyle.emphasis.label.textStyle.color"), c.highlightStyle.textFont = this.getFont(this.deepQuery(n, "itemStyle.emphasis.label.textStyle") || {})), V.pack(c, t, i, e.data, 0, e.id), this.shapeList.push(c)
- },
- _buildLink: function(e, t) {
- var i = t.itemStyle.normal.lineStyle;
- if("broken" === i.type) return void this._buildBrokenLine(e, i, t);
- for(var n = 0; n < e.children.length; n++) {
- var a = e.layout.position[0],
- o = e.layout.position[1],
- r = e.children[n].layout.position[0],
- s = e.children[n].layout.position[1];
- switch(i.type) {
- case "curve":
- this._buildBezierCurve(e, e.children[n], i, t);
- break;
- case "broken":
- break;
- default:
- var l = this._getLine(a, o, r, s, i);
- this.shapeList.push(l)
- }
- }
- },
- _buildBrokenLine: function(e, t, i) {
- var a = U.clone(t);
- a.type = "solid";
- var o = [],
- r = e.layout.position[0],
- s = e.layout.position[1],
- l = i.orient,
- h = e.children[0].layout.position[1],
- m = r,
- V = s + (h - s) * (1 - n),
- d = e.children[0].layout.position[0],
- p = V,
- c = e.children[e.children.length - 1].layout.position[0],
- u = V;
- if("horizontal" === l) {
- var y = e.children[0].layout.position[0];
- m = r + (y - r) * (1 - n), V = s, d = m, p = e.children[0].layout.position[1], c = m, u = e.children[e.children.length - 1].layout.position[1]
- }
- o.push(this._getLine(r, s, m, V, a)), o.push(this._getLine(d, p, c, u, a));
- for(var g = 0; g < e.children.length; g++) y = e.children[g].layout.position[0], h = e.children[g].layout.position[1], "horizontal" === l ? p = h : d = y, o.push(this._getLine(d, p, y, h, a));
- this.shapeList = this.shapeList.concat(o)
- },
- _getLine: function(e, t, i, n, a) {
- return e === i && (e = i = this.subPixelOptimize(e, a.width)), t === n && (t = n = this.subPixelOptimize(t, a.width)), new r({
- zlevel: this.getZlevelBase(),
- hoverable: !1,
- style: U.merge({
- xStart: e,
- yStart: t,
- xEnd: i,
- yEnd: n,
- lineType: a.type,
- strokeColor: a.color,
- lineWidth: a.width
- }, a, !0)
- })
- },
- _buildBezierCurve: function(e, t, i, a) {
- var o = n,
- r = a.orient,
- l = e.layout.position[0],
- h = e.layout.position[1],
- m = t.layout.position[0],
- V = t.layout.position[1],
- d = l,
- p = (V - h) * o + h,
- c = m,
- u = (V - h) * (1 - o) + h;
- if("horizontal" === r) d = (m - l) * o + l, p = h, c = (m - l) * (1 - o) + l, u = V;
- else if("radial" === r)
- if(e.id === this.tree.root.id) d = (m - l) * o + l, p = (V - h) * o + h, c = (m - l) * (1 - o) + l, u = (V - h) * (1 - o) + h;
- else {
- var y = e.layout.originPosition[0],
- g = e.layout.originPosition[1],
- b = t.layout.originPosition[0],
- f = t.layout.originPosition[1],
- k = this.tree.root.layout.position[0],
- x = this.tree.root.layout.position[1];
- d = y, p = (f - g) * o + g, c = b, u = (f - g) * (1 - o) + g;
- var _ = (d - this.minX) / this.width * Math.PI * 2;
- d = p * Math.cos(_) + k, p = p * Math.sin(_) + x, _ = (c - this.minX) / this.width * Math.PI * 2, c = u * Math.cos(_) + k, u = u * Math.sin(_) + x
- }
- var L = new s({
- zlevel: this.getZlevelBase(),
- hoverable: !1,
- style: U.merge({
- xStart: l,
- yStart: h,
- cpX1: d,
- cpY1: p,
- cpX2: c,
- cpY2: u,
- xEnd: m,
- yEnd: V,
- strokeColor: i.color,
- lineWidth: i.width
- }, i, !0)
- });
- this.shapeList.push(L)
- },
- _setTreeShape: function(e) {
- var t = new l({
- nodePadding: e.nodePadding,
- layerPadding: e.layerPadding
- });
- this.tree.traverse(function(t) {
- var i = [t.data, e],
- n = this.deepQuery(i, "symbolSize");
- "number" == typeof n && (n = [n, n]), t.layout = {
- width: n[0],
- height: n[1]
- }
- }, this), t.run(this.tree);
- var i = e.orient,
- n = e.rootLocation.x,
- a = e.rootLocation.y,
- o = this.zr.getWidth(),
- r = this.zr.getHeight();
- n = "center" === n ? .5 * o : this.parsePercent(n, o), a = "center" === a ? .5 * r : this.parsePercent(a, r), a = this.parsePercent(a, r), "horizontal" === i && (n = isNaN(n) ? 10 : n, a = isNaN(a) ? .5 * r : a), "radial" === i ? (n = isNaN(n) ? .5 * o : n, a = isNaN(a) ? .5 * r : a) : (n = isNaN(n) ? .5 * o : n, a = isNaN(a) ? 10 : a);
- var s = this.tree.root.layout.position[0];
- if("radial" === i) {
- var h = 1 / 0,
- m = 0,
- V = 0;
- this.tree.traverse(function(e) {
- m = Math.max(m, e.layout.position[0]), h = Math.min(h, e.layout.position[0]), V = Math.max(V, e.layout.width)
- }), this.width = m - h + 2 * V, this.minX = h
- }
- this.tree.traverse(function(t) {
- var o, r;
- if("vertical" === i && "inverse" === e.direction) o = t.layout.position[0] - s + n, r = a - t.layout.position[1];
- else if("vertical" === i) o = t.layout.position[0] - s + n, r = t.layout.position[1] + a;
- else if("horizontal" === i && "inverse" === e.direction) r = t.layout.position[0] - s + a, o = n - t.layout.position[1];
- else if("horizontal" === i) r = t.layout.position[0] - s + a, o = t.layout.position[1] + n;
- else {
- o = t.layout.position[0], r = t.layout.position[1], t.layout.originPosition = [o, r];
- var l = r,
- m = (o - h) / this.width * Math.PI * 2;
- o = l * Math.cos(m) + n, r = l * Math.sin(m) + a, t.layout.angle = m
- }
- t.layout.position[0] = o, t.layout.position[1] = r
- }, this)
- },
- refresh: function(e) {
- this.clear(), e && (this.option = e, this.series = this.option.series);
- for(var t = this.series, i = this.component.legend, n = 0; n < t.length; n++)
- if(t[n].type === m.CHART_TYPE_TREE) {
- t[n] = this.reformOption(t[n]);
- var a = t[n].name || "";
- if(this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue;
- this._buildSeries(t[n], n)
- }
- },
- _buildSeries: function(e, t) {
- this._buildShape(e, t)
- }
- }, U.inherits(t, i), e("../chart").define("tree", t), t
- }), i("echarts/layout/Tree", ["require", "zrender/tool/vector"], function(e) {
- function t(e) {
- e = e || {}, this.nodePadding = e.nodePadding || 30, this.layerPadding = e.layerPadding || 100, this._layerOffsets = [], this._layers = []
- }
- var i = e("zrender/tool/vector");
- return t.prototype.run = function(e) {
- this._layerOffsets.length = 0;
- for(var t = 0; t < e.root.height + 1; t++) this._layerOffsets[t] = 0, this._layers[t] = [];
- this._updateNodeXPosition(e.root);
- var i = e.root;
- this._updateNodeYPosition(i, 0, i.layout.height)
- }, t.prototype._updateNodeXPosition = function(e) {
- var t = 1 / 0,
- n = -(1 / 0);
- e.layout.position = e.layout.position || i.create();
- for(var a = 0; a < e.children.length; a++) {
- var o = e.children[a];
- this._updateNodeXPosition(o);
- var r = o.layout.position[0];
- t > r && (t = r), r > n && (n = r)
- }
- e.layout.position[0] = e.children.length > 0 ? (t + n) / 2 : 0;
- var s = this._layerOffsets[e.depth] || 0;
- if(s > e.layout.position[0]) {
- var l = s - e.layout.position[0];
- this._shiftSubtree(e, l);
- for(var a = e.depth + 1; a < e.height + e.depth; a++) this._layerOffsets[a] += l
- }
- this._layerOffsets[e.depth] = e.layout.position[0] + e.layout.width + this.nodePadding, this._layers[e.depth].push(e)
- }, t.prototype._shiftSubtree = function(e, t) {
- e.layout.position[0] += t;
- for(var i = 0; i < e.children.length; i++) this._shiftSubtree(e.children[i], t)
- }, t.prototype._updateNodeYPosition = function(e, t, i) {
- e.layout.position[1] = t;
- for(var n = 0, a = 0; a < e.children.length; a++) n = Math.max(e.children[a].layout.height, n);
- var o = this.layerPadding;
- "function" == typeof o && (o = o(e.depth));
- for(var a = 0; a < e.children.length; a++) this._updateNodeYPosition(e.children[a], t + o + i, n)
- }, t
- }), i("echarts/chart/wordCloud", ["require", "./base", "zrender/shape/Text", "../layout/WordCloud", "../component/grid", "../component/dataRange", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("zrender/shape/Text"),
- a = e("../layout/WordCloud");
- e("../component/grid"), e("../component/dataRange");
- var o = e("../config"),
- r = e("../util/ecData"),
- s = e("zrender/tool/util"),
- l = e("zrender/tool/color");
- return o.wordCloud = {
- zlevel: 0,
- z: 2,
- clickable: !0,
- center: ["50%", "50%"],
- size: ["40%", "40%"],
- textRotation: [0, 90],
- textPadding: 0,
- autoSize: {
- enable: !0,
- minSize: 12
- },
- itemStyle: {
- normal: {
- textStyle: {
- fontSize: function(e) {
- return e.value
- }
- }
- }
- }
- }, t.prototype = {
- type: o.CHART_TYPE_WORDCLOUD,
- refresh: function(e) {
- e && (this.option = e, this.series = e.series), this._init()
- },
- _init: function() {
- var e = this.series;
- this.backupShapeList();
- for(var t = this.component.legend, i = 0; i < e.length; i++)
- if(e[i].type === o.CHART_TYPE_WORDCLOUD) {
- e[i] = this.reformOption(e[i]);
- var n = e[i].name || "";
- if(this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue;
- this.buildMark(i), this._initSerie(e[i])
- }
- },
- _initSerie: function(e) {
- var t = e.itemStyle.normal.textStyle,
- i = [this.parsePercent(e.size[0], this.zr.getWidth()) || 200, this.parsePercent(e.size[1], this.zr.getHeight()) || 200],
- n = this.parseCenter(this.zr, e.center),
- o = {
- size: i,
- wordletype: {
- autoSizeCal: e.autoSize
- },
- center: n,
- rotate: e.textRotation,
- padding: e.textPadding,
- font: t.fontFamily,
- fontSize: t.fontSize,
- fontWeight: t.fontWeight,
- fontStyle: t.fontStyle,
- text: function(e) {
- return e.name
- },
- data: e.data
- },
- r = new a(o),
- s = this;
- r.end(function(e) {
- s._buildShapes(e)
- }), r.start()
- },
- _buildShapes: function(e) {
- for(var t = e.length, i = 0; t > i; i++) this._buildTextShape(e[i], 0, i);
- this.addShapeList()
- },
- _buildTextShape: function(e, t, i) {
- var a = this.series,
- o = a[t],
- s = o.name || "",
- h = o.data[i],
- m = [h, o],
- V = this.component.legend,
- U = V ? V.getColor(s) : this.zr.getColor(t),
- d = this.deepMerge(m, "itemStyle.normal") || {},
- p = this.deepMerge(m, "itemStyle.emphasis") || {},
- c = this.getItemStyleColor(d.color, t, i, h) || U,
- u = this.getItemStyleColor(p.color, t, i, h) || ("string" == typeof c ? l.lift(c, -.2) : c),
- y = new n({
- zlevel: o.zlevel,
- z: o.z,
- hoverable: !0,
- clickable: this.deepQuery(m, "clickable"),
- style: {
- x: 0,
- y: 0,
- text: e.text,
- color: c,
- textFont: [e.style, e.weight, e.size + "px", e.font].join(" "),
- textBaseline: "alphabetic",
- textAlign: "center"
- },
- highlightStyle: {
- brushType: p.borderWidth ? "both" : "fill",
- color: u,
- lineWidth: p.borderWidth || 0,
- strokeColor: p.borderColor
- },
- position: [e.x, e.y],
- rotation: [-e.rotate / 180 * Math.PI, 0, 0]
- });
- r.pack(y, o, t, h, i, h.name), this.shapeList.push(y)
- }
- }, s.inherits(t, i), e("../chart").define("wordCloud", t), t
- }), i("echarts/layout/WordCloud", ["require", "../layout/WordCloudRectZero", "zrender/tool/util"], function(e) {
- function t(e) {
- this._init(e)
- }
- var i = e("../layout/WordCloudRectZero"),
- n = e("zrender/tool/util");
- return t.prototype = {
- start: function() {
- function e() {
- p.totalArea = r, U.autoSizeCal.enable && p._autoCalTextSize(m, r, a, o, U.autoSizeCal.minSize), V.timer && clearInterval(V.timer), V.timer = setInterval(t, 0), t()
- }
- function t() {
- for(var e, t = +new Date, i = m.length; + new Date - t < V.timeInterval && ++s < i && V.timer;) e = m[s], e.x = d[0] >> 1, e.y = d[1] >> 1, p._cloudSprite(e, m, s), e.hasText && p._place(n, e, h) && (l.push(e), e.x -= d[0] >> 1, e.y -= d[1] >> 1);
- s >= i && (p.stop(), p._fixTagPosition(l), V.endcallback(l))
- }
- var n = null,
- a = 0,
- o = 0,
- r = 0,
- s = -1,
- l = [],
- h = null,
- m = this.wordsdata,
- V = this.defaultOption,
- U = V.wordletype,
- d = V.size,
- p = this,
- c = new i({
- type: U.type,
- width: d[0],
- height: d[1]
- });
- return c.calculate(function(t) {
- n = t.initarr, a = t.maxWit, o = t.maxHit, r = t.area, h = t.imgboard, e()
- }, this), this
- },
- _fixTagPosition: function(e) {
- for(var t = this.defaultOption.center, i = 0, n = e.length; n > i; i++) e[i].x += t[0], e[i].y += t[1]
- },
- stop: function() {
- return this.defaultOption.timer && (clearInterval(this.defaultOption.timer), this.defaultOption.timer = null), this
- },
- end: function(e) {
- return e && (this.defaultOption.endcallback = e), this
- },
- _init: function(e) {
- this.defaultOption = {}, this._initProperty(e), this._initMethod(e), this._initCanvas(), this._initData(e.data)
- },
- _initData: function(e) {
- var t = this,
- i = t.defaultOption;
- this.wordsdata = e.map(function(e, n) {
- return e.text = i.text.call(t, e, n), e.font = i.font.call(t, e, n), e.style = i.fontStyle.call(t, e, n), e.weight = i.fontWeight.call(t, e, n), e.rotate = i.rotate.call(t, e, n), e.size = ~~i.fontSize.call(t, e, n), e.padding = i.padding.call(t, e, n), e
- }).sort(function(e, t) {
- return t.value - e.value
- })
- },
- _initMethod: function(e) {
- function t(e) {
- return e.name
- }
- function i() {
- return "sans-serif"
- }
- function n() {
- return "normal"
- }
- function a(e) {
- return e.value
- }
- function o() {
- return 0
- }
- function r(e) {
- return function() {
- return e[Math.round(Math.random() * (e.length - 1))]
- }
- }
- function s() {
- return 0
- }
- function l(e) {
- var t = e[0] / e[1];
- return function(e) {
- return [t * (e *= .1) * Math.cos(e), e * Math.sin(e)]
- }
- }
- function h(e) {
- var t = 4,
- i = t * e[0] / e[1],
- n = 0,
- a = 0;
- return function(e) {
- var o = 0 > e ? -1 : 1;
- switch(Math.sqrt(1 + 4 * o * e) - o & 3) {
- case 0:
- n += i;
- break;
- case 1:
- a += t;
- break;
- case 2:
- n -= i;
- break;
- default:
- a -= t
- }
- return [n, a]
- }
- }
- function m(e) {
- return "function" == typeof e ? e : function() {
- return e
- }
- }
- var V = this.defaultOption;
- V.text = e.text ? m(e.text) : t, V.font = e.font ? m(e.font) : i, V.fontSize = e.fontSize ? m(e.fontSize) : a, V.fontStyle = e.fontStyle ? m(e.fontStyle) : n, V.fontWeight = e.fontWeight ? m(e.fontWeight) : n, V.rotate = e.rotate ? r(e.rotate) : o, V.padding = e.padding ? m(e.padding) : s, V.center = e.center, V.spiral = l, V.endcallback = function() {}, V.rectangularSpiral = h, V.archimedeanSpiral = l
- },
- _initProperty: function(e) {
- var t = this.defaultOption;
- t.size = e.size || [256, 256], t.wordletype = e.wordletype, t.words = e.words || [], t.timeInterval = 1 / 0, t.timer = null, t.spirals = {
- archimedean: t.archimedeanSpiral,
- rectangular: t.rectangularSpiral
- }, n.merge(t, {
- size: [256, 256],
- wordletype: {
- type: "RECT",
- areaPresent: .058,
- autoSizeCal: {
- enable: !0,
- minSize: 12
- }
- }
- })
- },
- _initCanvas: function() {
- var e, t = Math.PI / 180,
- i = 64,
- n = 2048,
- a = 1;
- "undefined" != typeof document ? (e = document.createElement("canvas"), e.width = 1, e.height = 1, a = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2), e.width = (i << 5) / a, e.height = n / a) : e = new Canvas(i << 5, n);
- var o = e.getContext("2d");
- o.fillStyle = o.strokeStyle = "red", o.textAlign = "center", this.defaultOption.c = o, this.defaultOption.cw = i, this.defaultOption.ch = n, this.defaultOption.ratio = a, this.defaultOption.cloudRadians = t
- },
- _cloudSprite: function(e, t, i) {
- if(!e.sprite) {
- var n = this.defaultOption.cw,
- a = this.defaultOption.ch,
- o = this.defaultOption.c,
- r = this.defaultOption.ratio,
- s = this.defaultOption.cloudRadians;
- o.clearRect(0, 0, (n << 5) / r, a / r);
- var l = 0,
- h = 0,
- m = 0,
- V = t.length;
- for(--i; ++i < V;) {
- e = t[i], o.save(), o.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / r) + "px " + e.font;
- var U = o.measureText(e.text + "m").width * r,
- d = e.size << 1;
- if(e.rotate) {
- var p = Math.sin(e.rotate * s),
- c = Math.cos(e.rotate * s),
- u = U * c,
- y = U * p,
- g = d * c,
- b = d * p;
- U = Math.max(Math.abs(u + b), Math.abs(u - b)) + 31 >> 5 << 5, d = ~~Math.max(Math.abs(y + g), Math.abs(y - g))
- } else U = U + 31 >> 5 << 5;
- if(d > m && (m = d), l + U >= n << 5 && (l = 0, h += m, m = 0), h + d >= a) break;
- o.translate((l + (U >> 1)) / r, (h + (d >> 1)) / r), e.rotate && o.rotate(e.rotate * s), o.fillText(e.text, 0, 0), e.padding && (o.lineWidth = 2 * e.padding, o.strokeText(e.text, 0, 0)), o.restore(), e.width = U, e.height = d, e.xoff = l, e.yoff = h, e.x1 = U >> 1, e.y1 = d >> 1, e.x0 = -e.x1, e.y0 = -e.y1, e.hasText = !0, l += U
- }
- for(var f = o.getImageData(0, 0, (n << 5) / r, a / r).data, k = []; --i >= 0;)
- if(e = t[i], e.hasText) {
- for(var U = e.width, x = U >> 5, d = e.y1 - e.y0, _ = 0; d * x > _; _++) k[_] = 0;
- if(l = e.xoff, null == l) return;
- h = e.yoff;
- for(var L = 0, W = -1, X = 0; d > X; X++) {
- for(var _ = 0; U > _; _++) {
- var v = x * X + (_ >> 5),
- w = f[(h + X) * (n << 5) + (l + _) << 2] ? 1 << 31 - _ % 32 : 0;
- k[v] |= w, L |= w
- }
- L ? W = X : (e.y0++, d--, X--, h++)
- }
- e.y1 = e.y0 + W, e.sprite = k.slice(0, (e.y1 - e.y0) * x)
- }
- }
- },
- _place: function(e, t, i) {
- function n(e, t, i) {
- i >>= 5;
- for(var n, a = e.sprite, o = e.width >> 5, r = e.x - (o << 4), s = 127 & r, l = 32 - s, h = e.y1 - e.y0, m = (e.y + e.y0) * i + (r >> 5), V = 0; h > V; V++) {
- n = 0;
- for(var U = 0; o >= U; U++)
- if((n << l | (o > U ? (n = a[V * o + U]) >>> s : 0)) & t[m + U]) return !0;
- m += i
- }
- return !1
- }
- function a(e, t) {
- return t.row[e.y] && t.cloumn[e.x] && e.x >= t.row[e.y].start && e.x <= t.row[e.y].end && e.y >= t.cloumn[e.x].start && e.y <= t.cloumn[e.x].end
- }
- for(var o, r, s, l = this.defaultOption.size, h = ([{
- x: 0,
- y: 0
- }, {
- x: l[0],
- y: l[1]
- }], t.x), m = t.y, V = Math.sqrt(l[0] * l[0] + l[1] * l[1]), U = this.defaultOption.spiral(l), d = Math.random() < .5 ? 1 : -1, p = -d;
- (o = U(p += d)) && (r = ~~o[0], s = ~~o[1], !(Math.min(r, s) > V));)
- if(t.x = h + r, t.y = m + s, !(t.x + t.x0 < 0 || t.y + t.y0 < 0 || t.x + t.x1 > l[0] || t.y + t.y1 > l[1]) && !n(t, e, l[0]) && a(t, i)) {
- for(var c, u = t.sprite, y = t.width >> 5, g = l[0] >> 5, b = t.x - (y << 4), f = 127 & b, k = 32 - f, x = t.y1 - t.y0, _ = (t.y + t.y0) * g + (b >> 5), L = 0; x > L; L++) {
- c = 0;
- for(var W = 0; y >= W; W++) e[_ + W] |= c << k | (y > W ? (c = u[L * y + W]) >>> f : 0);
- _ += g
- }
- return delete t.sprite, !0
- }
- return !1
- },
- _autoCalTextSize: function(e, t, i, n, a) {
- function o(e) {
- c.clearRect(0, 0, (d << 5) / u, p / u), c.save(), c.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / u) + "px " + e.font;
- var t = c.measureText(e.text + "m").width * u,
- r = e.size << 1;
- t = t + 31 >> 5 << 5, c.restore(), e.aw = t, e.ah = r;
- var s, l, h;
- if(e.rotate) {
- var m = Math.sin(e.rotate * y),
- V = Math.cos(e.rotate * y),
- g = t * V,
- b = t * m,
- f = r * V,
- k = r * m;
- l = Math.max(Math.abs(g + k), Math.abs(g - k)) + 31 >> 5 << 5, h = ~~Math.max(Math.abs(b + f), Math.abs(b - f))
- }
- return e.size <= U || e.rotate && t * r <= e.area && i >= l && n >= h || t * r <= e.area && i >= t && n >= r ? void(e.area = t * r) : (s = e.rotate && l > i && h > n ? Math.min(i / l, n / h) : t > i || r > n ? Math.min(i / t, n / r) : Math.sqrt(e.area / (e.aw * e.ah)), e.size = ~~(s * e.size), e.size < a ? void(e.size = a) : o(e))
- }
- function r(e, t) {
- for(var i = e.length, n = 0; i--;) n += t(e[i]);
- return n
- }
- for(var s, l, h = r(e, function(e) {
- return e.size
- }), m = e.length, V = .25, U = a, d = this.defaultOption.cw, p = this.defaultOption.ch, c = this.defaultOption.c, u = this.defaultOption.ratio, y = this.defaultOption.cloudRadians; m--;) s = e[m], l = s.size / h, s.areapre = V ? V > l ? l : V : l, s.area = t * s.areapre, s.totalarea = t, o(s)
- }
- }, t
- }), i("echarts/layout/WordCloudRectZero", ["require"], function() {
- function e(e) {
- this.defaultOption = {
- type: "RECT"
- }, this._init(e)
- }
- return e.prototype = {
- RECT: "_calculateRect",
- _init: function(e) {
- this._initOption(e), this._initCanvas()
- },
- _initOption: function(e) {
- for(k in e) this.defaultOption[k] = e[k]
- },
- _initCanvas: function() {
- var e = document.createElement("canvas");
- e.width = 1, e.height = 1;
- var t = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2);
- if(e.width = this.defaultOption.width, e.height = this.defaultOption.height, e.getContext) var i = e.getContext("2d");
- this.canvas = e, this.ctx = i, this.ratio = t
- },
- calculate: function(e, t) {
- var i = this.defaultOption.type,
- n = this[i];
- this[n].call(this, e, t)
- },
- _calculateReturn: function(e, t, i) {
- t.call(i, e)
- },
- _calculateRect: function(e, t) {
- var i = {},
- n = this.defaultOption.width >> 5 << 5,
- a = this.defaultOption.height;
- i.initarr = this._rectZeroArray(n * a), i.area = n * a, i.maxHit = a, i.maxWit = n, i.imgboard = this._rectBoard(n, a), this._calculateReturn(i, e, t)
- },
- _rectBoard: function(e, t) {
- for(var i = [], n = 0; t > n; n++) i.push({
- y: n,
- start: 0,
- end: e
- });
- for(var a = [], n = 0; e > n; n++) a.push({
- x: n,
- start: 0,
- end: t
- });
- return {
- row: i,
- cloumn: a
- }
- },
- _rectZeroArray: function(e) {
- for(var t = [], i = e, n = -1; ++n < i;) t[n] = 0;
- return t
- }
- }, e
- }), i("echarts/chart/heatmap", ["require", "./base", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "zrender/shape/Image", "../chart"], function(e) {
- function t(e, t, n, a, o) {
- i.call(this, e, t, n, a, o), this.refresh(a)
- }
- var i = e("./base"),
- n = e("../layer/heatmap"),
- a = e("../config"),
- o = (e("../util/ecData"), e("zrender/tool/util")),
- r = (e("zrender/tool/color"), e("zrender/shape/Image"));
- return a.heatmap = {
- zlevel: 0,
- z: 2,
- clickable: !0
- }, t.prototype = {
- type: a.CHART_TYPE_HEATMAP,
- refresh: function(e) {
- this.clear(), e && (this.option = e, this.series = e.series), this._init()
- },
- _init: function() {
- var e = this.series;
- this.backupShapeList();
- for(var t = e.length, i = 0; t > i; ++i)
- if(e[i].type === a.CHART_TYPE_HEATMAP) {
- e[i] = this.reformOption(e[i]);
- var o = new n(e[i]),
- s = o.getCanvas(e[i].data, this.zr.getWidth(), this.zr.getHeight()),
- l = new r({
- position: [0, 0],
- scale: [1, 1],
- hoverable: this.option.hoverable,
- style: {
- x: 0,
- y: 0,
- image: s,
- width: s.width,
- height: s.height
- }
- });
- this.shapeList.push(l)
- }
- this.addShapeList()
- }
- }, o.inherits(t, i), e("../chart").define("heatmap", t), t
- });
- var n = t("zrender");
- n.tool = {
- color: t("zrender/tool/color"),
- math: t("zrender/tool/math"),
- util: t("zrender/tool/util"),
- vector: t("zrender/tool/vector"),
- area: t("zrender/tool/area"),
- event: t("zrender/tool/event")
- }, n.animation = {
- Animation: t("zrender/animation/Animation"),
- Cip: t("zrender/animation/Clip"),
- easing: t("zrender/animation/easing")
- };
- var a = t("echarts");
- a.config = t("echarts/config"), a.util = {
- mapData: {
- params: t("echarts/util/mapData/params")
- }
- }, t("echarts/chart/line"), t("echarts/chart/bar"), t("echarts/chart/scatter"), t("echarts/chart/k"), t("echarts/chart/pie"), t("echarts/chart/radar"), t("echarts/chart/chord"), t("echarts/chart/force"), t("echarts/chart/map"), t("echarts/chart/gauge"), t("echarts/chart/funnel"), t("echarts/chart/eventRiver"), t("echarts/chart/venn"), t("echarts/chart/treemap"), t("echarts/chart/tree"), t("echarts/chart/wordCloud"), t("echarts/chart/heatmap"), e.echarts = a, e.zrender = n
- }(window);
|