在开始导航之前,我可以阅读SKStreetType信息吗?

时间:2015-08-04 00:32:01

标签: ios objective-c skmaps

有几种委托方法返回SKStreetType,但仅在导航已经开始时才会返回。

我需要检查用户是否在高速公路上,并根据它提供几个不同的选项,这将导致导航,但是关于街道类型的不同POI。

那么,当应用程序启动并映射初始化时,是否可以获取街道类型用户当前打开,而无需开始实际导航?

我只能看到这个,如果不可能的话。正在为用户拍摄一些加载屏幕,然后从当前用户的位置开始导航到任何地方,当导航开始时,快速抓取街道信息,停止导航并隐藏加载屏幕...... 但这只是浪费了几秒钟的用户时间。 我真的希望我不必这样做

2 个答案:

答案 0 :(得分:2)

此信息仅在导航期间可用,但您不需要“路线”即可开始导航 - 您可以在“免费驾驶”模式下开始导航(没有特定路线的导航),您将获得几乎所有您在正常导航体验期间获得的数据减去建议(因为没有路线)

类似的东西:

[SKRoutingService sharedInstance].mainRouteId = 0; //clear the route before starting navigation
[[SKRoutingService sharedInstance] clearCurrentRoutes];
[[SKRoutingService sharedInstance] startNavigationWithSettings:_navigationSettings]; //in navigation settings you have to define your "nav settings" (distance mode, transport mode, if you want to simulate a navigation or just use real position updates, etc.)

注意:位置管理员也需要处于活动状态(获取位置更新)

答案 1 :(得分:1)

如果没有启动位置管理器,您无法获得有关当前用户位置的信息。