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

助けてください。また、Google マップが提供する方向のテキストを取得することは可能か教えてください。

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の完全なソース コードは、2 つのジオロケーション間のパスを描画する方法を示しています。

于 2012-05-09T13:12:24.880 に答える