javascript - 百度座標,回傳目標附近有哪些座標
伊谢尔伦
伊谢尔伦 2017-05-25 15:08:24
0
1
856

現在有一張記錄使用者座標表(使用百度api),兩個欄位記錄,如座標(116.307852,40.057031).

現在先找出所有距離該用戶1km以內的用戶該如何做?

原以為可以直接:

select * 
from table
where x between 116.307852-1km and 116.307852+1km
and y between 40.057031-1km and 40.057031+1km

對座標api不熟,謝謝大家幫我看一下.

百度地圖求兩點之間距離

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(1)
習慣沉默

如果你的資料庫是MySQL 5.7的話可以使用空間函數:ST_Distance_Sphere()來計算地球上兩點之間的最短距離(單位:公尺)。
如下:

SELECT ST_Distance_Sphere(POINT(lat,lng), POINT(116.307852,40.057031)) as distance
FROM table 
where distance < 1000

MySQL 5.6版本可以使用 ST_Distance()來計算距離。需要注意的是,它計算的是兩個2維座標點之間的直線距離,結果需要乘111195(地球半徑6371000*PI/180)將值轉換為公尺。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板