gpt4 book ai didi

javascript - 使用 php 脚本以更快的方式获取 lat lng 值

转载 作者:行者123 更新时间:2023-12-01 03:54:40 24 4
gpt4 key购买 nike

我有一个如下所示的脚本,用于获取存储在 $address 变量中的地址的 lat 和 lng 值。

if(my condition here){  
$prepAddr = urlencode($address);
$geocode = file_get_contents('https://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false&key=myapikey');
$output= json_decode($geocode);

$address_lat = $output->results[0]->geometry->location->lat;
$address_lng = $output->results[0]->geometry->location->lng;
}

脚本运行得很好。但问题是我有超过 1000 个地址,我必须循环遍历并根据数据创建 csv 结果。当我这样做时,需要花费很长时间,并且在生成大约 200 个结果后总是失败。项目。

那么如何以更快的方式在 php 脚本中获取 lat lng 值?

我确实测试了延迟是否是由于 csv 生成造成的,但不是,如果我用 lat 和 lng 的静态值替换上面的 lat lng 生成代码,那么 csv 会更快生成(在 < 10 秒左右)。但使用 file_get_contents 大约需要 6 到 10 分钟

所以可以肯定问题出在我获取纬度和经度值的方式上。我想可能有人可以让我知道一种更快的方法来使用 PHP 脚本内的完整地址获取 lat lng 值

可能有一种方法可以将 javascript 代码包含在 PHP 脚本中?但我不知道该怎么做?如果那会很快?

最佳答案

实现这一目标的最佳方法是创建一个函数,一次获取一个地址并从 google API 检索其 lat, lng 并将其存储在该地址中表(在地址表中添加两列用于 lat、lng 的列,并再添加一列以维护获取 lat、lng 的地址的状态)

每隔几秒或任何适合您的时间将此功能放在 CRON 上。现在,当您需要 CSV 时,从表中获取记录并从中生成 csv。

注意:Google API 有每秒和每天的点击限制,如果您使用 for 循环,则在某些循环后,该限制将达到几秒。

关于javascript - 使用 php 脚本以更快的方式获取 lat lng 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com