gpt4 book ai didi

php - 如何通过谷歌地图地理定位或其他方式获取以某个点为中心的 X 英里半径的纬度/经度坐标?

转载 作者:行者123 更新时间:2023-11-29 02:01:53 25 4
gpt4 key购买 nike

我正在构建一个本地点数据库,这些本地点中的每一个都存储在我的 mysql 数据库中,并带有经纬度坐标集。

我想构建一个搜索,用户可以在其中将其位置输入到表单中,我的表单将通过 google maps geolocation API 成功确定用户的纬度和经度。

我的问题/问题是这样的。我如何确定我的 mysql 数据库中项目的哪些纬度和经度集在预定半径(比如 25 英里)内。

有没有一种方法可以计算出 25 英里半径范围内的纬度和经度的边界,然后使用基本的 mysql 选择检查与该 # 匹配的项目?如果是这样,英里和纬度/经度之间的转换是什么?如果没有,有没有人能想到任何其他方法来解决这个问题?

谢谢!!

最佳答案

几乎与@Skidrow 之前写的一样,但在 php 中。如果你想检查你已经加载的结果,Php 可能会更好,否则你必须迭代 mysql 中的所有帖子。如果那样的话mysql版本会更好

function calculateDistance($targetLat, $targetLng, $againstLat, $againstLng, $units = 'miles')
{
$result = 3958.75 * acos(
sin($targetLat / 57.2958) * sin($againstLat / 57.2958) +
cos($targetLat / 57.2958) * cos($againstLat / 57.2958) *
cos($againstLng / 57.2958 - $targetLng / 57.2958)
);

switch ($units)
{
default:
case "":
case "miles":
$result *= 1;
break;
}

return $result;
}

使用这个函数测试

$target* = 数据库中的位置

$against* = 用户位置

关于php - 如何通过谷歌地图地理定位或其他方式获取以某个点为中心的 X 英里半径的纬度/经度坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13435589/

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