私信  •  关注

Yahel

Yahel 最近创建的主题
Yahel 最近回复了
11 年前
回复了 Yahel 创建的主题 » 查找包含给定坐标的圆的mysql查询

Google Code FAQ - Creating a Store Locator with PHP, MySQL & Google Maps :

下面的sql语句将找到距离37,-122坐标25英里半径范围内最近的20个位置。它根据该行的纬度/经度和目标纬度/经度计算距离,然后只要求距离值小于25的行,按距离对整个查询进行排序,并将其限制为20个结果。要按公里而不是英里搜索,请将3959替换为6371。

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) 
* cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance 
FROM markers 
HAVING distance < 25 
ORDER BY distance 
LIMIT 0 , 20;