我正在尝试此查询,但它只给我近距离。
例如pune latitude=18.52043longitude =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/

10-13 01:22