32 | | * http://deepsea.biodiv.tw/getdeepstaxml.asp |
| 35 | * 繼續解析 http://deepsea.biodiv.tw/locamapd.asp |
| 36 | {{{ |
| 37 | #!java |
| 38 | var request = GXmlHttp.create(); // 產生一個非同步的 AJAX XMLHttp 物件 |
| 39 | if (queryPair[0]=='R1') { |
| 40 | var GetDataXml="getdeepstaxml.asp?" + queryPair[0] + "=" + valuePair[0] + "&" + queryPair[1] + "=" + valuePair[1]; |
| 41 | } |
| 42 | else { |
| 43 | var GetDataXml="getdeepstaxml.asp"; // 預設因為 queryPair[0] 是空的, 所以資料來源來自 getdeepstaxml.asp |
| 44 | } |
| 45 | request.open("GET",GetDataXml, true); // 用 XMLHttp 物件去開啟 http://deepsea.biodiv.tw/getdeepstaxml.asp |
| 46 | }}} |
| 47 | * 我們首先來看 http://deepsea.biodiv.tw/getdeepstaxml.asp 所回傳的 XML 資料 |
| 48 | [[Image(biodiv_xml.jpg)]] |
| 49 | {{{ |
| 50 | |
| 51 | }}} |
| 52 | * |
| 53 | {{{ |
| 54 | request.onreadystatechange = function() { |
| 55 | if (request.readyState == 4) { |
| 56 | var xmlDoc = request.responseXML; |
| 57 | var markers = xmlDoc.documentElement.getElementsByTagName("marker"); |
| 58 | for (var i = 0; i < markers.length; i++) { |
| 59 | var points2 = []; |
| 60 | points2.push(new GLatLng(parseFloat(markers[i].getAttribute("lat1")),parseFloat(markers[i].getAttribute("lng1")))) |
| 61 | points2.push(new GLatLng(parseFloat(markers[i].getAttribute("lat2")),parseFloat(markers[i].getAttribute("lng2")))) |
| 62 | map.addOverlay(new GPolyline(points2,'#FF0000',2,1)); |
| 63 | var lat=(parseFloat(markers[i].getAttribute("lat1"))+parseFloat(markers[i].getAttribute("lat2")))/2 |
| 64 | var lng=(parseFloat(markers[i].getAttribute("lng1"))+parseFloat(markers[i].getAttribute("lng2")))/2 |
| 65 | |
| 66 | var point = new GLatLng(lat,lng |
| 67 | ); |
| 68 | var id=markers[i].getAttribute("id") |
| 69 | var depth=markers[i].getAttribute("depth") |
| 70 | var marker = createMarkerWithLnk(point,id,icon,depth); |
| 71 | map.addOverlay(marker); |
| 72 | } |
| 73 | } |
| 74 | } |
| 75 | request.send(null); |
| 76 | } |
| 77 | }}} |