2017-02-28 97 views

回答

7

自2017年2月15日起,您可以更改多段线的笔划线。从the Release Notes(着重于我的)

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

考虑到您需要使用Google Play服务10.2或更高版本。因此,在你的build.gradle,你将需要添加:

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

您可以指定折线的笔触模式,但你不能改变颜色,所以你需要画一个坚实的折线和虚线polypine上它的上面,以达到你所期望的图案(考虑到,你会被绘制两条折线,而不是只有一个,这可能会影响性能):

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)); 

结果看起来是这样的:

enter image description here

您可以找到有关新造型折线功能here的更多信息。

+0

谢谢巴迪......你钉住了它......因为我的日子,我从很长一段时间以来一直在寻找这个东西,无法找出差距。感谢你的努力......愉快的编码。 –

0
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)); 

改变C根据您的要求进行olor编码

+0

我有两个特定的颜色绿色和蓝色,我必须使用这两种颜色。根据你的代码,它将绘制随机颜色的折线。 –

+1

正如我提到的那样。根据您的要求使用颜色编码。请不要指望喂匙子。抱歉。 –

+1

感谢提及勺子喂...但你的信息我已经通过这种方法发布此问题之前。哥们不要用你的假设和思维来判断人。 –

相关问题