-1

假设我有用户 X 的 lat/lng,例如 50.597186、5.449219,并且我有一个包含用户(大约 100 万)lat 和 lng 的数据库。现在我想找出用户 X 附近的用户,例如找到距离 X 位置 5 公里范围内的所有用户。如何在数据库中找到用户。有什么建议吗?我试过这个网站来获得纬度/经度和距离之间的关系,但我不明白怎么做?

4

1 回答 1

1

如果您想使用 PHP 执行此操作,请使用半正弦公式。这是一些棘手的三角函数,但就像一个魅力。请注意,负 lon/lat 表示西/南(此约定并未普遍遵循,请检查您的数据以确定)。

如果你想在 mysql 中完成这一切,你可以使用 hasrsine,并且还有一种语法来近似半径中的其他点。看看这个答案

于 2013-10-31T07:00:29.760 回答