我正在Android上构建路径跟踪应用程序。此特定活动将获得位置,并且每当我获得位置时,我都会将最后一个点与当前点连接起来。有了这个,我就可以走了,但是在关节处却并不顺利。
我正在得到一个东西。 B是我要达到的目标。
A
________________
|________________
| |
| |
B
________________
|________________
| |
| |
问题是因为我绘制了2个点的线。当Google绘制3点时,关节已正确连接。我在寻找一种方法,除了画3点而不是2点。
我正在向折线添加点
PolylineOptions polylineOptions = new PolylineOptions();
polylineOptions.add(lastPosition);
polylineOptions.add(currentPosition);
polylineOptions.color(Color.BLUE);
polylineOptions.width(8);
mMap.addPolyline(polylineOptions);
我还尝试设置polylineOptions.jointType(JointType.ROUND),但没有太大改进。
答案 0 :(得分:0)
JointType
影响一条折线的段,而不是单独的折线。因此,请勿绘制包含2点线的路径-将整个路径绘制为一条多段线。像这样:
// add polyline to map (once) and save reference to it in polyLine variable
PolylineOptions polylineOptions = new PolylineOptions();
polylineOptions.add(lastPosition);
polylineOptions.add(currentPosition);
polylineOptions.color(Color.BLUE);
polylineOptions.width(8);
Polyline polyLine = mMap.addPolyline(polylineOptions);
...
// every time when currentPosition updated
List<LatLng> polyLinePoints = polyLine.getPoints(); // get polyline points
polyLinePoints.add(currentPosition); // add currentPosition to polyline points
polyLine.setPoints(polyLinePoints); // update polyline points