在地图V2上绘制多色多边形线

我正在以下面的方式在我的地图上绘制一个普通的彩色多边形线条,效果很好:

PolylineOptions polyLine = new PolylineOptions(); polyLine.width(5); polyLine.color(Color.RED); polyLine.geodesic(true); for (int i = 0; i < speed.length; i++) { polyLine.add(new LatLng(lat, lng)); } map.addPolyline(polyLine); 

现在我想绘制不同点之间的不同颜色的多段线,这取决于这两点之间的速度。

似乎没有一个简单的方法来做到这一点。

我指的是这个问题: 在v2地图上绘制不同颜色的多段PolylineOptions ,我可以一个接一个地添加多个PolylineOptions ,但我不认为这是一个有效的方法,因为我有一个简单的数据超过2000点设置绘制。

有更好的做法吗?

理想的实施将是Nike + app如何在地图上绘制线条:

来自Google Play的Nike +屏幕截图

将不胜感激任何帮助。

提前致谢!

Solutions Collecting From Web of "在地图V2上绘制多色多边形线"

我只是find一个方法来做到这一点与OptionsLines,实际上,两个OptionsLines。 我用一个gpx文件来使用这个函数,这就是为什么人类对象TRKPT。

  int size = listPoints.size(); PolylineOptions optline = new PolylineOptions(); PolylineOptions optline2 = new PolylineOptions(); optline.geodesic(true); optline.width(10); optline2.geodesic(true); optline2.width(10); for (int i = 0; i < size - 1; i++) { TRKPT pointD = listPoints.get(i); TRKPT pointA = listPoints.get(i + 1); int green = (int) ((float) 255 - (float) (i / (float) size) * (float) 255); int red = (int) ((float) 0 + (float) (i / (float) size) * (float) 255); optline.add(new LatLng(pointD.getLat(), pointD.getLon()), new LatLng(pointA.getLat(), pointA.getLon())); optline2.add(new LatLng(pointD.getLat(), pointD.getLon()), new LatLng(pointA.getLat(), pointA.getLon())); if(i%2 == 0){ optline.color(Color.rgb(red, green, 0)); mMap.addPolyline(optline); optline = new PolylineOptions(); optline.geodesic(true); optline.width(10); } else{ optline2.color(Color.rgb(red, green, 0)); mMap.addPolyline(optline2); optline2 = new PolylineOptions(); optline2.geodesic(true); optline2.width(10); } } 

现在你有一条从绿色到红色渐变的美丽线条。

您可以渲染任何您想要的Bitmap并使用GroundOverlayTileOverlay