首页 > 解决方案 > 使用 Google API 获取多个位置的时间,例如 google。PHP

问题描述

使用 Google API 获取多个位置的时间,例如 google。PHP,我在互联网上到处搜索,但我只获得两个位置的解决方案,我需要多个位置时间的解决方案,如 php 中的谷歌地图。请帮助我

$from = "Więckowskiego 72, Łódź";
$to = "Gazowa 1, Łódź";

$from = urlencode($from);
$to = urlencode($to);

$data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&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";

上面的解决方案对我来说很好,但我需要多个位置的相同解决方案来获得多个位置之间的信息,例如:

地点:

From Location :anna nagar.
Points :thiruvanmiyur.
Points  :guindy.
To Location :ashok nagar.

我需要为以上多个位置获取时间和公里数

标签: phplaravelcurl

解决方案


您是否必须使用 API 来检索不同位置的时间?或者你只想要最终结果?

如果您可以安全地假设您的服务器的定位时间是准确的(您可以为此设置一个 NTP 客户端),并且您在很大程度上信任您的 PHP 库,那么您不需要 API 来获取本地逻辑时间。

柏林现在几点了?

date_default_timezone_set('Europe/Berlin');
echo date("g:ia"); //Time in Berlin

伦敦呢?

date_default_timezone_set('Europe/London');
echo date("g:ia"); //Time in London, same as UTC without DS

推荐阅读