1

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

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

请帮助并告诉我是否可以获得谷歌地图提供的方向文本。

4

2 回答 2

3

请通过Google 政策

这表明不允许使用 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);
于 2012-05-09T12:53:50.890 回答
2

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

于 2012-05-09T13:12:24.880 回答