日期:2014-05-16  浏览次数:20434 次

js加载xml文件
function loadXmlData(xmlfile) {
	
		// 利用google maps api中提供的方法加载xml
		var request = GXmlHttp.create();
		request.open("GET", xmlfile, true);
		
		/*
		// 普通方法加载xml
		var request;
		if (window.ActiveXObject) {
			// 只能是ie加载了,其他的搞不定
			request = new ActiveXObject("Microsoft.XMLDOM");
			alert("ie");
			request.async=true; // 异步加载
			request.load(xmlfile);
		}
		else if (document.implementation && document.implementation.createDocument) {
			alert("Firefox, Mozilla, Opera, etc.");
			//request = document.implementation.createDocument("", "", null);
			//request.async=true; // 异步加载
			//request.load(xmlfile);
			
			// Firefox  应该也不行,报错了
			// request.addEventListener("load",initializeData,false);
			// request.load(xmlfile,"text/xml");

			
			//Google Chrome   是可以加载上,但是又报错没有getElementsByTagName方法
			//request = new window.XMLHttpRequest();
			//request.open("GET",xmlfile,true);
			//request.send(null);
			
		} else {
			alert('Your browser cannot handle this script');
			return;
		}
		*/
		
		request.onreadystatechange = function() {
			if(request.readyState == 4) {
				// 获得加载后的mxl对象
				
				var xmlDoc = request.responseXML;
				
				var polylines = xmlDoc.documentElement.getElementsByTagName("polyline");
				for(var i=0; i<polylines.length; i++) {
					addPolyline(polylines[i]);
				}
				
				var polygons = xmlDoc.documentElement.getElementsByTagName("polygon");
				for(var i=0; i<polygons.length; i++) {
					addPolygon(polygons[i]);
				}
			}
		}
		
		request.send(null);
	}


xml:
<?xml version="1.0" encoding="gb2312" ?>
<overlays>
<polyline color="#FF0000" width="8" alpha="0.5">
<point lat="43.6" lng="110" />
<point lat="35.8" lng="119" />
<point lat="37.9" lng="102" />
</polyline>
<polyline color="#FF0000" width="6" alpha="0.5">
<point lat="42" lng="120" />
<point lat="45.8" lng="125" />
<point lat="37.9" lng="126" />
<point lat="47.9" lng="130" />
</polyline>

<polygon color="#008800" width="4" alpha="0.8" fillcolor="#FF00FF" fillalphs="0">
<point lat="39" lng="105" />
<point lat="43" lng="118" />
<point lat="35" lng="125" />
<point lat="31" lng="116" />
<point lat="36" lng="106" />
<point lat="39" lng="105" />
</polygon>
<polygon color="#008800" width="4" alpha="0.8" fillcolor="#FF00FF" fillalphs="0.5">
<point lat="27" lng="100" />
<point lat="30" lng="100" />
<point lat="30" lng="105" />
<point lat="27" lng="105" />
<point lat="27" lng="100" />
</polygon>
</overlays>