Android搭載端末でGPSを使用して軌跡を描きたいAndroid搭載端末で移動軌跡を表示する方法
完成したルートを表示するのに問題はありませんが、私が移動しているときにトラックを表示することは困難です。
これまでは2つの方法がありましたが、どちらも特に満足できるものではありませんでした。
METHOD 1
PolylineOptions track = new PolylineOptions();
Polyline poly;
while (moving) {
Latlng coord = new LatLng(lat,lng); // from LocationListener
track.add(coord);
if (poly != null) {
poly.remove();
}
poly = map.addPolyline(track);
}
すなわち新しい座標を追加し、それをバック追加する前にそれを削除するポリラインを構築します。
これは恐ろしく遅いです。
METHOD 2
oldcoord = new LatLng(lat,lng);;
while (moving) {
PolylineOptions track = new PolylineOptions();
LatLng coord = new (LatLng(lat,lng);
track.add(oldcoord);
track.add(coord);
map.addPolyline(track);
oldcoord = coord;
}
すなわち単一のポリラインのシリーズをプロットします。
これは方法1よりもはるかに高速レンダリング一方で、各ポリラインがオフに乗されているので、それは特に低ズームレベルで、かなりギザギザに見え、それが実際に触れるだけのコーナーです。
もっと良い方法がありますか、もしそうなら、それは何ですか?
お返事ありがとうございます。私は最終的にこれを思いついた(私の方法1)。私が問題を抱えていたのは、ポリラインを構築して削除する座標のArrayListを反復して、処理が永遠に終わっていたということでした。しかし、その処理をonChangeListenerにオフロードしたとき、それは魅力的なように機能しました。 –
@PeteHあなたは方法routePoints.add(MapPointの)でMapPointのあるものを、私に知らせpleasseことができます。 – Keshav1234
MapPointのは単に地図表示のための個々のLatLngオブジェクト、すなわち、所望の点の一つであります – PeteH