diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index 03252d6..89b17c9 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -59,11 +59,14 @@ import com.survivingwithandroid.weather.lib.provider.openweathermap.OpenweathermapProviderType; import com.survivingwithandroid.weather.lib.request.WeatherRequest; -import org.osmdroid.api.IGeoPoint; import org.osmdroid.api.IMapController; import org.osmdroid.bonuspack.overlays.MapEventsOverlay; import org.osmdroid.bonuspack.overlays.MapEventsReceiver; import org.osmdroid.bonuspack.overlays.Marker; +import org.osmdroid.bonuspack.overlays.Polyline; +import org.osmdroid.bonuspack.routing.OSRMRoadManager; +import org.osmdroid.bonuspack.routing.Road; +import org.osmdroid.bonuspack.routing.RoadManager; import org.osmdroid.tileprovider.tilesource.TileSourceFactory; import org.osmdroid.util.GeoPoint; import org.osmdroid.views.MapView; @@ -135,8 +138,8 @@ private List[] poiMarkers; - protected static IGeoPoint pathMarkerOne; - protected static IGeoPoint pathMarkerTwo; + protected static GeoPoint pathMarkerOne; + protected static GeoPoint pathMarkerTwo; private String provider; private Location mLocation; @@ -902,8 +905,18 @@ if(pathMarkerOne == null || pathMarkerTwo == null){ Log.e(TAG, "One of the path markers in addPathDialog is null!"); } - IGeoPoint start = pathMarkerOne; - IGeoPoint end = pathMarkerTwo; + GeoPoint start = pathMarkerOne; + GeoPoint end = pathMarkerTwo; + + RoadManager roadManager = new OSRMRoadManager(); + ArrayList waypoints = new ArrayList<>(); + waypoints.add(start); + waypoints.add(end); + Road road = roadManager.getRoad(waypoints); + Polyline line = RoadManager.buildRoadOverlay(road, getApplicationContext()); + mapView.getOverlays().add(line); + mapView.invalidate(); + int _type = Types.PATH; long rowId = addPoi(_type); dbHandler.addPoiOptions(rowId, options);