问题
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);
来源:https://stackoverflow.com/questions/22516015/polyline-not-visible-android-maps-api-v2