altosdroid: Add map polyline between pad and rocket
authorMike Beattie <mike@ethernal.org>
Sun, 10 Mar 2013 10:28:26 +0000 (23:28 +1300)
committerMike Beattie <mike@ethernal.org>
Sun, 10 Mar 2013 10:28:26 +0000 (23:28 +1300)
Signed-off-by: Mike Beattie <mike@ethernal.org>
altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java

index 87e4f0bfea1a5a55f995c438aeb6c7ffff91cbe7..8fc8f59278ac2c59062c8bcb80d1a27a15179e5c 100644 (file)
@@ -17,6 +17,7 @@
 
 package org.altusmetrum.AltosDroid;
 
+import java.util.Arrays;
 
 import org.altusmetrum.altoslib_1.*;
 
@@ -27,8 +28,11 @@ import com.google.android.gms.maps.model.BitmapDescriptorFactory;
 import com.google.android.gms.maps.model.LatLng;
 import com.google.android.gms.maps.model.Marker;
 import com.google.android.gms.maps.model.MarkerOptions;
+import com.google.android.gms.maps.model.Polyline;
+import com.google.android.gms.maps.model.PolylineOptions;
 
 import android.app.Activity;
+import android.graphics.Color;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.support.v4.app.FragmentTransaction;
@@ -46,6 +50,8 @@ public class TabMap extends Fragment implements AltosDroidTab {
 
        private Marker mRocketMarker;
        private Marker mPadMarker;
+       private Polyline mPolyline;
+
        private TextView mDistanceView;
        private TextView mBearingView;
        private TextView mLatitudeView;
@@ -122,6 +128,13 @@ public class TabMap extends Fragment implements AltosDroidTab {
                                                           .visible(false)
                                        );
 
+                       mPolyline = mMap.addPolyline(
+                                       new PolylineOptions().add(new LatLng(0,0), new LatLng(0,0))
+                                                            .width(3)
+                                                            .color(Color.BLUE)
+                                                            .visible(false)
+                                       );
+
                        mapLoaded = true;
                }
        }
@@ -138,6 +151,9 @@ public class TabMap extends Fragment implements AltosDroidTab {
                        mRocketMarker.setPosition(new LatLng(state.gps.lat, state.gps.lon));
                        mRocketMarker.setVisible(true);
 
+                       mPolyline.setPoints(Arrays.asList(new LatLng(state.pad_lat, state.pad_lon), new LatLng(state.gps.lat, state.gps.lon)));
+                       mPolyline.setVisible(true);
+
                        if (state.state == AltosLib.ao_flight_pad) {
                                mPadMarker.setPosition(new LatLng(state.pad_lat, state.pad_lon));
                                mPadMarker.setVisible(true);