max*_*ax_ 5 php mysql geolocation
我有一个名为数据库users与列latitude和longitude,我想看看最近的用户(在用户users表),这是50公里半径一定的纬度和经度提供内$_POST.
你能告诉我怎么做吗?是否需要使用某种数学函数,或者MySQL中的函数是latitude_compare()什么?
你可以这样做:
SELECT *,
(ACOS((SIN(RADIANS(ref_latitude))*SIN(RADIANS(latitude))) +
(COS(RADIANS(ref_latitude))*COS(RADIANS( latitude ))*COS(RADIANS( longitude)
-RADIANS(ref_longitude)))) * 6371) AS distance
FROM table
ORDER BY distance ASC
Run Code Online (Sandbox Code Playgroud)
A点:ref_latitude ref_longitude
B点:经纬度
我的纬度/经度值以度为单位,如下所示:
德累斯顿: 13.721067614881400 / 51.060033646337900
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |