我想计算两点之间的距离。点是地址。

例子:

A点:美国纽约州纽约肯尼迪机场

B点:拉瓜迪亚,纽约,纽约,美国

现在,我想计算距离(通过道路)和A点与B点之间的行驶时间。

我怎样才能做到这一点?是否可以使用谷歌 map API?您将如何解决这个问题?

最佳答案

<?php
$from = "sr nagar,hyderabad";
$to = "kukatpalle,hyderabad";
$from = urlencode($from);
$to = urlencode($to);
$apiKey= "";
$data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&key=$apiKey&language=en-EN&sensor=false");
$data = json_decode($data);
$time = 0;
$distance = 0;
foreach($data->rows[0]->elements as $road) {
    $time += $road->duration->value;
    $distance += $road->distance->value;
}
echo "To: ".$data->destination_addresses[0];
echo "<br/>";
echo "From: ".$data->origin_addresses[0];
echo "<br/>";
echo "Time: ".$time." seconds";
echo "<br/>";
echo "Distance: ".$distance." meters";
?>

注意:上面你需要公里和时间 h:m 格式只需替换为
$time      = $road->duration->text;
$distance  = $road->distance->text;

关于php - 如何计算两个地址之间的距离,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13062721/

10-12 23:03