好的,所以我不会在这里遇到问题,但我只是想知道是否有一种更标准化的方式来处理我正在做的事情。
基本上我有一个包含经度和纬度位置的数据库表,可能有数千个位置。我还有一些功能可以搜索您的邮政编码,然后您可以从存储的位置查看最接近x的金额。
我已经阅读过关于使用谷歌地图API执行此操作但我真的不想撤回并向谷歌地图api发送数千个请求。
所以这就是我正在做的事情。我有一个存储过程,我传递用户Long和Lat。然后我使用它来形成一个名为distance的列,然后我用它来排序数据。我正在使用以下逻辑的距离列:
SQRT(SQUARE((CAST(USERSLAT AS decimal(9,6))) - Latitude) + SQUARE((CAST(USERSLONG AS decimal(9,6)))-(Longitude))) AS Distance
基本上这是做经典a^2=b^2+c^2
来找到坐标之间的距离,然后使用这些结果我理论上可以看到最接近用户的位置。一旦我有这些数据,我就可以使用谷歌地图api找到确切的距离。这是一个好办法吗?我头脑中有这种唠叨的感觉,我错过了什么。