1

我想用这个脚本来计算旅程距离。很简单。除了这会返回与 Bing Maps 本身不同的答案。好的,我明白了。但我想要的是一种选择“最好”的方法。如何定义最好?Bing 会选择的那个。例如,在这种情况下,它是 11.9 英里(这是正确的)。

然而,脚本认为它是 182 英里——如果它使用不同的 Shuttleworth/Bedford,这是真的。

我如何让它给我 Bing 会选择的那个?

出于我使用这个脚本的目的,我不能有一个“可供选择的选项”,它需要自己决定。

<?php
$from="Bedford";
$to="Shuttleworth";
$load="http://dev.virtualearth.net/REST/v1/Routes?wp.1=$from&wp.2=$to&key=MYAPIKEY&distanceUnit=mile";
$data= file_get_contents($load);
echo $data;
?>
4

1 回答 1

0

我不会为了测试它而获得 Bing API 密钥,所以在你自己测试之前不要太兴奋。

我怀疑正在发生的事情是 Bing 正在使用它认为是您当前的位置来确定 Bedford 和 Shuttleworth 的含义。因此,如果它认为你在英格兰,你会选择 Bedford 和 Shuttleworth England,如果你在世界其他地方有 Bedford 和 Shuttleworth,它会选择这些。我在德克萨斯州,我得到了你想要的 11.9 英里的路线。因此,也许 Bing 足够聪明,知道除了相距 182 英里的贝德福德和沙特尔沃思以外,世界各地的人们都在寻找英国人。我猜你的代码所在的服务器靠近错误的贝德福德和沙特尔沃思。

所以我查看了 API,在Bing API 用户上下文参数中记录了 UserLocation 参数,您可以在其中输入纬度和经度以帮助 Bing 做出决定。尝试将该参数添加到您的查询中并输入您的实际经度和纬度,或者,如果失败,请尝试为美国德克萨斯州奥斯汀市(我所在的地方)输入一个参数,或者在贝德福德和沙特尔沃思之间添加一个参数有兴趣。

于 2012-04-05T19:53:54.310 回答