Ignore:
Timestamp:
2007-12-26T23:44:14+01:00 (17 years ago)
Author:
christofd
Message:

using GpxLayer instead of RawGpsLayer

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/livegps/livegps/LiveGpsLayer.java

    r3835 r6160  
    1313import org.openstreetmap.josm.Main;
    1414import org.openstreetmap.josm.data.coor.LatLon;
     15import org.openstreetmap.josm.data.gpx.GpxData;
     16import org.openstreetmap.josm.data.gpx.GpxTrack;
     17import org.openstreetmap.josm.data.gpx.WayPoint;
    1518import org.openstreetmap.josm.gui.MapView;
     19import org.openstreetmap.josm.gui.layer.GpxLayer;
    1620import org.openstreetmap.josm.gui.layer.RawGpsLayer;
    1721import org.openstreetmap.josm.tools.ColorHelper;
    1822
    19 public class LiveGpsLayer extends RawGpsLayer implements PropertyChangeListener {
     23public class LiveGpsLayer extends GpxLayer implements PropertyChangeListener {
    2024    public static final String LAYER_NAME = "LiveGPS layer";
    2125    public static final String KEY_LIVEGPS_COLOR ="color.livegps.position";
    2226        LatLon lastPos;
    23         GpsPoint lastPoint;
    24         Collection<GpsPoint> trackBeingWritten;
     27        WayPoint lastPoint;
     28        GpxTrack trackBeingWritten;
     29        Collection<WayPoint> trackSegment;
    2530        float speed;
    2631        float course;
     
    3035        private SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
    3136       
    32         public LiveGpsLayer(Collection<Collection<GpsPoint>> data)
     37        public LiveGpsLayer(GpxData data)
    3338        {
    34                 super (false, data, LAYER_NAME, null);
    35                 if (data.isEmpty())
    36                 {
    37                         data.add(new ArrayList<GpsPoint>());
    38                 }
    39                 // use last track in collection:
    40                 for (Collection<GpsPoint> track : data) {
    41                     trackBeingWritten = track;
    42                 }
    43                 //lbl = new JLabel();
     39                super (data, LAYER_NAME);
     40                trackBeingWritten = new GpxTrack();
     41                trackBeingWritten.attr.put("desc", "josm live gps");
     42                trackSegment = new ArrayList<WayPoint>();
     43                trackBeingWritten.trackSegs.add(trackSegment);
     44                data.tracks.add(trackBeingWritten);
    4445        }
    4546       
     
    5556                       
    5657                lastPos = thisPos;
    57                 lastPoint = new GpsPoint (thisPos, dateFormat.format(new Date()));
     58                lastPoint = new WayPoint(thisPos);
     59                lastPoint.attr.put("time", dateFormat.format(new Date()));
    5860                // synchronize when adding data, as otherwise the autosave action
    5961                // needs concurrent access and this results in an exception!
    6062                synchronized (LiveGpsLock.class) {
    61                     trackBeingWritten.add(lastPoint);           
     63                    trackSegment.add(lastPoint);           
    6264        }
    6365                if (autocenter) {
Note: See TracChangeset for help on using the changeset viewer.