gpt4 book ai didi

ios - 如何查找两个谷歌地图路线是否在 IOS 项目中相交

转载 作者:可可西里 更新时间:2023-11-01 03:54:47 25 4
gpt4 key购买 nike

我想实现以下目标,但我不知道这是否可能。我在路上有两个点(想象成一条终点线 - 它们是人行道的两个边缘 - 它们在一条直线上),我想检查用户的路线是否经过这些点之间。

所以我想,我可以做这样的事情:

  1. 获取这两点之间的路线(它们很近 - 道路最多 20 米宽)
  2. 获取用户路线
  3. 检查这些路线是否相交,它们之间是否有交叉点。

如果是纯几何,就很容易了。我有两条线,我想知道它们之间是否有交集。

我想在 IOS 项目中使用以下内容,如果它有任何不同的话。例如,我想也许有一种以编程方式绘制 MKPolylines 并查看是否有交集的方法。我不想在视觉上看到它,我只需要以编程方式查看它。

这可能吗?你能给我一些其他建议吗?

最佳答案

没有直接的方法来检查该交叉点。

您可以通过将纬度/经度位置转换为 map 位置(应用变换以展平到归一化网格),将问题转化为几何问题。这可以通过 MKMapPointForCoordinate 来完成。

需要考虑的一件事是 GPS 报告的位置不准确。在很多情况下,您会发现 GPS 报告的轨迹实际上并不在路上,而是在路边行驶。特别是在转弯(急转弯)时,您通常会在赛道上遇到大弯道。因此,您可能希望延长“终点线”的宽度以对此进行补偿。


如果您只关心用户是否在某个设定点的特定距离内,那么您可以创建一个CLRegion 来表示目标位置,然后调用containsCoordinate:与当前用户位置。这将删除任何投影并直接使用纬度/经度。您还可以让系统为您监控这一点,并在用户使用 startMonitoringForRegion:desiredAccuracy: 进入或退出区域时给您一个回调。同样,在设置半径时需要考虑 GPS 精度。

关于ios - 如何查找两个谷歌地图路线是否在 IOS 项目中相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18314723/

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