我有一个 MySQL 表,其中包含三列:lat、lon 和 ID
现在作为输入我希望用户提供一对纬度和经度。作为返回,我想显示从最近到最远的排序行。
现在,这个问题的一个解决方案是,获取数组中的所有条目,制作一个临时数组,使用haversine计算每个项目的距离strong> 公式,推送到临时数组,最后对该数组执行任何排序算法。
但是,这个操作很繁重,我想要一个更好的解决方案。有吗?
P.S:我正在使用 PHP 脚本。
最佳答案
简短回答:否。
长答案:也许吧。如果您在给定且非常有限的半径内工作,您可以通过为 lat 和 lng 中的每十分之一度建立一个固定值并应用假设([delta lat squared + delta lng squared] 的平方根来简化事情).
但这仅适用于非常靠近您的中心点的点。
关于php - 根据坐标对MySQL记录进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703806/