1

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

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

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

private void addPolylineLocationOnMap(LatLng newLoc)
{
    PolylineOptions poly = new PolylineOptions()
                                    .add(newLoc)
                                    .color(Color.BLUE)
                                    .width(5)
                                    .visible(true)
                                    .zIndex(30);

    googleMap.addPolyline(poly);
}
4

1 回答 1

3

一个Polyline需要多点!

例如,将 an 传递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);
于 2014-03-19T19:22:50.517 回答