2012-05-09 103 views
1

我想繪製從源地理點到目的地點的駕車方向路線。我用下面的代碼嘗試了這個,但是它在位置之間畫了一條直線,而不是適當的最短路線。行車路線 - Google地圖

@Override 
public void draw(Canvas canvas, MapView mapView, boolean shadow) { 
    // TODO Auto-generated method stub 
    super.draw(canvas, mapView, shadow); 

    Projection projection = classMapView.getProjection(); 

    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(22716221,75896816); 
     GeoPoint gP2 = new GeoPoint(22715212, 75895806); 

     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); 
} 

請幫助,並告訴我是否可以獲取谷歌地圖提供的方向文本。

回答

3

請通過Google Policies

這說明轉逐 turn導航是不允許使用的Android的MapView。

,而不是你可以使用意圖做如下

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
Uri.parse("http://maps.google.com/maps?saddr=<start lat>,<start lon>&daddr=<dest lat>,<dest lon>")); 
startActivity(intent); 
+0

有沒有其他的方法來實現這些。 –

+0

請檢查[this](http://blog.synyx.de/2010/06/routing-driving-directions-on-android-%E2%80%93-part-2-draw-the-route/)。但在實施這樣的任何事情之前,請閱讀Google政策的第8部分。您無法事先未經android mapView的許可使用方向。 – silwar