| 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 | }}} |