2013-06-20 41 views
0

我是Android的新開發者。我想開發地圖應用程序。我想在地圖上繪製折線,類似於在Google Ma上獲取方向。繪製折線後,我可以沿多段線繪製多邊形嗎?我不知道怎麼做。請給我一個例子或一些解決方案。非常感謝,對不起我的英文。可以做到嗎?如何在多段線上添加多邊形?

這是圖片 [https://www.dropbox.com/s/nmusjt6fp880akf/20-Jun-13%204-05-25%20PM.png][1]

+0

重複http://stackoverflow.com/questions/17204174/polygon-polyline。也許嘗試更具描述性或做一個你想要實現的截圖,當然你應該把你已經嘗試過的部分放在這裏。 –

回答

0

您可以使用CanvasPathPoint在Google地圖上繪製多邊形的類。您還需要查看this link以供參考。

List<Overlay> mapOverlay; 

    protected onCreate(Bundle savedInstanceStae){ 

    //Do the rest stuffs 

     mapOverlay = mapView.getOverLays(); 

     mapOverlay.add(new MyOverlay()); 


    } 


class MyOverLay extends Overlay{ 

     public MyOverlay(){} 

     ArrayList<GeoPoint> points = new ArrayList<GeoPoint>(); 

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

     Paint mPaint = new Paint(); 
     mPiant.setColor(Color.RED); 
      //set strokewidth and all function depending upon you how you want to give a look     

      //on Polyline. 

     GeoPOint gp1 = new GeoPoint((int) (lat * 1000000.0), (int) (lon * 1000000.0)); 
     GeoPOint gp2 = new GeoPoint((int) (lat * 1000000.0), (int) (lon * 1000000.0)); 
     GeoPOint gp3 = new GeoPoint((int) (lat * 1000000.0), (int) (lon * 1000000.0)); 
     GeoPOint gp4 = new GeoPoint((int) (lat * 1000000.0), (int) (lon * 1000000.0)); 



    points.add(gp1); 
    points.add(gp2); 
    points.add(gp3); 
    points.add(gp4); 

    //Then take two points class object: 

    Point point1 = new Point(); 

    Point point2 = new Point(); 

    Path path = new Path(); 

    for(int i = 0; i<points.size(); i++){ 

     projection.toPixel(points.get(i),point1); 
     projection.toPixel(points.get(i+1),point2); 

     path.moveTo(point2.x,point2.y); 
     path.lineTo(point1.x,point1.y); 

    } 

    canvas.drawPath(path, mPoint); 


} 
相關問題