【发布时间】:2012-12-28 19:50:06
【问题描述】:
<a href="http://maps.apple.com/?ll=<?php echo $_GET[q] ?>" style="text-
decoration:none;color:gray;"><div class="box" style="position:absolute;top:0px;left:0px;font-family:Lato;"><span style="float:left;">Directions</span><span style="color:#F2473F;float:right;">About <?php
$lat = $_GET['lat'];
$long = $_GET['long'];
$q = $_GET['q'];
$mysongs = simplexml_load_file('http://www.mapquestapi.com/geocoding/v1/address?key=Fmjtd%7Cluuan1urn9%2Cb0%3Do5-968206&location=' . $q . '&callback=renderGeocode&format=xml');
$lat2 = $mysongs->results[0]->result[0]->result[0]->locations[0]->location[0]->latLng[0]->lat;
$long2 = $mysongs->results[0]->result[0]->result[0]->locations[0]->location[0]->latLng[0]->lng;
$mysongs4 = simplexml_load_file('http://www.mapquestapi.com/directions/v1/route?key=Fmjtd%7Cluuan1u2nh%2C2a%3Do5-96rw5u&from=' . $lat . ',' . $long . '&to=' . $lat2 . ',' . $long2 . '&callback=renderNarrative&outFormat=xml');
$vari = $mysongs4->route[0]->time;
$vari = $vari / 60;
echo round($vari);
?> minutes</span><br></div>
我做错了什么? 变量 $lat2 和 $long2 为空。当我 print_r $mysongs 时,它说 API 密钥是错误的,但它不是,它返回一个 403 错误。
我很确定这是我在 $mysongs 中发送 URI 的方式的问题,(因为我之前使用相同的 API 也遇到过类似的问题),但我不太确定在哪里。
我正在做的请求是 ?q=19540 Jamboree Rd Ste 200 Irvine, CA&lat=33.852471&long=-117.7325256。
非常感谢!
【问题讨论】:
-
403 表示
Forbidden。可能您需要先进行身份验证。 -
@shiplu.mokadd.im 在 MapQuest API 中,您通过 API 密钥进行身份验证。正如我在帖子中所说,API 密钥是正确的。我很确定。 “当我 print_r $mysongs 时,它说 API 密钥是错误的,但它不是,它返回一个 403 错误。我很确定这是我在 $mysongs 中发送 URI 的方式的问题, (因为我之前使用相同的 API 也遇到过类似的问题),但我不太确定在哪里。”
-
请向我们展示您正在使用的请求变量(URL 参数)的内容,谢谢。哦等等,没关系 - 我现在在问题中看到了!
-
@RayPaseur 我在我的原始帖子中发布了“?q=19540 Jamboree Rd Ste 200 Irvine, CA&lat=33.852471&long=-117.7325256”。
-
@RayPaseur 试过了,还是不行。 :(