在地图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 +屏幕截图

将不胜感激任何帮助。

提前致谢!

  • Android MapView getMap()返回null
  • 如何在MapView中重新定位内置缩放控件?
  • 如何配置android map sdk v2使用不同的密钥进行生产和开发?
  • Android MapView总是在嵌套元素中导致OutOfMemoryError
  • android - GC_FOR_ALLOC释放6346K,7%免费,暂停143ms,总计143ms
  • 如何判断android的长触?
  • Android的MapView在片段
  • 在Android MapView上绘制一个圆圈
  • 我只是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