2012-02-03 8 views
1

ヒルウォーキングアプリケーションで使用するためにマップオーバーレイ上にルートを描画するためにカンマ区切りの緯度経度座標を使用してcsvファイルを使用する方法のチュートリアルまたは例があります。 csvファイルはassetsフォルダに格納されます。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(); 
     } 

    } 
} 

答えて