2011-08-08 4 views
1

Google지도의 좌표 사이에 선을 그리는 간단한 방법을 보여줄 수 있습니까?Google지도에서 좌표 사이의 드로잉 경로

Google에서 약간의 결과가 발견되었지만 단순한 것을 찾고 있습니다.

+1

당신의 활동은 MapActivity는? 또는 Google지도를 시작 하시겠습니까? –

+0

Google에서 찾은 것을 얻을 수있는만큼 간단합니다. – Reno

+0

제 3 자 API를 처리 할 때, 우리가 원하는 방식이 아니라 모든 방법이 제공됩니다. – doNotCheckMyBlog

답변

4

사용이 간단한 코드를 ... 응용 프로그램에서 작업 할 수있다

public class GPSLine extends MapActivity { 

    private List<Overlay> mapOverlays; 
    private Projection projection; 
    MapView mapView; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     mapView = (MapView) findViewById(R.id.mapview); 
     mapView.setBuiltInZoomControls(true); 
     mapView.setClickable(true); 

     mapOverlays = mapView.getOverlays(); 
     projection = mapView.getProjection(); 
     mapOverlays.add(new MyOverlay(null)); 

    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 


    class MyOverlay extends ItemizedOverlay { 

     private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 
     public MyOverlay(Drawable defaultMarker) { 
      super(defaultMarker); 
      // TODO Auto-generated constructor stub 
     } 
     @Override 
     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(2); 

      GeoPoint gP1 = new GeoPoint(19240000,-99120000); 
      GeoPoint gP2 = new GeoPoint(37423157, -122085008); 

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

     Path path = new Path(); 

      projection.toPixels(gP1, p1); 
      projection.toPixels(gP2, p2); 

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

      canvas.drawPath(path, mPaint); 
     } 
     @Override 
     protected OverlayItem createItem(int i) { 
      // TODO Auto-generated method stub 
      return mOverlays.get(i); 
     } 
     @Override 
     public int size() { 
      // TODO Auto-generated method stub 
      return 0; 
     } 
    } 
} 
관련 문제