【发布时间】:2015-04-04 15:19:45
【问题描述】:
该方法即将转换来自另一个从文件读取的方法的字符串。此方法的目标是在谷歌地图上绘制一些点(从文件中读取)。我试图拆分来自readTheFile() 的字符串,我得到如下信息:latLng[0] = 68.43752735570531,17.433074489235878 和latLng[1] = 68.43879697044444,17.436143271625042。字符串:latLngString = "68.43752735570531,17.433074489235878\n68.43879697044444,17.436143271625042\n"。问题是我根本无法正确拆分?还是最好的方法?-我的两种方法:-非常感谢任何帮助-谢谢-
从文件中读取的方法:
private String readFromFile() {
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
File file = new File(path, fileName);
String line = "";
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
while ((line = br.readLine()) != null) {
text.append(line); // + '\n');
text.append("\n");
}
br.close();
} catch (IOException e) {
Log.w("I/O exception" + file, e);
}
return text.toString();
}
从文件中绘制点:
private void drawPointsFromFile() {
String latLngString = readFromFile();
String[] latLng = latLngString.split("\n", 2);
for (int i = 0; i < latLng.length; i++) {
Double latitude = Double.parseDouble(latLng[0]), longitude = Double.parseDouble(latLng[1]);
map = ((MapFragment) this.getFragmentManager().findFragmentById(R.id.map)).getMap();
map.addMarker(new MarkerOptions()
.position(new LatLng(latitude, longitude))
.title("Lat: " + latitude + "," + " Lng: " + longitude)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.myicon)));
}
}
【问题讨论】:
-
你需要拆分上面的字符串并分别得到 lat 和 long 吗??
-
我知道。我试图拆分字符串(exp:.split(“,”)),但它只适用于一点。如果我有几个点它不起作用。 I dont know how to split correctly: from "68.43752735570531,17.433074489235878\n68.43879697044444,17.436143271625042\n" to 68.43752735570531,17.433074489235878 so then it becomes latLng[0] = 68.43752735570531 and latLng[1] = 17.433074489235878 foe the first point and so on ..?
标签: android google-maps io split