首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到SkobburerSDK2.4- RouteCalculation错误

升级到SkobburerSDK2.4- RouteCalculation错误
EN

Stack Overflow用户
提问于 2015-03-16 08:25:17
回答 1查看 185关注 0票数 1

我们刚刚升级到SkobburerSDK2.4与我们的B2B应用程序。现在我们遇到了以下问题:

在计算路由时,应用程序调用SKRouteManager.getInstance().calculateRoute.后会出现空指针异常崩溃

这是代码:(在升级之前,它运行得很好.)

代码语言:javascript
复制
SKRouteSettings route = new SKRouteSettings();
route.setStartCoordinate(ApplicationData.getInstance().getCurrentCoordinate());
route.setDestinationCoordinate(goal);
route.setNoOfRoutes(1);
route.setRouteMode(SKRouteSettings.SKRouteMode.PEDESTRIAN);
route.setAlternativeRouteModes(new ArrayList<SKRouteAlternativeSettings>());                            route.setRouteConnectionMode(SKRouteSettings.SKRouteConnectionMode.OFFLINE);
route.setRouteExposed(true);
route.setViaPoints(new ArrayList<SKViaPoint>());
SKRouteManager.getInstance().setRouteListener(this);
SKRouteManager.getInstance().setAudioAdvisorSettings(new SKAdvisorSettings());
SKRouteManager.getInstance().calculateRoute(route);

空的ArrayLists是故障排除的测试。

2.4中是否存在已知的问题,或者更新是否有其他更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-17 00:39:52

我和你有同样的问题。路由使用旧SDK,而不是使用新SDK。

经过一段时间的研究,我认为你的问题来自于这句话:

代码语言:javascript
复制
SKRouteManager.getInstance().setAudioAdvisorSettings(new SKAdvisorSettings());

尝试以下代码,用于设置音频顾问:

代码语言:javascript
复制
final SKAdvisorSettings advisorSettings = new SKAdvisorSettings();
advisorSettings.setLanguage(SKAdvisorSettings.SKAdvisorLanguage.LANGUAGE_EN);
advisorSettings.setAdvisorConfigPath(context.getFilesDir() + "/SKMaps/Advisor");
advisorSettings.setResourcePath(context.getFilesDir() + "/SKMaps/Advisor/Languages");
advisorSettings.setAdvisorVoice("en");
advisorSettings.setAdvisorType(SKAdvisorSettings.SKAdvisorType.AUDIO_FILES);
SKRouteManager.getInstance().setAudioAdvisorSettings(advisorSettings);

在计算路由之前,需要调用此代码。我喜欢把我的代码放在代码的其余部分之上,以保持它们之间的分离(也就是说,我刚刚发布的代码块可以直接放在您发布的代码之上)。

您可能要做的唯一更改是更改以下行:

代码语言:javascript
复制
advisorSettings.setAdvisorConfigPath(context.getFilesDir() + "/SKMaps/Advisor");
advisorSettings.setResourcePath(context.getFilesDir() + "/SKMaps/Advisor/Languages");

以便它们指向SKMaps/Advisor文件夹的正确位置。我总是使用内部应用程序存储,所以context.getFilesDir()总是适用于我的。如果您正在使用外部存储,或者将SKMaps文件存储在其他地方,这将不适用于您。

希望这会有所帮助:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29072340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档