lat = Double.parseDouble(latitude);
其中纬度是字符串,例如:“ 49.102832922”
当我删除此行时,该应用程序运行正常。我也尝试将其解析为Long并得到相同的结果。这是完整的课程
public class LoadRoute {
private File file;
private ArrayList <LatLng> gpsList;
private LatLng latLng;
public ArrayList<LatLng> loadFiles2(String fName){
double lat, lng;
file = new File(fName);
gpsList = new ArrayList<LatLng>();
//gpsList.add(new LatLng(49.102832922, -97.555331112));
//gpsList.add(new LatLng(49.18011, -97.93895));
System.out.println("Load files " + fName);
InputStream fis = null;
try{
fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String text;
String latitude="", longitude="";
int start = 0;
while ((text = br.readLine()) != null) {
for(int i=0; i<text.length(); i++){
if(text.substring(i, i+1).equals("(")){
start = 1;
}else if(text.substring(i, i+1).equals(",")){
start = 2;
}else if(text.substring(i, i+1).equals(")")){
start = 3;
}else if(start == 1){
latitude= latitude+text.substring(i,i+1);
}else if(start == 2){
longitude= longitude+text.substring(i,i+1);
}else{
start = 0;
}
}
System.out.println("latitude " + latitude + " Longitude" + longitude);
lat = Double.parseDouble(latitude);
lng = Double.parseDouble(longitude);
latLng = new LatLng(lat, lng);
gpsList.add(latLng);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return gpsList;
}
}