⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 maps.js

📁 一款基于PHP的网络日记程序。WikyBlog支持:多用户的 BLOG
💻 JS
字号:
var mapDiv;var mapObj;var maxPoints=400;var myGmap;var started=false;var bIcon;var mapEditing=false;var p=parent;function myMapClass(){this.overlays=Array();this.letters=Array();this.current;this.count=0;this.speed=6000;this.listeners=Array();this.cl=false;this.len;}function displayMap(){}displayMap.parseXMLDoc=function(xmlDoc){try{var ctrElem=xmlDoc.getElementsByTagName("center");var tps=myGmap.getMapTypes();var e=parseInt(ctrElem[0].getAttribute("maptype"));if(e||!tps[e]){e=0;}var c=new GLatLng(parseFloat(ctrElem[0].getAttribute("lat")),parseFloat(ctrElem[0].getAttribute("lng")));var d=parseInt(ctrElem[0].getAttribute("level"));if(!ctrElem[0].getAttribute("version")){var d=17-d;}myGmap.setCenter(c,d,tps[e]);return;}catch(m){p.err(m,'parseXMLDoc');initMap.mess('0');return false;}			}displayMap.parseXMLDoc2=function(xmlDoc){var overlay;var i;var elmts;var n;var letter;var desc=Array();myGmap.addControl(new GLargeMapControl());myGmap.addControl(new GMapTypeControl());bIcon=new GIcon();bIcon.shadow=p.dirPrefix+"/imgs/maps/shadow50.png";bIcon.iconSize=new GSize(20,34);bIcon.shadowSize=new GSize(37,34);bIcon.iconAnchor=new GPoint(9,34);bIcon.infoWindowAnchor=new GPoint(9,2);bIcon.infoShadowAnchor=new GPoint(18,25);elmts=xmlDoc.getElementsByTagName("marker");for(i=0;i<elmts.length;i++){n=elmts[i].getAttribute("index");var pt=new GLatLng(parseFloat(elmts[i].getAttribute("lat")),parseFloat(elmts[i].getAttribute("lng")));newMarker2(pt,1,n);desc[n]='';if(elmts[i].firstChild){desc[n]=displayMap.getDesc(elmts[i].firstChild);}}elmts=xmlDoc.getElementsByTagName("polyline");for(i=0;i<elmts.length;i++){n=elmts[i].getAttribute("index");var pts=elmts[i].getElementsByTagName("plypt");newLine(pts,'lng',n);desc[n]='';if(elmts[i].firstChild){desc[n]=displayMap.getDesc(elmts[i].firstChild);}}for(i=0;i<mapObj.overlays.length;i++){myAddOverlay(i,desc[i]);}incrCount2(3);if(mapObj.overlays[0])overlaySelect(0);}displayMap.getDesc=function(el){var a='';if(el.nodeValue){a=el.nodeValue;}else if(el.innerText){a=el.innerText;}var re1=new RegExp('^[ \n\r]');var re2=new RegExp('[ \n\r]$');a=a.replace(re1,'').replace(re2,'');var re1=new RegExp('&lt;','g');var re2=new RegExp('&gt;','g');var re3=new RegExp('&quot;','g');var re4=new RegExp('&amp;','g');a=a.replace(re1,'<').replace(re2,'>').replace(re3,'"').replace(re4,'&');return a;}function editMap(){}editMap.load=function(){if(!p.wbCompat){alert('It appears your browser is not fully compatible, you may reload this page to try again.');return;}var a=p.dcg('WBtab'+p.shwn);if(!mapEditing){var e=document.createElement('script');e.src=p.dirPrefix+'/include/'+p.jsNum+'/maps_editing.js';e.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(e);var url=a.href;p.wbXmlHttp.goToFrame(url,'cmd=edit&loaded=yes');editMap.init(a.rev);}else if(typeof(showSaveBox)=='function'){showSaveBox(a.rev);}		}editMap.init=function(rev){var a=p.dcg('WBmapEdit2'+rev);if(mapEditing && a){editMap.init2();}else{setTimeout(function(){editMap.init(rev);},100);}}function mapSize(){}mapSize.reSize=function(){var fr=p.dcg('WBmapFrame'+p.shwn);if(!fr)return;var o2=p.getWindowSize().y-10;var o1=p.findLoc(fr).y;var y=Math.min(o1,p.xyScroll().y);this.set(fr,o2-o1+y);};mapSize.max=function(){var fr=p.dcg('WBmapFrame'+p.shwn);if(!fr)return;var o1=p.findLoc(fr);window.scrollTo(o1.x,o1.y);var o2=p.getWindowSize().y-10;this.set(fr,o2);};mapSize.set=function(fr,y){fr.style.height=y+'px';fr.style.width='100%';mapDiv.style.height=y+'px';mapDiv.style.width='100%';}function myAddOverlay(i,desc){myGmap.addOverlay(mapObj.overlays[i]);addMenu(i,desc);}function newLine(pts,b,n){if(!n){var n=mapObj.overlays.length;}var ptsArr=Array();var pt;for(var i=0;i<pts.length;i++){pt=new GLatLng(parseFloat(pts[i].getAttribute("lat")),parseFloat(pts[i].getAttribute(b)));ptsArr.push(pt);incrCount2(1);}overlay=new GPolyline(ptsArr,'#2e8b57');mapObj.overlays[n]=overlay;return n;}function incrCount2(x){switch(x){case 1:mapObj.count++;return;case 2:mapObj.count++;if(mapObj.count==(maxPoints-10)){alert(p.sprintf(lg[50],mapObj.count,maxPoints));}else if((mapObj.count>=maxPoints)&&(mapObj.count%5)==0){alert(p.sprintf(lg[3],mapObj.count,maxPoints));}return;case 3:if(mapObj.count>=maxPoints){alert(p.sprintf(lg[3],mapObj.count,maxPoints));}break;}}function newMarker2(point,x,n){if(!n){var n=mapObj.overlays.length;}var lt=nextLetter();var ic=new GIcon(bIcon);ic.image=p.dirPrefix+"/imgs/maps/marker"+lt+".png";ol=new GMarker(point,ic);GEvent.addListener(ol,'click',function(){overlaySelect(n);});mapObj.letters[n]=lt;mapObj.overlays[n]=ol;incrCount2(x);return n;}function nextLetter(){var i=mapObj.letters.length;if(i==0){return 'A';}var z="Z".charCodeAt(0);var lt=mapObj.letters[i-1];if(!lt){return 'A';}if(lt=='-'){return '-';}var j=lt.charCodeAt(0)+1;if(j>z){return '-';}lt=String.fromCharCode(j);return lt;}function getNextId(){var nDiv;if(!mapObj.current){nDiv=p.dcg('WBmarkers'+p.shwn).firstChild;}else{var cDiv=p.dcg('WBmapFld'+p.shwn+mapObj.current);nDiv=cDiv.nextSibling;}if(!nDiv){nDiv=cDiv.parentNode.firstChild;}if(!nDiv.id){return mapObj.current;}var fld='WBmapFld'+p.shwn;var i=nDiv.id.substr(fld.length);return parseInt(i);}function selectNext(){var i=getNextId();overlaySelect(i);}function getPrevId(){var pDiv;if(!mapObj.current){pDiv=p.dcg('WBmarkers'+p.shwn).lastChild;}else{var cDiv=p.dcg('WBmapFld'+p.shwn+mapObj.current);pDiv=cDiv.previousSibling;}if(!pDiv){pDiv=cDiv.parentNode.lastChild;}if(!pDiv.id){return mapObj.current;}var fld='WBmapFld'+p.shwn;var i=pDiv.id.substr(fld.length);return parseInt(i);}function selectPrev(){var i=getPrevId();overlaySelect(i);}function overlaySelect(id,noWin){var a;var dBox=p.dcg('WBmapDesc'+p.shwn+id);if(!dBox)return;unSelectCur();if(!noWin){var txt=dBox.value;}p.dcg('WBmapFld'+p.shwn+id).className='mapField2';if(mapObj.overlays[id]){if(mapObj.overlays[id].setPoint){if(txt){mapObj.overlays[id].openInfoWindowHtml('<div>'+txt+'</div>');}}else{a=pLineToPoints(mapObj.overlays[id]);myGmap.removeOverlay(mapObj.overlays[id]);mapObj.overlays[id]=new GPolyline(a,'#0000ff');myGmap.addOverlay(mapObj.overlays[id]);if(id !=mapObj.current){if(txt && a.length>0){myGmap.openInfoWindowHtml(a[0],'<div>'+txt+'</div>');}}}mapObj.current=id;if(mapEditing){editOverlay(id,'','');}}}function unSelectCur(){myGmap.closeInfoWindow();if(mapObj.current>=0){var c=mapObj.current;mapObj.current=-1;p.dcg('WBmapFld'+p.shwn+c).className='mapField';if(!mapObj.overlays[c]){return;}if(!mapObj.overlays[c].setPoint){a=pLineToPoints(mapObj.overlays[c]);myGmap.removeOverlay(mapObj.overlays[c]);mapObj.overlays[c]=new GPolyline(a,'#2e8b57');myGmap.addOverlay(mapObj.overlays[c]);}}}addMenu=p.wbMaps.addMenu;formatText=p.wbMaps.formatText;pLineToPoints=p.wbMaps.toPoints;function dcg(a){return window.document.getElementById(a);}function initMap(){}initMap.go=function(){if(p.wbMain<2){p.stck.push(initMap.go);return;}	if(!GBrowserIsCompatible()){initMap.mess('1');return;}mapDiv=dcg('mapDiv');if(!mapDiv){setTimeout(function(){initMap.go()},100);return;}if(typeof p.mf=="undefined"){p.mf=self;var add='var fr = dcg("WBmapFrame"+shw);if(fr){mf=fr.contentWindow}else{mf=false;}';p.tabBrowse.functions.push(add);}var xml=false;if(!p.xml){xml=p.dcg('WBxml'+p.shwn).value;}else{xml=p.xml;p.xml=false;}var xml=GXml.parse(xml);initMap.xml(xml);}initMap.xml=function(xml,b){try{if(!xml){p.err('no xml');return;}mapSize.reSize();myGmap=new GMap2(mapDiv);mapObj=new myMapClass();displayMap.parseXMLDoc(xml);setTimeout(function(){displayMap.parseXMLDoc2(xml);},10);if(window.attachEvent){window.attachEvent("onresize",function(){mapSize.reSize()});p.attachEvent("onscroll",function(){mapSize.reSize()});} else{window.addEventListener("resize",function(){mapSize.reSize()},false);p.addEventListener("scroll",function(){mapSize.reSize()},false);}}catch(m){p.err(m,'initMap.xml');initMap.mess('0');return;}}initMap.mess=function(m){dcg('mapDebug'+m).style.display='block';}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -