确定MKRoutestep何时完成

时间:2015-06-15 11:56:39

标签: ios navigation mapkit directions mkpolyline

我正在尝试使用MKDirections API在iOS中实现转弯导航系统。我能够获得路线的方向,并可以在地图上绘制折线,当导航开始时,应用程序开始使用步骤数组中的MKRouteStep对象显示指令。 现在问题是,因为MKRouteStep对象中的距离是用户在遍历步骤路径时所覆盖的距离我无法识别如何计算此距离。 有没有办法计算这个距离目前我正在计算两个坐标之间的距离,即最后一条指令显示的坐标与用户的当前位置,以及该距离是否等于MKRouteStep中提到的距离我正在显示下一条指令延迟向用户发送的指令。

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

请建议是否有其他好的解决方案。任何帮助都非常感谢。

感谢。

1 个答案:

答案 0 :(得分:5)

由于没有人回答我的问题,我自己回答这个问题,这样可能有助于有人寻找。

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

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

现在,您可以在其周围创建一个区域,并检查您当前的位置是否位于此区域。

相关问题