gpt4 book ai didi

ios - 如何获取我当前位置附近1KM范围内的位置?

转载 作者:行者123 更新时间:2023-11-28 22:15:17 25 4
gpt4 key购买 nike

数据库中有一个表位置:

id | latitude | longitude
---| -------- | --------
1 | 45.0000 | 90.0000
...

所以我可以使用 SQL 来查询我想要的位置:

SELECT id FROM location 
WHERE latitude BETWEEN min_latitude AND max_latitude
AND longitude BETWEEN min_longitude AND max_longitude;

其中 min_latitude,max_latitude,min_longitude,max_longitude 表示 current_location 附近 1KM 的 4 个边界。

现在我想知道,如何使用 current_location 获取 min_latitude、max_latitude、min_longitude、max_longitude?

enter image description here

我看到了这个问题的答案:How to get the nearest area from a list of locations? ,如果 allLocations 太多,我认为这不是一个好的解决方案。

最佳答案

请注意,您想要的最大和最小纬度/经度方法会选择当前位置方框内的行,而不是如图所示的圆圈内的行。
挑战在于,对于给定的距离,以度为单位的经度增量随纬度而变化。此代码将地球简化为一个完美的球体。

    double centerLat = 45.0;
double centerLon = 90.0;

double d = 1000; // desired distance in meters

double angle = 45 * M_PI / 180; // 45 degrees in radians
double oneDegree = 111319.9; // distance in meters from degree to degree at the equator

double maxLat = centerLat + (d / oneDegree) * sin(angle);
double maxLon = centerLon + (d / (oneDegree*(cos(centerLat * M_PI / 180)))) * cos(angle);
double minLat = centerLat - (d / oneDegree)* sin(angle);
double minLon = centerLon - (d / (oneDegree*(cos(centerLat * M_PI / 180)))) * cos(angle);

关于ios - 如何获取我当前位置附近1KM范围内的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21858190/

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