Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 有人能指导我克服这个错误吗?_Android_Google Maps_Io_Split - Fatal编程技术网

Android 有人能指导我克服这个错误吗?

Android 有人能指导我克服这个错误吗?,android,google-maps,io,split,Android,Google Maps,Io,Split,该方法将转换来自另一个从文件读取的方法的字符串。此方法的目标是在谷歌地图上绘制一些点(从文件中读取)。我试图拆分来自readTheFile()的字符串,得到如下结果:latLng[0]=68.43752735570531,17.433074489235878和latLng[1]=68.4387969704444,17.436143271625042。字符串:latLngString=“68.43752735570531,17.433074489235878\n68.4387969704444,1

该方法将转换来自另一个从文件读取的方法的字符串。此方法的目标是在谷歌地图上绘制一些点(从文件中读取)。我试图拆分来自
readTheFile()
的字符串,得到如下结果:
latLng[0]=68.43752735570531,17.433074489235878
latLng[1]=68.4387969704444,17.436143271625042
。字符串:
latLngString=“68.43752735570531,17.433074489235878\n68.4387969704444,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)));
            }
        }
从文件中绘制点:

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)));
            }
        }
private void drawpoints fromfile(){
字符串latLngString=readFromFile();
字符串[]latLng=latLngString.split(“\n”,2);
对于(int i=0;i
您可以试试这个

    String string = "68.43752735570531,17.433074489235878\n68.43879697044444,17.436143271625042\n";

   // replace "\n" with ","
    String replacedString = string.replace("\n", ",");

  //split by ","
    String points[]= replacedString.split(",");

 //every odd indexs will be lats and even indexes will be longs
然后你们可以将lats和longs分成如下不同的列表,我假设第一个值是纬度,第二个值是经度

    List<String> lats = new ArrayList<String>();
    List<String> lons = new ArrayList<String>();
    for (int i = 0; i < points.length ; i++) 
    { 
        if(i % 2 == 0)
        {
            lons.add(points[i]);
        }
        else
        {
            lats.add(points[i]);
        }
    } 
List lats=new ArrayList();
List lons=new ArrayList();
对于(int i=0;i
您需要拆分上面的字符串,并分别获取lat和long??我知道。我尝试拆分字符串(exp:.split(“,”),但它只对一个点有效。如果我有几点,那就不行了。我不知道如何正确分割:从“68.43752735570531,17.433074489235878\n68.4387969704444,17.436143271625042\n”到68.43752735570531,17.43307489235878,然后它变成latLng[0]=68.43752735570531和latLng[1]=17.4330744892355878,以此类推。我尝试了你的想法,但只适用于一点。我的档案中有几点(10点)。字符串latLngString=readFromFile()。替换(“\n”,“,”);字符串[]LATLNGREPLACE=latLngString.split(“,”);对于(inti=0;i