驾驶方向 - 谷歌地图

时间:2012-05-09 12:28:39

标签: android google-maps android-maps android-mapview

我想从源地理位置到目标地理位置绘制行驶方向路线。我用下面的代码尝试了这个,但它在Location之间绘制了一条直线,不是最短的路线。

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

请提供帮助,并告诉我可以获得Google地图提供的方向文字。

2 个答案:

答案 0 :(得分:3)

请浏览Google Policies

这表明转过来了 使用android MapView不允许转向导航。

相反,您可以使用intent来执行以下操作

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

答案 1 :(得分:2)

以下是https://github.com/frogermcs/RoutePathExample的完整源代码,介绍如何在两个地理位置之间绘制路径。