我可以在开始导航之前阅读 SKStreetType 信息吗?
Can I read SKStreetType info before I start navigation?
return SKStreetType 有几个委托方法,但仅当导航已经开始时。
我需要检查用户是否在高速公路上,并基于此提供几个不同的选项,这将导致导航,但针对与街道类型相关的不同 POI。
那么,是否可以在应用启动和地图初始化时获取用户当前所在的街道类型,而不启动实际导航?
我看到的唯一方法,如果不可能的话。正在为用户拍摄一些加载屏幕,然后从当前用户的位置开始导航到任何地方,当导航开始时,快速抓取街道信息,停止导航并隐藏加载屏幕......
但这只是在浪费用户几秒钟的时间。
我真的希望我不必这样做
无论您使用哪个框架,如果不启动位置管理器,您永远无法获得有关当前用户位置的信息。
此信息仅在导航期间可用,但您不需要 "route" 即可开始导航 - 您可以在 "free drive" 模式下开始导航(没有特定路线的导航)并且您将获得几乎所有你在正常导航体验中获得的数据减去建议(因为没有路线)
类似于:
[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.)
注意:位置管理器也需要处于活动状态(以获取位置更新)
return SKStreetType 有几个委托方法,但仅当导航已经开始时。
我需要检查用户是否在高速公路上,并基于此提供几个不同的选项,这将导致导航,但针对与街道类型相关的不同 POI。
那么,是否可以在应用启动和地图初始化时获取用户当前所在的街道类型,而不启动实际导航?
我看到的唯一方法,如果不可能的话。正在为用户拍摄一些加载屏幕,然后从当前用户的位置开始导航到任何地方,当导航开始时,快速抓取街道信息,停止导航并隐藏加载屏幕...... 但这只是在浪费用户几秒钟的时间。 我真的希望我不必这样做
无论您使用哪个框架,如果不启动位置管理器,您永远无法获得有关当前用户位置的信息。
此信息仅在导航期间可用,但您不需要 "route" 即可开始导航 - 您可以在 "free drive" 模式下开始导航(没有特定路线的导航)并且您将获得几乎所有你在正常导航体验中获得的数据减去建议(因为没有路线)
类似于:
[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.)
注意:位置管理器也需要处于活动状态(以获取位置更新)