OSMBonusPack with Graphhopper routing API



>我正在构建一个应用程序,其中我正在使用osmdroid及其奖励包和图块的mapnik。我希望能够在多个点之间输出最短路径,并作为下一步构建考虑时间框架的路径。根据我的研究,看起来Graphhopper路由优化API正是我所需要的,但是我不知道如何在我的项目中正确使用它。由于我使用的是OS OSMBonusPack,看起来我唯一的选择是正确设置道路管理器以能够使用路由优化。按照OSMBonusPack的教程,我能够创建道路管理器并绘制从一个点到另一个点的路径,但不确定如何添加优化以找到最短路径以及将道路类型设置为"行人"而不是汽车。任何帮助将不胜感激。这是我用来在我的点之间构建路径的代码,与教程几乎完全相同:

 ArrayList<GeoPoint> waypoints = new ArrayList<GeoPoint>();
                    for (int i = 0; i < chosenAttractions.size(); i++) {
                        GeoPoint point = new GeoPoint(chosenAttractions.get(i).latitude, chosenAttractions.get(i).longitude);
                        waypoints.add(point);
                    }
                if (count > 1) {
                    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                    StrictMode.setThreadPolicy(policy);
                    RoadManager roadManager = new GraphHopperRoadManager("fae5bf0a-402a-48b2-96ac-324e138f53dc", true);
                  //  roadManager.addRequestOption("routeType=bicycle");
                    Road road = roadManager.getRoad(waypoints);
                    Polyline roadOverlay = RoadManager.buildRoadOverlay(road);
                    map.getOverlays().add(roadOverlay);
                    map.invalidate();
                }
            }
事实证明,

要使用路由API的优化或车辆选项,必须将其作为参数传递给addRequestOption函数,例如:

roadManager.addRequestOption("vehicle=foot");
roadManager.addRequestOption("optimize=true");

相关内容

  • 没有找到相关文章

最新更新