Android高德之旅(8)绘制线

废话

绘制线会比绘制点稍微复杂点,抛开一些复杂的属性不谈,主要分为三类:实线、虚线、纹理。绘制线在自定义地图中是非常重要的一个环节。

简单的api

看下api你会发现,绘制实线、虚线、纹理都是调用一个api:AMap.addPolyline(PolylineOptions);只是option设置的属性不同而已。

(1)绘制实线

polyline = aMap.addPolyline((new PolylineOptions())
        .add(SHANGHAI, BEIJING, CHENGDU)
        .width(10)
        .setDottedLine(false) //关闭虚线
        .color(Color.RED));

(2)绘制虚线

polyline = aMap.addPolyline((new PolylineOptions())
        .add(SHANGHAI, BEIJING, CHENGDU)
        .width(10)
        .setDottedLine(true) //打开虚线
        .color(Color.BLUE));

(3)绘制纹理

//用一个数组来存放纹理
List<BitmapDescriptor> texturesList = new ArrayList<>();
texturesList.add(BitmapDescriptorFactory.fromResource(R.drawable.texture_1));
texturesList.add(BitmapDescriptorFactory.fromResource(R.drawable.texture_2));

//指定某一段用某个纹理,对应texturesList的index即可, 三个点对应两段颜色
List<Integer> texIndexList = new ArrayList<>();
texIndexList.add(0);//对应上面的第0个纹理
texIndexList.add(1);//对应上面的第1个纹理

PolylineOptions options = new PolylineOptions();
options.width(30);//设置宽度

//加入三个点
options.add(SHANGHAI, BEIJING, CHENGDU);

//加入对应的颜色,使用setCustomTextureList 即表示使用多纹理;
options.setCustomTextureList(texturesList);

//设置纹理对应的Index
options.setCustomTextureIndex(texIndexList);
polyline = aMap.addPolyline(options);

(4)总的来看下效果

(5)属性设置

名称 说明
setCustomTexture(BitmapDescriptor customTexture) 设置线段的纹理,建议纹理资源长宽均为2的n次方
setCustomTextureIndex(java.util.List<java.lang.Integer> custemTextureIndexs) 设置分段纹理index数组
setCustomTextureList(java.util.List customTextureList) 设置分段纹理list
setDottedLine(boolean isDottedLine) 设置是否画虚线,默认为false,画实线
setUseTexture(boolean useTexture) 是否使用纹理贴图
useGradient(boolean useGradient) 设置是否使用渐变色
visible(boolean isVisible) 设置线段的可见性
width(float width) 设置线段的宽度,单位像素
zIndex(float zIndex) 设置线段Z轴的值

总结

不要看演示的demo很简单,充分运用现有的api和各种属性,我们可以画出很多漂亮的画面,关键看自己的创造力和美术功底。本期节目就到这里,感谢大家收看,我们下期再见~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,823评论 25 709
  • 目录结构: 第一步,明确要干嘛 第二步,怎么去画(纯理论) 第三步,怎么去画(实战) 第四步,练练手 第一步,明确...
    半纸渊阅读 12,496评论 18 57
  • 绘制像素到屏幕上 answer-huang22 Mar 2014 分享文章 一个像素是如何绘制到屏幕上去的?有很多...
    阿狸旅途T恤阅读 5,582评论 0 7
  • 概述 今天我们来探究一下android的样式。其实,几乎所有的控件都可以使用 background属性去引用自定义...
    CokeNello阅读 10,367评论 1 19
  • “孩子,从今天起我将你的心交给你,你要好好保护它,别让它受伤。” 我听到妈妈温柔的话,却想不通它的意义是什么。 我...
    文君1阅读 3,177评论 7 8