Google maps 每天计算和存储大量行驶距离(PHP JavaScript)

Google maps 每天计算和存储大量行驶距离(PHP JavaScript),google-maps,google-maps-api-3,driving-directions,driving-distance,Google Maps,Google Maps Api 3,Driving Directions,Driving Distance,第一次在这里,所以我会尽量准确和详细 我正在做一个项目,用户可以根据驾驶距离对当地景点进行分类。起点是他们的家庭地址,终点是数据库中存储的(许多)景点之一:湖泊、公园、商店、博物馆等等 注册用户需要指定他/她的地址,站点将运行服务器端脚本,该脚本将缓慢查找该地址与存储的景点之间的距离 在以下情况下,将自动触发行驶距离计算: 1) 新用户向网站注册 或 2) 数据库中添加了一个新的吸引力 假设我有400个景点和1500个用户。如果我添加一个新的吸引力,该网站将获得1500倍的距离(每个用户一个)。

第一次在这里,所以我会尽量准确和详细

我正在做一个项目,用户可以根据驾驶距离对当地景点进行分类。起点是他们的家庭地址,终点是数据库中存储的(许多)景点之一:湖泊、公园、商店、博物馆等等

注册用户需要指定他/她的地址,站点将运行服务器端脚本,该脚本将缓慢查找该地址与存储的景点之间的距离

在以下情况下,将自动触发行驶距离计算:

1) 新用户向网站注册

2) 数据库中添加了一个新的吸引力

假设我有400个景点和1500个用户。如果我添加一个新的吸引力,该网站将获得1500倍的距离(每个用户一个)。如果我添加一个新用户,网站将做400次相同的工作(每个景点一次)

我目前正在使用GoolgeAPI,它们非常好。唯一的问题是。。。我每天最多有2500个查询。因此,如果我增加2个新景点(总共需要3000公里),我将被锁定到第二天

在一个更大的场景中,驾驶距离可能相当长。如果我有5000个注册用户,每当我添加一个新景点时,我必须获得5000个距离。那需要两天时间


还有什么更好的方法?我也在评估谷歌商业API(10.000美元/年),但这只适用于巨大的现实,有好的现金和他们的处置。

使用直线代替。不要使用行驶距离。或者将它们存储在数据库中并使用空间索引。

为什么要从服务器端执行此操作?方向请求根据IP地址计算(每天每个IP有2500个查询),因此每次访问者访问站点时,您可以在后台执行少量请求,这些请求将根据访问者的IP而不是服务器的IP计算。您只需要熟练使用AJAX即可

不幸的是,在这种情况下,从a到B的直线根本不起作用,因为它会完全跳过障碍物(河流、海洋、山脉等)。。。消除了显示准确行驶距离的目的。好吧,你可以将它们存储在数据库中,但老实说,有这么多行驶距离,你应该支付一点费用。此外,你还应该考虑如何在屏幕上显示路线和在现实生活中旅行路线之间做出区别?是的,我存储每一个获取的距离,以避免在每次访问中对谷歌造成冲击。所以当我添加一条新记录时,我基本上使用API来获取A->B距离,然后将其保存在数据库中。这里的问题是,当我有很多需要多次API调用(大大超过2500次/天)的用户(或吸引人的地方)时,如何优化事情。你可以使用空间索引来加速事情。空间索引减少了维度并保留了空间信息。但是我仍然需要从Google(使用他们的API)或任何等效资源(例如Bing)获取单个距离。让我担心的是,如果我有一个新的吸引力需要和用户匹配(假设我有5000名注册会员),我将被迫向谷歌查询5000次。我想知道所有的距离,但也许我应该跳过那些太远的距离(比如说我想展示0公里和50公里范围内的景点)。在一个半径范围内查找东西将是简单而快速的(SQL查询)。无论如何,请求都会来自服务器,所以在我达到每天2500美元的免费值后,我就退出了:|@Skidrow@Loque,你没有读到我的答案。每天的2500次点击量为每IP。你可以一次只做几件事。嗨,斯基德,很抱歉延迟了回答。是的,它是每个IP 2500个,所以处理内容而不产生限制的唯一方法是在客户端工作。但是如果我选择服务器端方式,我就完蛋了。@Loque,我不是Skid。。。。我的建议确实是从客户的角度,在每位访客的背景下,一次一点地做;-)好吧,看来客户端的东西是唯一的方法。Thx所有人:)