我有一个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的响应,并将它们显示给未来搜索相同方向的用户。