9

私は現在地図を持っており、10 メートルごとに LocationListener を使用して場所を更新し、新しい緯度と経度を取得しています。ここで、ユーザーが通っているルートが赤い線で表示されることを望みます。そのため、LocationListener クラスの OnLocationChange() が呼び出されるたびに、最後の場所と新しい場所の間の線でマップを更新したいと考えています。

これまでのところ、以下を追加しました。

private void initializeDraw() {
    lineOptions = new PolylineOptions().width(5).color(Color.RED);
    lineRoute = workoutMap.addPolyline(lineOptions);
}

OnLocationChanged の間、私はこれを呼び出します:

drawTrail();

新しく取得した位置をポイントとして追加し、最後のポイントから新しいポイントまで線を引くたびに、この関数に何を挿入する必要がありますか。

ありがとう

4

1 に答える 1

14

最初に翻訳LocationLatLngます:

LatLng newPoint = new LatLng(location.getLatitude(), location.getLongitude());

次に、ポイントの既存のリストにポイントを追加します。

List<LatLng> points = lineRoute.getPoints();
points.add(newPoint);
lineRoute.setPoints(points);
于 2013-06-17T22:08:00.297 に答える