【发布时间】:2016-02-21 15:27:06
【问题描述】:
我开始使用 Osmdroid 和 OSMbonuspack 库在 openStreetMaps 上工作,我遇到了 OSRMroadmanager 构造函数的问题,它给了我错误。
"Error:(52, 35) 错误:OSRMRoadManager 类中的构造函数 OSRMRoadManager 不能应用于给定类型;
必需:上下文... 发现:没有参数 原因:实际参数列表和形式参数列表的长度不同”
如果参数有问题,我应该将哪些参数传递给构造函数?
下面是代码。 提前致谢。
公共类 MainActivity 扩展 AppCompatActivity {
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView map = (MapView) findViewById(R.id.map);
map.setTileSource(TileSourceFactory.MAPNIK);
//zoom controllers
map.setBuiltInZoomControls(true);
map.setMultiTouchControls(true);
//move to default view point
IMapController mapController = map.getController();
mapController.setZoom(9);
GeoPoint startPoint = new GeoPoint(48.8583, 2.2944);
mapController.setCenter(startPoint);
//marker
Marker startMarker = new Marker(map);
startMarker.setPosition(startPoint);
startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
map.getOverlays().add(startMarker);
//refresh map
map.invalidate();
//string inside the marker box
//startMarker.setIcon(getResources().getDrawable(R.drawable.center));
startMarker.setTitle("default position");
//routing
RoadManager roadManager = new OSRMRoadManager();
ArrayList<GeoPoint> waypoints = new ArrayList<GeoPoint>();
waypoints.add(startPoint);
GeoPoint endPoint = new GeoPoint(48.4, -1.9);
waypoints.add(endPoint);
Road road = roadManager.getRoad(waypoints);
Polyline roadOverlay = RoadManager.buildRoadOverlay(road, this);
map.getOverlays().add(roadOverlay);
map.invalidate();
}
}
【问题讨论】: