我是否应该在数据库中存储经度/纬度?如果我正在“找到我,靠近我”选项?

时间:2012-04-16 20:28:45

标签: php html5 google-maps geolocation

我正在构建一个目录,让您根据当前位置查看周围的业务。现在,这些业务作为address1,address2,city,province,postal_code存储在数据库中。

如果我想做距离,我也应该存储lat / long吗?什么是最好的方法呢?

我正在使用PHP,HTML5地理位置和Google地图。

3 个答案:

答案 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快速缩小搜索范围。这提供了一个近似方形的梯形区域,它可能已经足够好了。