1

我有一个名为的 xml 文件markers.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 文件位于我托管网站的同一目录

我正在尝试遵循此处的教程,该教程通过使用从已保存的 xml 文件中提取的数据填充带有标记的谷歌地图的过程。

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

我遵循接受的答案并将大括号放在我的函数之前,并将“xml”放在右括号之前,但没有任何改变。控制台没有给我任何错误,我不确定出了什么问题。

4

0 回答 0