jQuery $ .get()没有成功使用XML文件

时间:2013-07-22 18:22:31

标签: jquery xml

我有一个名为markers.xml的xml文件,其格式如下

<?xml version="1.0" encoding="UTF-8"?>
<marker>
    <name></name>
    <fulladdress></fulladdress>
    <lat></lat>
    <lng></lng>
    <isSiteLocation></isSiteLocation>
</marker>

我尝试使用该文件的jQuery函数如下所示

MYMAP.placeMarkers = function(filename) {  
    $.get(filename,{}, function(xml) {    
        $(xml).find("marker").each(function() {      
            var name = $(this).find('name').text();      
            var address = $(this).find('address').text();            

            // create a new LatLng point for the marker      
            var lat = $(this).find('lat').text();      
            var lng = $(this).find('lng').text();
            var isSiteLocation = $(this).find('isSiteLocation').text();
            var markerIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/" + (isSiteLocation) ? "blue-dot.png" : "red-dot.png";

            var point = new google.maps.LatLng(parseFloat(lat),parseFloat(lng));            

            // extend the bounds to include the new point      
            MYMAP.bounds.extend(point);      

            // add the marker itself      
            var marker = new google.maps.Marker({        
                position: point,        
                map: MYMAP.map,
                icon: markerIcon      
            });      

            // create the tooltip and its text      
            var infoWindow = new google.maps.InfoWindow();      
            var html='<b>'+name+'</b><br />'+address;      

            // add a listener to open the tooltip when a user clicks on one of the markers      
            google.maps.event.addListener(marker, 'click', function() {        
                infoWindow.setContent(html);        
                infoWindow.open(MYMAP.map, marker);      
            });    
        });        

        // Fit the map around the markers we added:    
        MYMAP.map.fitBounds(MYMAP.bounds);  
    }, "xml");
}

并通过onclick事件调用它,告诉它xml文件名

$("#showmarkers").click(function(e) {    
    MYMAP.placeMarkers('markers.xml');  
});

我的问题是,当调用MYMAP.placeMarkers函数时,javascript永远不会进入成功函数。我使用javascript调试器跟着它,看起来我的文件名被拒绝了。 javascript,html和xml文件位于托管网站here上的同一目录中。

我正在尝试按照教程here进行操作,该教程使用从保存的xml文件中提取的数据来填充带有标记的Google地图。

在我提出这个问题之前,我一直在做研究,我在这里发现了一个与我的问题非常相似的问题jQuery is not reading xml file

我按照接受的答案把括号放在我的功能之前,然后我把“xml”放在右括号之前,但没有改变。控制台没有给我任何错误,我不确定会出现什么问题。

0 个答案:

没有答案