gpt4 book ai didi

php - 如何使用 getLatitude() 返回的 double 值等 GPS 数据?

转载 作者:行者123 更新时间:2023-11-29 14:17:34 25 4
gpt4 key购买 nike

我一直在寻找答案,但也许我只是没有使用正确的术语。我正在创建一个应用程序,它将访问数据库以返回距用户位置一定距离内的其他用户的列表。我从未使用过此类数据,而且我真的不知道这些值的含义。我想使用 MySQL 或 PHP 在后端完成所有计算。目前,我将纬度和经度作为 double 值存储在数据库中。我可以访问它们并存储它们,但我不知道如何根据距离对它们进行排序。也许我应该使用该领域常见的不同类型或某种技术。 TIA。

最佳答案

听起来您需要使用 haversine formula它获取两组长/纬度坐标之间的距离(根据地球曲率进行调整)。

如果您将其作为输出运行查询,您可以轻松地根据与用户的最小距离对它们进行排序。

这里是实现 haversine in 9 commonly 的链接使用的语言和 here is a SO question它在 SQL 查询中实现它。

以下是您可以调整的查询(获取 25 英里内从最近到最远排序的任何内容):

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;

关于php - 如何使用 getLatitude() 返回的 double 值等 GPS 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12351851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com