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