Polyline not visible Android Maps Api v2

2019-06-03 05:27发布

问题:

I am a little bit confused since everything seems to be alright with the code. The problem is that the polyline won't show up on the map.

Here is the function that I call to place polyline everytime I receive a location

(I added markers in a similar way and they work great)

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

    googleMap.addPolyline(poly);
}

回答1:

A Polyline needs multiple points!

For example, pass an ArrayList<LatLng> to your method and use addAll() rather than just add().

From the PolylineOptions documentation:

add(LatLng... points) : Adds vertices to the end of the polyline being built.

Alternatively, you can keep a reference to one Polyline and use add() to add points to it as you receive them.

Add poly as an instance variable in your class:

PolylineOptions poly;

Then in onCreate() (or wherever you set up the map):

poly = new PolylineOptions()
    .color(Color.BLUE)
    .width(5)
    .visible(true)
    .zIndex(30);

googleMap.addPolyline(poly);

Then as you receive more points:

poly.add(newLoc);