2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
|
|
/**/_jsload2&&_jsload2('newvectordrawlib', 'function Dg(a){this.uI=o;this.k=x.object.extend(a||{},{Gh:o});Dd.call(this,this.k);this.Cg={};this.loaded=q;this.St=p;this.pC=q}Dg.prototype=new Dd; Dg.prototype.ra=function(a){if(!this.loaded){this.loaded=o;var b=this;b.map=a;b.gb=b.map.gb;b.map=a;this.xb=this.map.oa();this.Ob=this.xb.k.Ob;this.Ac=this.map.B.devicePixelRatio;b.nx=q;b.QK=p;b.Se=b.k.style||"normal";b.yn=b.k.styleStr||p;b.pq=200;b.De=p;b.de=0;b.zb=this.gb.Vn(0);b.gb.nd.appendChild(this.zb);b.gb.zb=b.zb;b.Ib=new B.NewVectorDrawLib(a);b.Ib.Ob=this.xb.k.Ob;b.ws="";b.Ib.EC=b.Se;b.hm();b.Se&&"normal"!==b.Se||b.yn&&0<b.yn.length?b.au(b.Se,b.yn,function(){b.map.addEventListener("click", function(a){b.de++;if(1===b.de)b.De=setTimeout(function(){b.Eu(a);b.de=0},b.pq);else return clearTimeout(b.De),b.de=0,q});b.zb.innerHTML="";b.ee(o)}):(b.ee(),b.map.addEventListener("click",function(a){b.de++;if(1===b.de)a.cb||(b.De=setTimeout(function(){b.Eu(a);b.de=0},b.pq));else return clearTimeout(b.De),b.de=0,q}));b.map.B.pj&&(J()&&b.Hf==j)&&(b.Hf=new B.NG(b.map),b.map.Ja(b.Hf))}}; x.extend(Dg.prototype,{hm:function(){var a=this;setTimeout(function(){a.map.addEventListener("moveend",function(b){"centerAndZoom"!=b.EH&&a.ee()});a.map.addEventListener("zoomend",function(){a.nx=q;a.ee()});a.map.addEventListener("onresize",function(){a.ee()});Va()&&(a.map.addEventListener("onmoving",function(){a.ee()}),a.map.addEventListener("onmaptypechange",function(){a.ee()}));a.map.addEventListener("mousemove",function(b){a.map.Wb()&&a.WC(b)})},1);a.map.addEventListener("setcustomstyles",function(b){a.FC(b.target)})}, au:function(a,b,c){if(this.map.Wb()){var d=this,e=B.oc+"custom/",f;b&&0<b.length?(f="setStyle_"+b.length,e+="mapstyle?styles="+encodeURIComponent(b)):(f="setStyle_"+a,e+="getstyle?customid="+a);f+=this.map.ba;window[f]=function(b,e){var k=x.extend({},d.Ib.Lz);d.Ib.Eb=x.extend(k,b);k=B.Cb.we(d.Ib.Eb["3181"][1]);d.map.B.Ko=k;d.map.Ka().style.backgroundColor=k;c(a);d.map.dispatchEvent(new N("onsetmapstylesuccess",e));delete window[f]};ra(e+("&callback="+f+"&udt=20150526"),q)}},Xp:function(a){var b=this; b.au(a.style,a.styleStr,function(a){b.Se=a;b.Ib.EC=b.Se;var a=b.Ib.Xs,d;for(d in a)delete a[d];b.rF()})},ee:function(){this.map.ga();this.map.Wb()?(this.zb.style.display="block",this.Ib.Os(this.Lm())):(this.zb.style.display="none",this.zb.innerHTML="")},Lm:function(){var a=this.map,b=this.xb,c=a.ga(),d=a.dc,e=b.yc(c),f=b.tE(c),b=a.ba.replace(/^TANGRAM_/,""),g=Math.ceil(d.lng/f);column=Math.ceil(d.lat/f);var i=this.Ob,k=[g,column,(d.lng-g*f)/f*i,(d.lat-column*f)/f*i],f=k[0]-Math.ceil((a.width/2-k[2])/ i),l=k[1]-Math.ceil((a.height/2-k[3])/i),m=k[0]+Math.ceil((a.width/2+k[2])/i),n=k[1]+Math.ceil((a.height/2+k[3])/i);for(this.Rc?this.Rc.length=0:this.Rc=[];f<m;f++)for(g=l;g<n;g++)this.Rc.push([f,g]);this.Rc.sort(function(a){return function(b,c){return 0.4*Math.abs(b[0]-a[0])+0.6*Math.abs(b[1]-a[1])-(0.4*Math.abs(c[0]-a[0])+0.6*Math.abs(c[1]-a[1]))}}([k[0]-1,k[1]-1]));d=[Math.round(-d.lng/e),Math.round(d.lat/e)];f=-a.offsetY+a.height/2;e=this.zb;e.style.left=-a.offsetX+a.width/2+"px";e.style.top= f+"px";this.Oe?this.Oe.length=0:this.Oe=[];f=0;for(a=e.childNodes.length;f<a;f++)g=e.childNodes[f],g.tr=q,this.Oe.push(g);if(f=this.$m)for(var s in f)delete f[s];else this.$m={};this.Pe?this.Pe.length=0:this.Pe=[];f=0;for(a=this.Rc.length;f<a;f++){s=this.Rc[f][0];k=this.Rc[f][1];g=0;for(l=this.Oe.length;g<l;g++)if(m=this.Oe[g],m.id==b+"_"+s+"_"+k+"_"+c){m.tr=o;this.$m[m.id]=m;break}}f=0;for(a=this.Oe.length;f<a;f++)m=this.Oe[f],m.tr||(m.be=p,delete m.be,this.Pe.push(m));this.An=[];g=i*this.Ac;f=0; for(a=this.Rc.length;f<a;f++)s=this.Rc[f][0],k=this.Rc[f][1],l=s*i+d[0],m=(-1-k)*i+d[1],n=b+"_"+s+"_"+k+"_"+c,cvs=this.$m[n],cvsStyle=p,cvs?(cvsStyle=cvs.style,cvsStyle.left=l+"px",cvsStyle.top=m+"px",cvs.af||(cvs.be=p,delete cvs.be,this.An.push([s,k,cvs]))):(0<this.Pe.length?(cvs=this.Pe.shift(),cvs.getContext("2d").clearRect(0,0,g,g),cvsStyle=cvs.style):(cvs=document.createElement("canvas"),cvsStyle=cvs.style,cvsStyle.position="absolute",cvsStyle.background
|