使用纬度和经度的半径为40公里

14 php mysql google-maps

可能重复:mysql查询
中多个纬度/经度点
距离计算的半径根据纬度/经度
选择20公里内

我有一个MyISAM表,数据存储在其中.数据包括谷歌地图的纬度和经度.我想要实现的是选择样本纬度和经度40公里范围内的所有对象.

谢谢!

Der*_*rVO 40

我使用此查询获取$radius周围的所有点$lat/ $lng:

SELECT
    *,
    ( 6371 * acos( cos( radians({$lat}) ) * cos( radians( `lat` ) ) * cos( radians( `lng` ) - radians({$lng}) ) + sin( radians({$lat}) ) * sin( radians( `lat` ) ) ) ) AS distance
FROM `positions`
HAVING distance <= {$radius}
ORDER BY distance ASC
Run Code Online (Sandbox Code Playgroud)

6371是地球半径im km.我还没有发明它:http : //code.google.com/intl/en/apis/maps/articles/phpsqlsearch.html https://developers.google.com/maps/articles/phpsqlsearch_v3#findnearsql(编辑:网址已更改)