我有关于skmap sdk功能的问题。SKMaps和ViaPoints/WayPoints
在创建路线并开始导航过程之后,是否有捕获目前正在导向的waypoint
/viapoint
?在计算路线后,看起来routeInformation.viaPointsOnRoute
是空的。 calculateRoute(route)
是否自动生成viaPoints
的列表?在SKNavigationDelegate
协议参考我看到以下事件功能:
– routingService:didEnterViaPointArea:
– routingService:didReachViaPointWithIndex:
– routingService:didExitViaPointArea:
然而,这些方法似乎从来没有被调用。不确定是否只有在程序上添加ViaPoints
时才会调用它们。
此外,当routeService触发currentAdvice和nextAdvice方法时,SKRouteAvice位置也显示为空。
反正有人可以给我提供了如何创建一个简单的例子,捕捉当前waypoint
位置,而在导航下一waypoint
位置?本质上,我试图计算从当前位置到下一个waypoint
的方向。
下面是我的路线和导航启动码粗糙例如:
//Created Route
let route: SKRouteSettings = SKRouteSettings()
route.routeMode = SKRouteMode.Pedestrian
route.startCoordinate = coordinateCurrent!
route.destinationCoordinate = coordinateDestination!
route.shouldBeRendered = true
SKRoutingService.sharedInstance().calculateRoute(r oute)
//Start Navigation
let navSettings: SKNavigationSettings = SKNavigationSettings()
navSettings.navigationType = SKNavigationType.Simulation
navSettings.distanceFormat = SKDistanceFormat.MilesFeet
navSettings.viaPointNotificationDistance=1
self.mapView!.settings.displayMode = SKMapDisplayMode.Mode3D
navSettings.transportMode = SKTransportMode.Pedestrian
SKRoutingService.sharedInstance().startNavigationW ithSettings(navSettings)
//Start Postioner Service
SKPositionerService.sharedInstance().delegate = self
SKPositionerService.sharedInstance().startLocation Update()
routeInfo.viaPointsOnRoute
func routingService(routingService: SKRoutingService!, didChangeNextAdvice nextAdvice: SKRouteAdvice, isLastAdvice:Bool)
{
log(String(nextAdvice.location))
}
func routingService(routingService: SKRoutingService!, didChangeCurrentAdvice currentAdvice: SKRouteAdvice, isLastAdvice:Bool)
{
log(String(currentAdvice.location))
}
func routingService(routingService: SKRoutingService!,
didUpdateViaPointsInformation viaPoints: [AnyObject]!)
{
log("VIA INFO: " + String(viaPoints))
}
func routingService(routingService: SKRoutingService!,
didEnterViaPointArea index: Int32)
{
log("ENTER VIA: " + String(index))
}
func routingService(routingService: SKRoutingService!,
didExitViaPointArea index: Int32)
{
log("EXIT VIA: " + String(index))
}
谢谢您的时间!