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