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>