Ver Fonte

Routes shown on the schedule map.

Iñigo Valentin há 9 anos atrás
pai
commit
03dfd0f335

+ 1 - 0
.idea/gradle.xml

@@ -10,6 +10,7 @@
           <set>
             <option value="$PROJECT_DIR$" />
             <option value="$PROJECT_DIR$/app" />
+            <option value="$PROJECT_DIR$/osmbonuspack_6.4" />
             <option value="$PROJECT_DIR$/osmdroid-android-5.6.5-release" />
           </set>
         </option>

+ 1 - 0
app/build.gradle

@@ -27,6 +27,7 @@ android {
 
 dependencies {
     //noinspection GradleDynamicVersion
+    compile project(':osmbonuspack_6.4')
     compile 'com.android.support:multidex:1.0.1'
     compile 'org.osmdroid:osmdroid-android:5.6.5@aar'
 }

+ 1 - 0
app/src/main/java/com/ivalentin/margolariak/MainActivity.java

@@ -18,6 +18,7 @@ import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.StrictMode;
 import android.util.DisplayMetrics;
 import android.util.Log;
 import android.view.Gravity;

+ 27 - 17
app/src/main/java/com/ivalentin/margolariak/ScheduleLayout.java

@@ -17,6 +17,7 @@ import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
+import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Bundle;
@@ -40,12 +41,18 @@ import android.widget.ScrollView;
 import android.widget.TextView;
 
 import org.osmdroid.api.IMapController;
+import org.osmdroid.bonuspack.routing.OSRMRoadManager;
+import org.osmdroid.bonuspack.routing.Road;
+import org.osmdroid.bonuspack.routing.RoadManager;
 import org.osmdroid.config.Configuration;
 import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
+
 import org.osmdroid.util.GeoPoint;
 import org.osmdroid.views.MapView;
 import org.osmdroid.views.overlay.ItemizedIconOverlay;
 import org.osmdroid.views.overlay.OverlayItem;
+import org.osmdroid.views.overlay.PathOverlay;
+import org.osmdroid.views.overlay.Polyline;
 
 /**
  * Fragment to be inflated showing the festivals schedule.
@@ -562,23 +569,26 @@ public class ScheduleLayout extends Fragment{
 					GeoPoint center = new GeoPoint(routeCursor.getDouble(1), routeCursor.getDouble(2));
 					mapController.setCenter(center);
 
-					// TODO: Read from route_point and draw the route on the map.
-					OverlayItem locationOverlayItem = new OverlayItem(title, "", center);
-					/*Drawable locationMarker = this.getResources().getDrawable(R.drawable.pinpoint_map);
-					locationOverlayItem.setMarker(locationMarker);
-					final ArrayList<OverlayItem> items = new ArrayList<OverlayItem>();
-					items.add(locationOverlayItem);
-					ItemizedIconOverlay locationOverlay = new ItemizedIconOverlay<OverlayItem>(items,
-							new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
-								public boolean onItemSingleTapUp(final int index, final OverlayItem item) {
-									return true;
-								}
-								public boolean onItemLongPress(final int index, final OverlayItem item) {
-									return true;
-								}
-							}, getContext());
-					this.mapView.getOverlays().add(locationOverlay);
-					*/
+					// Read from route_point and draw the route on the map.
+					Cursor pointCursor = db.rawQuery("SELECT lat_o, lon_o, lat_d, lon_d FROM route_point WHERE route = " + routeId + " ORDER BY part;", null);
+					final ArrayList<GeoPoint> points = new ArrayList<GeoPoint>();
+					GeoPoint lastPoint = new GeoPoint(0.0, 0.0);
+					while (pointCursor.moveToNext()){
+
+						points.add(new GeoPoint(pointCursor.getDouble(0), pointCursor.getDouble(1)));
+						lastPoint = new GeoPoint(pointCursor.getDouble(2), pointCursor.getDouble(3));
+					}
+					// For the last one, also take destination
+					points.add(lastPoint);
+
+					pointCursor.close();
+
+					//Create path
+					Polyline line = new Polyline();
+					line.setPoints(points);
+					line.setColor(getResources().getColor(R.color.background_menu));
+					this.mapView.getOverlays().add(line);
+
 				}
 
 			}

+ 10 - 1
build/intermediates/dex-cache/cache.xml

@@ -28,13 +28,22 @@
         sha1="3be78ebc2706b2e1fe2f12d5726887a92d6c183b">
         <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/transforms/dex/debug/folders/1000/10000/instant-run_9d27da560db036388481cceb66c0d7b74d861748/classes.dex" />
     </item>
+    <item
+        is-multidex="true"
+        jar="/home/seavenois/.android/build-cache/a1bd43f1ef67a94e0ac1315675bace24d61cfa65/output/jars/classes.jar"
+        jumboMode="true"
+        optimize="true"
+        revision="25.0.0"
+        sha1="167477d501a2b35bfac717958d20701e3c3f855f">
+        <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/transforms/dex/debug/folders/1000/10/classes_751582ea688ec08a7d2d54b3405d32238eacf297/classes.dex" />
+    </item>
     <item
         is-multidex="true"
         jar="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/incremental-classes/debug/instant-run-bootstrap.jar"
         jumboMode="true"
         optimize="true"
         revision="25.0.0"
-        sha1="3d1e8de1d8c690a371b334e965399f466f180738">
+        sha1="8c6c81ed286c468f8041ef12410a060168e00e77">
         <dex dex="/home/seavenois/Workspace/Programming/GM_APP/app/build/intermediates/transforms/dex/debug/folders/1000/10000/instant-run-bootstrap_a321d4fbe81ae9628438e81e6dd58311e68d4265/classes.dex" />
     </item>
 

+ 2 - 0
osmbonuspack_6.4/build.gradle

@@ -0,0 +1,2 @@
+configurations.maybeCreate("default")
+artifacts.add("default", file('osmbonuspack_6.4.aar'))

BIN
osmbonuspack_6.4/osmbonuspack_6.4.aar


+ 1 - 1
settings.gradle

@@ -1 +1 @@
-include ':app', ':osmdroid-android-5.6.5-release'
+include ':app', ':osmdroid-android-5.6.5-release', ':osmbonuspack_6.4'