我正在尝试此查询,但它只给我近距离。
例如pune latitude=18.52043
和longitude =73.85674
。
它向我显示了最近的位置及其良好。
问题是,如果用户搜索印度国家/地区,则应该获取印度国家/地区的所有经度和纬度。
请帮助我解决这个问题。
SELECT
(
6373 *
acos(
cos( radians(18.52043) ) *
cos( radians( `latitude` ) ) *
cos(
radians( `longitude` ) - radians(73.85674)
) +
sin(radians(18.52043)) *
sin(radians(`latitude`))
)
) `distance`
FROM
`caw_user_meal`
HAVING
`distance` < 50
ORDER BY
`distance`
最佳答案
您需要首先确定世界上所有国家/地区的所有边界。您可以从此处Natural Earth免费下载该数据。
之后,您必须检查给定的经纬度是否在特定国家/地区的范围内。
希望能有所帮助。
关于php - mysql查询以获取内部数据,特别是经度和纬度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28622630/