我做了很多谷歌,但无法让它工作。在我的 MKMapView 中,我有一个自定义的 MKAnnotationView,我可以放置在任何地方,还有代表我当前位置的那个点。我可以“显示方向”计算自定义注释和当前位置之间的 MKDirections,并绘制一个 MKPolyline 叠加层以显示 MKRoute。
到目前为止,一切都很好。如果我现在正朝着我的自定义注释移动,则折线叠加不会更新,也不会减去我已经走过的距离。
我想我必须重新绘制折线。在 CLLocation 委托中
-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {
我试图重绘它,但行为很奇怪。如果我删除旧的叠加层并添加一个新的叠加层,我会有一种闪烁的效果,它并不平滑,如果当前位置改变方向,比如在十字路口,它有时会重新绘制不同的路线等等......
那么实现这一目标的正确方法是什么?就像您开车到某个地方并按照指示在地图应用程序中一样,叠加层正在顺利更新。
我找不到任何关于如何实现这一点的示例代码或片段。
目标-C 请!
谢谢 !