ios - Skobbler 当前街道名称、currentAdviceInstruction 和音频建议不起作用

标签 ios skmaps

我目前正在开发一个转弯导航应用程序,我使用 API Skobbler,我设法集成了,但是当我进行实时测试时,我注意到我没有从回调中获取信息,例如:

-(void)routingService:(SKRoutingService *)routingService didUpdateFilteredAudioAdvices:(NSArray *)audioAdvices{

 NSLog(@"audio advices: %@",audioAdvices);

} -(void)routingService:(SKRoutingService *)routingService didChangeCurrentStreetName:(NSString *)currentStreetName streetType:(SKStreetType)streetType countryCode:(NSString *)countryCode{

NSLog(@"street name: %@,%d,%@",currentStreetName,streetType,countryCode );
// NSLog(@"routing service array: %@",routingService.visualAdviceConfigurations);

} -(void)routingService:(SKRoutingService *)routingService didChangeCurrentAdviceImage:(UIImage *)adviceImage withLastAdvice:(BOOL)isLastAdvice{

NSLog(@"image changed");
}
- (void)routingService:(SKRoutingService *)routingService didChangeCurrentAdviceInstruction:(NSString *)currentAdviceInstruction nextAdviceInstruction:(NSString *)nextAdviceInstruction{

NSLog(@"current instruction: %@",currentAdviceInstruction);

我得到的唯一回调是:

  • (void)routingService:(SKRoutingService *)routingService didChangeCurrentSpeed:(double)speed{

    NSLog(@"speed: %f",speed);

} - (void)routingService:(SKRoutingService *)routingService didChangeDistanceToDestination:(int)distance withFormattedDistance:(NSString *)formattedDistance{

NSLog(@"distance: %@",formattedDistance);

感谢您的帮助。

最佳答案

- (void)routingService:(SKRoutingService *)routingService didFinishRouteCalculationWithInfo:(SKRouteInformation*)routeInformation{ NSLog(@"路由计算完毕。"); [routingService zoomToRouteWithInsets:UIEdgeInsetsZero];//缩放到当前路线 //NSArray *adviceList = [routingService routeAdviceListWithDistanceFormat:SKDistanceFormatMetric];//SKRouteAdvice 数组 NSLog(@"路由距离:%d",routeInformation.distance); NSLog(@"路由时间: %d",routeInformation.estimatedTime); SKNavigationSettings* navSettings = [SKNavigationSettings 导航设置]; navSettings.navigationType=SKNavigationTypeReal; navSettings.distanceFormat=SKDistanceFormatMetric; [SKRoutingService sharedInstance].mapView.settings.displayMode = SKMapDisplayMode3D; [[SKRoutingService sharedInstance]startNavigationWithSettings:navSettings]; 这就是我开始导航的方式:

关于ios - Skobbler 当前街道名称、currentAdviceInstruction 和音频建议不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28850856/

相关文章:

objective-c - NSNetService 工作正常,但无法获取主机名,解析导致错误

android - 更改 SKMaps 中的音频建议

java - 如何解决SKMaps.jar和guava的冲突依赖

ios - 如何缩小自定义 Skobbler 离线 map 应用程序的大小

ios - 无法更改使用 xib 文件 Swift 创建的按钮中的字体

ios - SwiftUI在无法推断时指定类型

ios - 如何在我的代码中使用默认的 LoginWithFacebook 按钮

iphone - "Reachability.h"“Reachability.m 在添加它们时给出 Apple mach-o 链接器错误

android - SKPolyline 选项不适用于 Android

ios - Skobbler map 无法使用 ZoomToRouteWithInsets 进行缩放