X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FTabMap.java;h=607ded46693fc8de67dee0f0b3b1199650cafc3b;hp=87e4f0bfea1a5a55f995c438aeb6c7ffff91cbe7;hb=9212ce268f3a4a9f3f019f23f6eef8b57207d340;hpb=b691fc48f5e879045e68e070162af56cd08f03b4 diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java b/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java index 87e4f0bf..607ded46 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TabMap.java @@ -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,11 +128,18 @@ 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; } } - public void update_ui(AltosState state) { + public void update_ui(AltosState state, AltosGreatCircle from_receiver) { if (state.from_pad != null) { mDistanceView.setText(String.format("%6.0f m", state.from_pad.distance)); mBearingView.setText(String.format("%3.0f°", state.from_pad.bearing)); @@ -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);