我能';是否使用JavaScript函数从bart.gov XML获取时间和目的地?

我能';是否使用JavaScript函数从bart.gov XML获取时间和目的地?,javascript,php,xml,api,google-maps,Javascript,Php,Xml,Api,Google Maps,我正在开发一个网站,我正在使用谷歌地图模拟著名的巴特湾区快速交通路线……我制作了一个java脚本,它包含了我的所有功能,并在我的“index.php”中使用了它。我还制作了另一个“connection.php”文件,该文件创建了cUrl会话来获取巴特的网页信息,它看起来如下: <?php $site = "http://api.bart.gov/api/etd.aspx?cmd=etd&orig=RICH&key=MW9S-E7SL-26DU-VV8V"; $ch =

我正在开发一个网站,我正在使用谷歌地图模拟著名的巴特湾区快速交通路线……我制作了一个java脚本,它包含了我的所有功能,并在我的“index.php”中使用了它。我还制作了另一个“connection.php”文件,该文件创建了cUrl会话来获取巴特的网页信息,它看起来如下:

<?php

$site = "http://api.bart.gov/api/etd.aspx?cmd=etd&orig=RICH&key=MW9S-E7SL-26DU-VV8V";

$ch = curl_init($site); // Initialize a cURL session

curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$xml = curl_exec($ch);

header("Content-Type: text/xml");
echo $xml;
curl_close($ch);

这是我用来从bart的xml文件中获取所需数据的函数:

function getTimes(marker, station, name, infowindow){
alert(station);
var times = [];
jQuery.get("connection.php", {}, function (data){
    $(data).find("station").each(function (){
         var $each = jQuery(this);
         var abrv = $each.find("abbr").text();

         if(station == abrv){                
             $each.find("etd").each(function (){
                 var that = jQuery(this);
                 var destino = that.find("destination").text();
                 var time = that.find("estimate").text();
                 alert(destino);
                 alert(times);
                 times.push(time);
                 destinos.push(destino);
                 infowindow.setContent(time + destino);
                infowindow.open(map, marker);                     
             });
             var contentString ='<h2>' + name + '</h2>';
             for(var i = 0; i < times.length; i++){
                contentString += '<tr>  <td>' + times[i] + ' </td><td> ' + destinos[i] + '</td></tr></br></br>'

             }
             infowindow.setContent(contentString);
             infowindow.open(map, marker);
         }

    });
});
函数获取时间(标记、站、名称、信息窗口){
警报(站);
var时间=[];
get(“connection.php”,{},函数(数据){
$(数据)。查找(“站点”)。每个(函数(){
var$each=jQuery(此);
var abrv=$each.find(“abbr”).text();
如果(站==abrv){
$each.find(“etd”)。each(函数(){
var=jQuery(this);
var destino=that.find(“destination”).text();
var time=that.find(“估计”).text();
警报(destino);
警报(次);
推(时间);
目的推送(destino);
infowindow.setContent(time+destino);
信息窗口。打开(地图、标记);
});
var contentString=''+name+'';
对于(var i=0;i
' } setContent(contentString); 信息窗口。打开(地图、标记); } }); });
}


不幸的是,它只显示站点的缩写,不显示估计值和目的地。怎么了?我想我已经实现了所有应该实现的东西

如果您实现了所有应该实现的内容,我就不会在中键入:)如果您至少发布一些XML,这会有所帮助。你检查过浏览器控制台有没有错误吗?@Pointy我说我“猜”lol…不管怎样,这就是xml的样子,:)当我尝试通过jQuery API解析xml时,我得到了一个错误;我不知道为什么。你看到控制台错误了吗?@Pointy我已经检查过了,它有一个警告vent.returnValue不推荐使用。请改用标准的event.preventDefault(),这是什么?:)@上一篇文章来自chrome,但通过Mozilla它表明了这一点:HTML文档的字符编码没有声明。如果文档包含US-ASCII范围之外的字符,则在某些浏览器配置中,文档将呈现乱码文本。页面的字符编码必须在文档或传输协议中声明。BART%20GOOGLE%20MAPS 18:25:22.808分析“后台”的值时出错。声明被撤回。BART%20GOOGLE%20MAPS 18:25:37.942不推荐使用属性的指定属性。它总是返回真的。jquery.min.js:16