成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

javascript - 百度坐標,返回目標附近有哪些坐標

瀏覽:126日期:2022-06-12 08:50:15

問題描述

現在有一張記錄用戶坐標表(使用百度api),兩個字段記錄,如坐標(116.307852,40.057031).

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

原以為可以直接:

select * from tablewhere x between 116.307852-1km and 116.307852+1kmand y between 40.057031-1km and 40.057031+1km

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

百度地圖求兩點之間距離

問題解答

回答1:

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

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

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

標簽: 百度