Google Maps Distance Matrix-有效利用

问题描述

我正在使用交付网络应用程序,无法弄清楚如何减少应用程序发送到google距离矩阵的请求数量,以计算请求的交付地址与商店地址之间的距离。

我有一个页面目录,大约有1000家商店。每次用户输入送货地址,我都会向Google Maps API发送1000个请求,以检查用户的送货地址是否在每个商店的送货范围内。因此,每当用户输入新的递送地址时,谷歌都会向我收取1000个请求。

关于如何优化Google Api的使用率的任何建议,并仅显示那些送货到所选地址的商店,因为当前的方法过于昂贵。我想知道有成千上万家商店的大型按需送货服务可以应对吗?

解决方法

您可以计算出直线距离(使用公式),并且仅请求直线距离小于允许范围的商店,因为行进距离不能短于直线。

如果您不希望得到最短的旅行,您还可以对候选人进行排序,按顺序要求他们,并在得到可接受的票后立即停止。有时候,这会使商店在物理上更近,但距离道路更远,这可能是可接受的,也可能是不可接受的。

在大多数编程语言中,直线距离将在名称为“ great-circle distance”的“地理”库或类似库中提供。您也可以search for it here on SO