2012-02-03 116 views
1

是否有人有教程或示例如何使用逗號分隔的經度座標的csv文件在地圖覆蓋圖上繪製路線以供在山地徒步應用程序中使用。 csv文件將被存儲在資產文件夾中。Android地圖路線覆蓋示例

我是新開發的android開發人員,並且一直在搜索最高和最低的成功。

非常感謝提前。

許多坦克的評論 - 我已經到了可以繪製路徑但只有其他每一點的地步,我的下一個問題是如何通過csv文件循環顯示連續路徑 - 下面的代碼。

class WalkOverlay extends Overlay{ 

    public void draw(Canvas canvas, MapView mapv, boolean shadow){ 
     super.draw(canvas, mapv, shadow); 

     Paint mPaint = new Paint(); 
     mPaint.setDither(true); 
     mPaint.setColor(Color.RED); 
     mPaint.setStyle(Paint.Style.FILL_AND_STROKE); 
     mPaint.setStrokeJoin(Paint.Join.ROUND); 
     mPaint.setStrokeCap(Paint.Cap.ROUND); 
     mPaint.setStrokeWidth(5); 

     // start csv parser   
     try { 
      InputStream is = getAssets().open("CSV/Mountain Walks/llanberisPath.csv"); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
      try { 
       String line; 

       while ((line = reader.readLine()) != null) { 

       String[] RowData = line.split(","); 
       longitude = RowData[0]; 
       latitude = RowData[1]; 

       Double lat = new Double(latitude); 
       Double lng = new Double(longitude); 

       geoPoint1 = new GeoPoint((int) (lat * 1E6), (int) (lng * 1E6));                      
      gP1 = geoPoint1; 
      gP2 = geoPoint2; 

      p1 = new Point(); 
      p2 = new Point(); 

       path = new Path(); 

       Projection projection = mapv.getProjection(); 
      projection.toPixels(gP1, p1); 
      projection.toPixels(gP2, p2); 

      path.moveTo(p2.x, p2.y); 
      path.lineTo(p1.x,p1.y); 

      canvas.drawPath(path, mPaint); 

       } 

      } 
      catch (IOException ex) { 
       // handle exception 
      } 
      finally { 
       try { 
        is.close(); 
       } 
       catch (IOException e) { 
        // handle exception 
       } 
      } 

     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
} 

回答