Skobler Android:如何获得模拟路线的所有积分?

时间:2016-03-10 16:32:48

标签: android skmaps

我需要获得许多模拟路线点。我的目标是让所有点在另一个视图中使用SKPolyline的形状绘制路线。我怎么能得到它?

问候。

2 个答案:

答案 0 :(得分:1)

如果我理解你的目标,你想要使用SKPolyline绘制skobbler为你计算的路线。

在请求路由计算之后,回调onRouteCalculationCompleted将使用SKRouteInfo调用。

要获得路线位置,请尝试:

        List<SKExtendedRoutePosition> list = SKRouteManager.getInstance().getExtendedRoutePointsForRoute(skRouteInfo.getRouteID());

请求路由计算时,不要忘记设置ExtendedPointsReturned = true。

SKRouteSettings routeS = new SKRouteSettings();
    routeS.setStartCoordinate(startPosition.getCoordinate());
    routeS.setDestinationCoordinate(destinationPosition.getCoordinate());
    // number of alternative routes specified here
    routeS.setNoOfRoutes(1);
    routeS.setRouteMode(SKRouteSettings.SKRouteMode.CAR_FASTEST);
    //set true if you want the route is draw on map
    routeS.setRouteExposed();
    routeS.setExtendedPointsReturned(true);
    SKRouteManager.getInstance().calculateRoute(routeS);

答案 1 :(得分:1)

etzuk的答案是正确的,但记得在获得所创建路线的所有skPosition之前缓存路线。 在onRouteCalculationCompleted上,在获取路径的坐标之前添加saveRouteToCahce:

SKRouteManager.getInstance().saveRouteToCache(skRouteInfo.getRouteID());
List<SKExtendedRoutePosition> coordinatesForRoute = SKRouteManager.getInstance()
                    .getExtendedRoutePointsForRoute(
                            skRouteInfo.getRouteID());