private boolean _insideCoordinates = false;
private String _name = null;
private StringBuffer _coordinates = null;
- private ArrayList _pointList = new ArrayList();
+ private ArrayList<String[]> _pointList = new ArrayList<String[]>();
/**
else if (numPoints > 1)
{
// Add each of the unnamed track points to list
+ boolean firstPoint = true;
for (int p=0; p<numPoints; p++)
{
- _pointList.add(makeStringArray(coordArray[p], null));
+ if (coordArray[p] != null && coordArray[p].trim().length()>3)
+ {
+ String[] pointArray = makeStringArray(coordArray[p], null);
+ if (firstPoint) {pointArray[4] = "1";}
+ firstPoint = false;
+ _pointList.add(pointArray);
+ }
}
}
}
*/
private static String[] makeStringArray(String inCoordinates, String inName)
{
- String[] result = new String[4];
+ String[] result = new String[5];
String[] values = inCoordinates.split(",");
if (values.length == 3) {System.arraycopy(values, 0, result, 0, 3);}
result[3] = inName;
*/
public Field[] getFieldArray()
{
- final Field[] fields = {Field.LONGITUDE, Field.LATITUDE, Field.ALTITUDE, Field.WAYPT_NAME};
+ final Field[] fields = {Field.LONGITUDE, Field.LATITUDE, Field.ALTITUDE, Field.WAYPT_NAME, Field.NEW_SEGMENT};
return fields;
}
String[][] result = new String[numPoints][];
for (int i=0; i<numPoints; i++)
{
- result[i] = (String[]) _pointList.get(i);
+ result[i] = _pointList.get(i);
}
return result;
}