识别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一个区域,并检查你的当前位置是否在这个区域。
- 如何在Swift中更改字母间距?
- 创buildTurn-Turn导航iPhone应用程序
- 如何添加项目在uinavigationbar在一个特定的位置?
- iOS 7:如何设置UIBarButtonItem backButtonImage为UIControlStateHighlighted?
- 如何隐藏根视图中的导航控制器?
- RootViewController上的NSInternalInconsistencyException
- 在iOS NavigationBar中用Xamarin.Forms显示“返回菜单”button
- 如何从一个视图控制器导航到另一个视图控制器button点击?
- 消失在UINavigationController中的TableViewController中的UISearchController