-1

Google지도 데모의 대부분을 API의 v2에서 v3으로 업그레이드했습니다.GXmlHttp를 사용하지 않고 XML 문서의 마커 구문 분석

나는이 작업은 다음 코드 조각있는 SQL Server 데이터에서 XML 파일을 반환 Handler.ashx :

<root> 
 
<marker INSTITUTION_KEY="100433" Latitude="40.735772366619301" Longitude="-73.994402766599904" INSTITUTION="New School, The" STREET="65 5th Avenue, Room M107A" CITY="New York" STATE="New York" ZIP="10011" ZIP4="????" WEBSITE="www.newschool.edu"> 
 
<Awards AreaID="12" AWARD="N71131B511" WORLDAREA="Western Europe"/> 
 
<Awards AreaID="12" AWARD="N71131B511" WORLDAREA="Western Europe"/> 
 
</marker> 
 
<marker INSTITUTION_KEY="1022" Latitude="25.760174462957600" Longitude="-80.371959517777100" INSTITUTION="Florida International University" STREET="11220 SW 8TH ST" CITY="MIAMI" STATE="FL" ZIP="33184" ZIP4="0000" WEBSITE="www.fiu.edu"> 
 
<Awards AreaID="7" AWARD="F91131B511" WORLDAREA="Latin America"/> 
 
<Awards AreaID="7" AWARD="F91131B511" WORLDAREA="Latin America"/> 
 
</marker> 
 
</root>

내가 그 GXmlHttp 더 이상 읽습니다 이 코드 스 니펫을 변환하려고 애 쓰고 있습니다.

var request = GXmlHttp.create(); 
 
     request.open("GET", urlRequest, true); 
 
     request.onreadystatechange = function() { 
 
      if (request.readyState == 4) { 
 
       var xmlDoc = request.responseXML; 
 
       var markers = xmlDoc.documentElement.getElementsByTagName("marker"); 
 
       for (var i = 0; i < markers.length; i++) {
여기 691,363,210

는 내가 지금까지 가지고 내가 붙어있는 무슨이다 :

//  Load the xml file using ajax 
 
    $.ajax({ 
 
     type: "GET", 
 
     async: true, 
 
     url: urlRequest, 
 
     dataType: "xml", 
 
     success: 
 
      function (xml) { 
 
       // Parse the xml file and get data 
 
       var xmlDoc = $.parseXML(xml); 
 
       var markers = xmlDoc.documentElement.getElementsByTagName("marker"); 
 
       for (var i = 0; i < markers.length; i++) {
Uncaught TypeError: Cannot read property 'documentElement' of null(…)

이 전환을하는 방법에 대한 팁을 감사하겠습니다. 나는 오류를 받고 있어요 :

Uncaught TypeError: Cannot read property 'documentElement' of null 

배열을 만드는 동안은 마커라고 행에서 마커의 노드.

답변

1

당신은 당신이 설정되면, $.ajax 호출의 결과에 $.parseXML를 호출 할 필요는 없습니다 dataType: xml

the documentation에서 :

"xml": Returns a XML document that can be processed via jQuery.

// Read the data 
$.ajax({ 
    type: "GET", 
    async: true, 
    url: urlRequest, 
    dataType: "xml", 
    success: 
    function (xml) { 
     // Parse the xml file and get data 
     var markers = xml.documentElement.getElementsByTagName("marker"); 
     for (var i = 0; i < markers.length; i++) { 

proof of concept