我有点困惑,因为代码似乎一切正常。
问题在于折线不会显示在地图上。

这是我每次收到位置时调用的用于放置折线的函数

(我以类似的方式添加了标记,效果很好)

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);

10-04 12:00