响应将使用以下代码显示在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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)