确定 MKRoutestep 何时完成

Identify when MKRoutestep finishes

我正在尝试使用 MKDirections API 在 iOS 中实施转弯导航系统。我能够获取路线的方向并可以在地图上绘制多段线,当导航开始时,应用程序开始使用 Steps 数组中的 MKRouteStep 对象显示说明。 现在的问题是,因为 MKRouteStep 对象中的距离是用户在遍历步骤路径时所经过的距离,我无法确定如何计算该距离。 有什么方法可以计算这个距离目前我正在计算两个坐标之间的距离,即显示最后一条指令时用户当前位置的坐标,如果该距离等于 MKRouteStep 中提到的距离,我将显示下一条指令,因此它延迟了要交付给用户的指令。

如果有任何方法可以识别此 MKRouteStep 结束的坐标或区域,我可以计算用户是否在该区域,然后显示下一条指令。可能这可以工作你的想法是什么,但是为此我怎么知道这个 MKRouteStep 从 MKRouteStep 的折线数组结束的坐标或区域?

如果有其他好的解决方案,请提出建议。非常感谢任何帮助。

谢谢。

因为没有人回答我的问题,所以我自己回答这个问题,这样它可以帮助寻找相同问题的人。

因此,我们可以使用 MKRouteStep 提供的折线数组的最后一个坐标,而不是使用 MKRouteStep 的距离值来计算何时显示下一条指令。例如:

MKMapPoint mapPointForEndOfRouteStep = routeStep.polyline[routeStep.polyline.pointCount - 1];

现在你可以在它周围创建一个区域,并检查你当前的位置是否在这个区域内。