1

現在の位置を取得し、ユーザーが目的地を選択するアプリケーションがあります。これら 2 つの出発地は、Google にクエリを実行します :

そして、目的地に到達するために「向きを変える」場所を含むxmlを取得します

xml を読んだ後、xml の最初のポイントと 2 番目のポイントの間のパスをトレースします。

API の変更前は、パスは路上で完璧でしたが、現在は次の画像のようになっています。

画像

描画に使用するコード:

public void draw(Canvas canvas, MapView mapView, boolean shadow) {
    super.draw(canvas, mapView, shadow);

    Projection proj = mapView.getProjection();

    Point ponto1, ponto2;
    Path caminho = new Path();
    for (int i = 0; i < geoPoints.size() - 1; i++) {
        ponto1 = proj.toPixels(geoPoints.get(i), null);
        ponto2 = proj.toPixels(geoPoints.get(i + 1), null);

        caminho.moveTo(ponto2.x, ponto2.y);
        caminho.lineTo(ponto1.x,ponto1.y);

        canvas.drawPath(caminho, paint);
    }
}
4

1 に答える 1

1

これはあなたを助けるかもしれません.私はあなたと同じ問題を抱えている人のために広範な回答を書きました. それをチェックしてください、それもあなたに役立つことを願っています

https://stackoverflow.com/a/11357351/975959

于 2012-08-31T22:37:11.143 に答える