我正在构建一个目录,让您根据当前位置查看周围的业务。现在,这些业务作为address1,address2,city,province,postal_code存储在数据库中。
如果我想做距离,我也应该存储lat / long吗?什么是最好的方法呢?
我正在使用PHP,HTML5地理位置和Google地图。
答案 0 :(得分:1)
除非您有其他方法来缩小数据库搜索范围,否则您可能做想要保留lat / long,因为它可以帮助您过滤数据库搜索附近的地址。使用lat / long精确计算两点之间的精确距离是很复杂的,但它至少是缩小地址数量的起点,以便更详细地查看。
此外,如果您希望能够在没有数据连接时运行,则需要使用一些数据代替Web查找。可以从纬度获得相当精确的距离,而不必过分担心经度线的收敛,至少对于我来说是一种精确度。
答案 1 :(得分:0)
如果您查看Google地图中的距离服务,您可以传递地址或lat,这不是“必须”,长:
https://developers.google.com/maps/documentation/javascript/distancematrix
答案 2 :(得分:0)
您不希望对数据库中的每个条目进行距离计算,您需要缩小范围。 postal_code可能就足够了。如果不是,您可以通过将每个限制在该位置周围的范围内,使用lat / lon快速缩小搜索范围。这提供了一个近似方形的梯形区域,它可能已经足够好了。