我有点困惑,因为代码似乎都没问题。 问题是折线不会出现在地图上。
这是我每次收到位置时调用放置折线的函数
(我以类似的方式添加了标记并且效果很好)
private void addPolylineLocationOnMap(LatLng newLoc)
{
PolylineOptions poly = new PolylineOptions()
.add(newLoc)
.color(Color.BLUE)
.width(5)
.visible(true)
.zIndex(30);
googleMap.addPolyline(poly);
}
答案 0 :(得分:3)
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);