识别MKRoutestep何时完成

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

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

请build议是否有任何其他良好的解决scheme。 任何帮助,高度赞赏。

谢谢。

由于没有人回答我的问题,我自己回答,以便可以帮助寻找相同的人。

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

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

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