我有点困惑,因为代码似乎一切正常。
问题在于折线不会显示在地图上。
这是我每次收到位置时调用的用于放置折线的函数
(我以类似的方式添加了标记,效果很好)
private void addPolylineLocationOnMap(LatLng newLoc)
{
PolylineOptions poly = new PolylineOptions()
.add(newLoc)
.color(Color.BLUE)
.width(5)
.visible(true)
.zIndex(30);
googleMap.addPolyline(poly);
}
最佳答案
Polyline
需要多个点!
例如,将ArrayList<LatLng>
传递给您的方法,并使用addAll()
而不只是add()
。
从PolylineOptions
文档:
add(LatLng... points) : Adds vertices to the end of the polyline being built.
或者,您可以保留对一个
Polyline
的引用,并在收到它们时使用add()
向其添加点。在类中添加poly作为实例变量:
PolylineOptions poly;
然后在
onCreate()
(或您设置地图的任何位置)中:poly = new PolylineOptions()
.color(Color.BLUE)
.width(5)
.visible(true)
.zIndex(30);
googleMap.addPolyline(poly);
然后,当您获得更多积分时:
poly.add(newLoc);