1

コードはすべて問題ないように見えるので、少し混乱しています。問題は、ポリラインがマップに表示されないことです。

これは、場所を受け取るたびにポリラインを配置するために呼び出す関数です

(同様の方法でマーカーを追加しましたが、うまく機能します)

private void addPolylineLocationOnMap(LatLng newLoc)
{
    PolylineOptions poly = new PolylineOptions()
                                    .add(newLoc)
                                    .color(Color.BLUE)
                                    .width(5)
                                    .visible(true)
                                    .zIndex(30);

    googleMap.addPolyline(poly);
}
4

1 に答える 1

3

複数のPolylineポイントが必要です。

たとえば、ArrayList<LatLng>メソッドに an を渡し、addAll()単に ではなく使用しますadd()

PolylineOptionsドキュメントから:

add(LatLng... points) : Adds vertices to the end of the polyline being built.

または、1 つへの参照を保持し、それを受け取ったときにポイントを追加するためにPolyline使用add()することもできます。

クラスに poly をインスタンス変数として追加します。

PolylineOptions poly;

次にonCreate()(またはマップを設定した場所):

poly = new PolylineOptions()
    .color(Color.BLUE)
    .width(5)
    .visible(true)
    .zIndex(30);

googleMap.addPolyline(poly);

さらにポイントを獲得すると、次のようになります。

poly.add(newLoc);
于 2014-03-19T19:22:50.517 に答える