我想从MySQL中根据用户选择的纬度和经度提取数据。 例如,如果用户在加利福尼亚州要求列表,我想在加利福尼亚提取一些列表,或者如果用户在AlisoViejo中请求列表,我需要在AlisoViejo中获取列表。为此我使用纬度和经度,任何人都可以让我知道如何实现这个
答案 0 :(得分:0)
直接或间接(使用关系表)保留列表中每条记录的纬度和经度数据。然后使用这样的东西(取自MYSQL Geo Search having distance performance):
SELECT a .* ,
round( sqrt(
(POW(a.latitude -'53.410778', 2)* 68.1 * 68.1) +
(POW(a.latitude -'-2.97784', 2) * 53.1 * 53.1)
)) AS distance
FROM adverts a
WHERE a.type_id = 3
HAVING distance < 25
LIMIT 0 , 30
或使用MYSQL的地理空间功能:
https://dev.mysql.com/doc/refman/5.7/en/spatial-analysis-functions.html