我需要获得许多模拟路线点。我的目标是让所有点在另一个视图中使用SKPolyline的形状绘制路线。我怎么能得到它?
问候。
答案 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());