如何在谷歌地图上绘制折线,两个位置之间有两种不同的颜色

San*_*dav 6 android google-maps polyline google-polyline

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

问题是,折线是一种颜色,但由于要求我必须绘制两种不同颜色的折线,如下所示: - 在此输入图像描述

如果有人有一些有意义的代码片段或对此问题的一些建议...在此先感谢

ant*_*nio 7

自2017年2月15日起,您可以更改折线的笔触线.从发行说明(强调我的)

此版本为折线和多边形和圆的轮廓引入了自定义样式.将笔触图案从实线(默认)更改为您选择的破折号,点和间隙.在折线和多边形中,您可以指定斜角或圆形关节类型以替换默认的固定斜接接头.您还可以将折线两端的上限从对接(默认)更改为方形或圆形,或指定要用作上限的自定义位图.笔划模式,关节类型和开始/结束大写的样式在完整的API中可用,但在精简模式下不可用.

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

dependencies {
    compile 'com.google.android.gms:play-services-maps:10.2.0'
}
Run Code Online (Sandbox Code Playgroud)

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

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));
Run Code Online (Sandbox Code Playgroud)

结果如下:

在此输入图像描述

您可以在此处找到有关新样式折线功能的更多信息.