在iOS7中的MKMapView上显示MKRoute

在iOS7中的MKMapView上显示MKRoute,第1张

概述我使用MKDirectionsRequest在两点之间找到一个MKRoute. 响应将使用以下代码显示在MKMapView上: MKDirections *directions = [[MKDirections alloc] initWithRequest:request]; [directions calculateDirectionsWithCompletionHandler:^(MK 我使用MKDirectionsRequest在两点之间找到一个MKRoute.
响应将使用以下代码显示在MKMapVIEw上:
MKDirections *directions = [[MKDirections alloc] initWithRequest:request];    [directions calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse *response,NSError *error)     {         if (error)         {             NSLog(@"Error : %@",error);         }         else         {             [_mapVIEw removeOverlays:_mapVIEw.overlays];             for (MKRoute *route in response.routes)             {                 [_mapVIEw insertOverlay:route.polyline atIndex:0 level:MKOverlayLevelAboveRoads];             }         }     }];
@H_301_5@我的问题是,如果用户正在移动,如果有正确的方法更新MKRoute.我正在使用Atm

- (voID)mapVIEw:(MKMapVIEw *)aMapVIEw dIDUpdateUserLocation:(MKUserLocation *)aUserLocation
@H_301_5@识别移动,在这种方法我删除MKRoute覆盖,并计算和添加新的用户位置新.
我想知道是否有一种方法计算路线只有一次,并以编程方式更新覆盖?

@H_301_5@编辑:
我发现这个https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKRouteStep_class/Reference/Reference.html#//apple_ref/occ/cl/MKRouteStep在苹果开发文档.
我想我必须做一些类似的事情

for (MKRoute *route in response.routes){   for (MKRouteStep *step in route.steps)    {      [_mapVIEw insertOverlay:step.polyline atIndex:0 level:MKOverlayLevelAboveRoads];   }}
@H_301_5@但是如何识别实际用户位置背后的哪些步骤?

@H_301_5@编辑:另一个选项可能是使用触发事件的定时器(删除旧的叠加层并添加新的叠加层).你怎么看?

[NSTimer scheduledTimerWithTimeInterval:15 target:self selector:@selector(addRouteOverlay) userInfo:nil repeats:YES];
解决方法 以下链接包含用于显示MKMapVIEw路线的示例代码,我们只需要在其中传递纬度和经度值. @H_301_5@https://github.com/kadirpekel/MapWithRoutes

总结

以上是内存溢出为你收集整理的在iOS7中的MKMapView上显示MKRoute全部内容,希望文章能够帮你解决在iOS7中的MKMapView上显示MKRoute所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1111270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存