Android Open Source - Flight-Computer-Android-Flightradar24 Map Event Listener






From Project

Back to project page Flight-Computer-Android-Flightradar24.

License

The source code is released under:

GNU General Public License

If you think the Android project Flight-Computer-Android-Flightradar24 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.flightcomputer;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import javax.microedition.khronos.opengles.GL10;
//from ww  w. j a va2 s . c om
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Environment;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import com.nutiteq.MapView;
import com.nutiteq.geometry.VectorElement;
import com.nutiteq.projections.EPSG3857;
import com.nutiteq.ui.MapListener;

public class MapEventListener extends MapListener {

    private static FCActivity activity;
    private MapView mapView;
    private RouteLine routeline=null;
    private TrckLine trckline=null;
    private Circle circle=null;  
           // activity is often useful to handle click events 
    public MapEventListener(FCActivity activity, MapView mapView) {
        this.activity = activity;
        this.mapView = mapView;
    }    
    // Reset activity and map view
    public void reset(FCActivity activity, MapView mapView) {
        this.activity = activity;
        this.mapView = mapView;   
    }
    public void setRouteLine(RouteLine line) {
        this.routeline = line;         
    }
    public void setTrckLine(TrckLine line) {
        this.trckline = line;         
    }
    public void setCircle(Circle circle) {
        this.circle = circle;         
    }   
    // Map drawing callbacks for OpenGL manipulations
    @Override
    public void onSurfaceChanged(GL10 gl, int width, int height) {  
       
    }    
    @Override
    public void onDrawFrameAfter3D(GL10 gl, float zoomPow2) {           
    }
    @Override
    public void onDrawFrame(GL10 gl) {       
    }
   
    @Override
    public void onDrawFrameBefore3D(GL10 gl, float zoomPow2) {    
      //logHeap(this.getClass());
      if(this.routeline != null)
            this.routeline.draw(gl);        
        if(this.trckline != null)
            this.trckline.draw(gl);   
        if(this.circle != null)
            this.circle.draw(gl,zoomPow2);            
           mapView.requestRender();     
    }
    @Override
    public void onMapMoved() {
      //activity.setInfo(mapView.getZoom());
    }    
    
  @Override
  public void onLabelClicked(VectorElement arg0, boolean arg1) {
    // TODO Auto-generated method stub
    
  }
  EditText tname,talt;
  TextView tlat,tlon;
  
  @Override
  public void onMapClicked(double arg0, double arg1, boolean arg2) {
    // TODO Auto-generated method stub
    if(arg2)
    {     
     LayoutInflater factory = LayoutInflater.from(activity);
     View textEntryView = factory.inflate(
          R.layout.dialog_enter_mapturnpoint, null);
          tname = (EditText) textEntryView.findViewById(R.id.MturnpName);
             tlat = (TextView) textEntryView.findViewById(R.id.MturnpLat);
        tlon = (TextView) textEntryView.findViewById(R.id.MturnpLon);
        talt = (EditText) textEntryView.findViewById(R.id.MturnpAlt);  
        talt.setText("0", TextView.BufferType.EDITABLE);
        String lontxt=String.format("%.6f",(new EPSG3857()).toWgs84(arg0, arg1).x).replace(",",".");
        String lattxt=String.format("%.6f",(new EPSG3857()).toWgs84(arg0, arg1).y).replace(",",".");
        tlon.setText(lontxt, TextView.BufferType.NORMAL);
        tlat.setText(lattxt, TextView.BufferType.NORMAL);
     final AlertDialog.Builder alert = new AlertDialog.Builder(activity);
      alert.setTitle("Enter Turn Point Info:")  
          .setView(textEntryView)
          .setPositiveButton("Add To List",
              new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,
                    int whichButton) {  
                if(!existsTP(tname.getText().toString()))
                saveturnpoint(tname.getText().toString().trim(),tlat.getText().toString().trim().replace(",",".") ,tlon.getText().toString().trim().replace(",","."),talt.getText().toString().trim());                    
                }
              })
          .setNegativeButton("Cancel",
              new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog,
                    int whichButton) {
                }
              });
      alert.show();
    }
  }
  @Override
  public void onVectorElementClicked(VectorElement arg0, double arg1,
      double arg2, boolean arg3) {
    // TODO Auto-generated method stub
    
  }
  static ArrayList<HashMap<String, String>> turnpoint = new ArrayList<HashMap<String, String>>();
  public void saveturnpoint(String name,String lat,String lon,String alt)
    {
    getturnpoint();
      String sFileName="turnpoints.txt";
      try {
      File root = new File(Environment.getExternalStorageDirectory(),
          "VarioLog");
      if (!root.exists()) {
        root.mkdirs();
      }
      if(name.length()>0 && lat.length()>0  && lon.length()>0 )
      {
        HashMap<String,String> map = new HashMap<String,String>();   
          map.put("id",  name.trim());
          map.put("lat", lat.trim());
          map.put("lon", lon.trim());
          map.put("alt", alt.trim());      
        turnpoint.add(map);  
        File file = new File(root, sFileName);
        FileWriter writer = new FileWriter(file);  
        for(Map<String, String> temp : turnpoint)
          {                       
          writer.write(temp.get("id") +";");  
          writer.write(temp.get("lat") +";");  
          writer.write(temp.get("lon") +";");
          writer.write(temp.get("alt") + "\r\n");  
        }  
        writer.flush();
        writer.close();  
      }  
    }catch(Exception e){}    
      
    }
  public void getturnpoint()
    {  
    turnpoint.clear();
    String sFileName="turnpoints.txt";
    String line = null;
    File root = new File(Environment.getExternalStorageDirectory(),  "VarioLog");
    File turnpfile = new File(root, sFileName);
    if (turnpfile.exists()) 
    {        
            BufferedReader br = null;
        try {
          br = new BufferedReader(new FileReader(turnpfile));        
               while ((line = br.readLine()) != null) {  
                 String[] parts = line.split(";");
             HashMap<String,String> map = new HashMap<String,String>();             
               map.put("id", parts[0]);
             map.put("lat", parts[1]);
             map.put("lon", parts[2]);
             map.put("alt", parts[3]);
           turnpoint.add(map);  
               }
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
    }                
    }  
  
     public Boolean existsTP(String name)
        {  
          boolean exist=false;
          String sFileName="turnpoints.txt";
        String line = null;
        File root = new File(Environment.getExternalStorageDirectory(),  "VarioLog");
        File turnpfile = new File(root, sFileName);
        if (turnpfile.exists()) 
        {        
                BufferedReader br = null;
            try {
              br = new BufferedReader(new FileReader(turnpfile));        
                   while ((line = br.readLine()) != null) {  
                     String[] parts = line.split(";");
                     if(parts[0].equals(name))
                       exist=true;              
                   }
                   br.close();
            } catch (Exception e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
            }
        }    
        return exist;        
        }
}




Java Source Code List

com.flightcomputer.Circle.java
com.flightcomputer.DownloadActivity.java
com.flightcomputer.EditPreferences.java
com.flightcomputer.FCActivity.java
com.flightcomputer.GpsSkyActivity.java
com.flightcomputer.IgcLoad.java
com.flightcomputer.LeonardoLiveWriter.java
com.flightcomputer.MapEventListener.java
com.flightcomputer.PositionWriter.java
com.flightcomputer.PressureAltimeterActivity.java
com.flightcomputer.RouteLine.java
com.flightcomputer.Task.java
com.flightcomputer.TrckLine.java
com.flightcomputer.filefilter.FilterByFileExtension.java
com.flightcomputer.filefilter.ValidFileFilter.java
com.flightcomputer.filefilter.ValidMapFile.java
com.flightcomputer.filefilter.ValidRenderTheme.java
com.flightcomputer.filepicker.FilePickerIconAdapter.java
com.flightcomputer.filepicker.FilePicker.java
com.flightcomputer.utilities.BaroService.java
com.flightcomputer.utilities.BeepThread.java
com.flightcomputer.utilities.GpsSkyView.java
com.flightcomputer.utilities.KalmanFilter.java
com.flightcomputer.utilities.PiecewiseLinearFunction.java
com.flightcomputer.utilities.Point2d.java
com.flightcomputer.utilities.VerticalProgressBar_Reverse.java
com.flightcomputer.utilities.VerticalProgressBar.java
com.flightcomputer.openGlUtils.java
com.nutiteq.advancedmap.mapquest.SearchQueryResults.java
com.nutiteq.advancedmap.mapquest.SearchSuggestionProvider.java
com.nutiteq.services.geocode.MapQuestGeocoder.java
com.nutiteq.utils.MapsforgeMapLayer.java
com.nutiteq.utils.MbTilesDatabaseHelper.java
com.nutiteq.utils.MyLocationCircle.java
com.nutiteq.utils.NetUtils.java
com.nutiteq.utils.UiUtils.java
com.nutiteq.utils.UtfGridHelper.java
com.nutiteq.utils.UtfGridLayerInterface.java