如何在 google 地图上用两个不同的颜色在两个位置之间绘制多段线

How to draw polyline on google map with two different colors between two locations

我有两个位置,我需要在这两个位置之间绘制两条折线,我已完成在这些位置之间绘制折线。

问题是,折线是一种颜色,但由于要求,我必须绘制两种不同颜色的折线,如下所示:-

如果有人对此问题有一些有意义的代码片段或一些建议...提前致谢

Random rnd = new Random(); 
  int color = Color.argb(255, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));  

--- 为每个经纬度循环并添加----

   mMap.addPolyline(new PolylineOptions()
  .add(new LatLng(lats, lons), new LatLng(late,lone))
  .width(5)
  .color(color)); 

根据您的要求更改颜色编码

自 2017 年 2 月 15 日起,您可以更改折线的笔划线。来自 the Release Notes(强调我的)

This release introduces custom styling for polylines and for the outlines of polygons and circles. Change the stroke pattern from a solid line (default) to your choice of dashes, dots, and gaps. In polylines and polygons, you can specify a bevel or round joint type to replace the default fixed miter joints. You can also change the cap at each end of a polyline from a butt (default) to a square or round cap, or specify a custom bitmap to be used as the cap. The styling of stroke patterns, joint types and start/end caps is available in the full API but not in lite mode.

请注意,您需要使用 Google Play Services 10.2 或更高版本。因此,在您的 build.gradle 中,您需要添加:

dependencies {
    compile 'com.google.android.gms:play-services-maps:10.2.0'
}

您可以指定多段线的笔划图案,但不能更改颜色,因此您需要在其上绘制一条实线多段线和一条虚线多段线以达到您想要的图案(考虑到您将绘制两条折线而不是一条折线,这会影响性能):

List<LatLng> latLngs = new ArrayList<>();
// Add all your LatLngs to the List

// Draw a solid green polyline
mMap.addPolyline(new PolylineOptions()
        .addAll(latLngs)
        .color(Color.GREEN));

// Draw a dashed (60px spaced) blue polyline
List<PatternItem> dashedPattern = Arrays.asList(new Dash(60), new Gap(60));
mMap.addPolyline(new PolylineOptions()
        .addAll(latLngs)
        .pattern(dashedPattern)
        .color(Color.BLUE));

结果如下所示:

您可以找到有关新样式折线功能的更多信息here