Google 路线 XML Feed 停止工作 - 代码未更改



我有一个PHP文件,拦截和XML谷歌饲料创建方向。没有任何更改,文件现在没有产生任何结果。我也不知道为什么。所以我建立了一个测试页面希望你们中有人能看到到底发生了什么。

就好像提要url已经改变了,但我检查过了,它没有改变。

下面是测试页面,清单2是从正则get表达式中获取的邮政编码。我们网站的另一部分也使用了类似的脚本,但也失败了。就好像我们被挡住了。

http://www.golfbrowser.com/Actions/directions.php?start=S173ne&结束= SL42ES

和PHP

<?php 
$start = $_GET['start'];
$end = $_GET['end'];
$xml = simplexml_load_file('http://maps.googleapis.com/maps/api/directions/xml?origin='.$start.'&destination='.$end.'&sensor=false');

// data to fetch
$startlat = $xml->xpath("/DirectionsResponse/route/leg/start_location/lat");
$startlng = $xml->xpath("/DirectionsResponse/route/leg/start_location/lng");
$endlat = $xml->xpath("/DirectionsResponse/route/leg/end_location/lat");
$endlng = $xml->xpath("/DirectionsResponse/route/leg/end_location/lng");

$start = $xml->xpath("/DirectionsResponse/route/leg/start_address");
$end = $xml->xpath("/DirectionsResponse/route/leg/end_address");
$start = (string)$start[0];
$end = (string)$end[0];
$startlat = (string)$startlat[0];
$startlng = (string)$startlng[0];
$endlat = (string)$endlat[0];
$endlng = (string)$endlng[0];

// Route Information
$distance = $xml->xpath("/DirectionsResponse/route/leg/distance/value");
$duration = $xml->xpath("/DirectionsResponse/route/leg/duration/value");
$distance = (string)$distance[0];
$duration = (string)$duration[0];
$duration = round(($duration / 60), 0);
if ($duration > 60)
{
  $hours = round(($duration / 60),0). ' hour and ';
  $minutes = $duration % 60 . ' minutes';
}
if ($duration == 60)
{
  $hours = round(($duration / 60),0). ' hour';
  $minutes == '';
}
if ($duration >= 120)
{
  $hours = round(($duration / 60),0). ' hours and ';
  $minutes = $duration % 60 . ' minutes';
}
if ($duration < 60)
{
   $minutes = $duration % 60 . ' minutes';
}
$distancekm = round(($distance * 0.001), 1);
$distancem = round(($distance * 0.000621371192), 1);

// Directions
$directions = $xml->xpath("/DirectionsResponse/route/leg/step");


// Compilation
$outputo = '
<a class="dirtotal" onclick="titoall()"><b>Route Overview </b>'.$distancem.' miles ('.$distancekm.' km) <br />about '.$hours.' '.$minutes.'</a>';
$outputs = '<a class="dirstart" onclick="tito('.$startlat.', '.$startlng.')"><b>'.$start.'</b></a>';
$output = '';
$distancem = '';
$distancekm = '';
$duration = '';
$order = 0;
foreach ($directions as $direct) {
    $latitude = $direct->start_location->lat;
    $longitude = $direct->start_location->lng;
    $output .= '<a class="dir" onclick="tito('.$latitude.', '.$longitude.')"><span class="tit">'.($order += 1).'</span><div>';
    if($distancekm !== '') {
    $output .= 'Drive '.$distancem.' miles ('.$distancekm.' km) then ';
    }

    $instructions =  $direct->html_instructions;
    $duration = $direct->duration->value;
    $distance = $direct->distance->value;
    $distancekm = round(($distance * 0.001), 1);
    $distancem = round(($distance * 0.000621371192), 1);

    $output .= $instructions;
    $output .= '</div><span class="end"></span></a>';
}
$outpute =
'<a class="dirend" onclick="tito('.$endlat.', '.$endlng.')"><b>'.$end.'</b></a>';

// output
$outputs = $outputo.$outputs.$output.$outpute;
echo $outputs;

?>

任何想法?

您已达到使用限制:https://developers.google.com/maps/documentation/directions/#Limits

尝试缓存Google的响应,并将它们显示给未来搜索相同方向的用户。

最新更新