我有一个充满地址的数据库表,该表有 4,000 多条记录
我想知道将地址与搜索字段进行比较并按与搜索字段位置的距离对它们进行排序的最佳方法?GoogleAPI 文档说请求限制为每天 25,000 次,这是否意味着我每天只能进行 7 次搜索?
在我看来 - 是的。谷歌在计算 2 个 LatLng 之间的距离方面很聪明,因为使用街道和道路为您提供距离,而不是 2 点之间的直线距离(这在 php 中很容易计算)。
保存这 4000 个地址中的 LatLng 对您没有任何好处,因为您仍然需要向 google 询问从用户地址到每个地址的距离。即使您拥有所有 LatLng(您需要map),您也无法自己计算。
我想您可以保存每个用户输入,并保存到每个位置 4000 距离的地址……但这仅对第二次返回该站点的用户有用。
...
好的,我有这个想法:
这样,您可以从用户输入中获得到最近位置的前 10-20 个准确距离,其余的将从数据库中提取——它们实际上是从最近位置到其他位置的距离。
我相信由于地址没有太大变化,您可以在某处缓存纬度/经度并参考这些地址而不是重复请求。当然,如果还有其他缓解条件,请详细说明。