Results 1 to 1 of 1

Thread: ViaPoints Way point Questions

  1. #1
    Neuer skobbler
    Join Date
    05.02.2016
    Posts
    1

    ViaPoints Way point Questions

    I have questions regarding skmap sdk functionality.

    After creating a route and starting the navigation process, is there anyway of capturing the waypoint/viapoint that you are currently directed towards? After calculating a route, it seems routeInformation.viaPointsOnRoute is empty. Does calculateRoute(route) automatically generate a list of viaPoints? In the SKNavigationDelegate Protocol Reference I see the following event functions :

    – routingService:didEnterViaPointArea:
    – routingService:didReachViaPointWithIndex:
    – routingService:didExitViaPointArea:

    However, these methods never seem to be called. Not sure if they are only called if ViaPoints are programmatically added.

    Also when the routeService fires the currentAdvice and nextAdvice methods, the SKRouteAvice location appear to be empty as well.

    Is there anyway someone could provide me with a simple example of how to create and capture the current waypoint position and the next waypoint position while in navigation? Essentially, I am trying to calculate the direction from the current location to the next waypoint.

    Below is rough example of my route and navigation initiation code:

    //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))
    }

    Thank you for your time!
    Last edited by jcbergman; 06.02.2016 at 21:43.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •