- 浏览: 197103 次
- 性别:
- 来自: 湖南
文章分类
最新评论
android arcgis map应用
- 博客分类:
- android
1 符号渲染
1.1 Symbol
Symbol主要是对Graphic对象进行符合样式设置的接口,所有符合样式类都实现了Symbol接口,Symbol接口关系图如下:
1.2 PictureMarkerSymbol
PictureMarkerSymbol是对于点或多点要素的Graphic对象进行样式设置的类,PictureMarkerSymbol主要通过图片的url或Drawable等方式来设置图片符合,对于PictureMarkerSymbol我们还可以设置符合图片的旋转角度和位置偏移,具体用法如下:
[java] view plaincopy
//创建图片样式符合
PictureMarkerSymbol pic = new PictureMarkerSymbol(getResources().getDrawable(R.drawable.icon));
Point pt = new Point(113,32);//创建一个点对象
Graphic gp = new Graphic(pt,pic);设置符合样式
graphicsLayer.addGraphic(gp);添加到图层中
1.3 SimpleFillSymbol
SimpleFillSymbol是对于面状要素的Graphic对象进行样式设置的类,通过它我们设置面状要素的填充颜色和透明度,另外我们也可以为面状要素添加边界的样式设置,SimpleFillSymbol用法非常简单,如下:
[java] view plaincopy
Polygon poly = new Polygon();//创建多边形对象
poly.startPath(new Point(0,0));//添加初始点
poly.lineto(new Point(10,0));
poly.lineto(new Point(10,10));
poly.lineto(new Point(0,0));//多边形是闭合的因此最后我们还要添加初始点的位置
SimpleFillSymbol sfs = new SimpleFillSymbol(Color.RED);//面样式对象
sfs.setAlpha(50);//设置透明度
Graphic gp = new Graphic(poly,sfs);
graphicsLayer.addGraphic(gp);添加到图层中
1.4 SimpleLineSymbol
SimpleLineSymbol是针对于线状要素的Graphic对象进行样式设置的类,通过它我们可以设置线状要素的样式,如我们可以设置线型、线颜色、线宽和线的透明度等,具体用法如下:
[java] view plaincopy
Polyline poly = new Polyline ();//创建多边形对象
poly.startPath(new Point(0,0));//添加初始点
poly.lineto(new Point(10,0));
poly.lineto(new Point(10,10));
SimpleLineSymbol sls = new SimpleLineSymbol(Color.RED,25, SimpleLineSymbol.SOLID);//线样式对象
sfs.setAlpha(50);//设置透明度
Graphic gp = new Graphic(poly, sls);
graphicsLayer.addGraphic(gp);添加到图层中
1.5 SimpleMarkerSymbol
SimpleMarkerSymbol也是针对于点状要素的Graphic对象进行样式设置的类,前面已经介绍过一个相关的点状要素样式类PictureMarkerSymbol,SimpleMarkerSymbol与PictureMarkerSymbol类很相似,只不过一个渲染成矢量点,另一个通过图片来替换该点。使用SimpleMarkerSymbol我们可以设置点样式,如点的大小,点颜色和点的类型,用法如下:
[java] view plaincopy
Point point = new Point();//创建点对象
Point.setX(114);//设置x坐标
Point.setY(32);//设置y坐标
//设置点样式的颜色,大小和点类型
SimpleMarkerSymbol sms = new SimpleMarkerSymbol(Color.RED,25,STYLE.CIRCLE)
Graphic gp = new Graphic(point,sms);
graphicsLayer.addGraphic(gp);//添加到图层中显示
1.6 TextSymbol
TextSymbol也是针对于点状要素的Graphic对象进行样式设置的类,它将点的位置替换成文字进行标绘显示,通过TextSymbol可以设置文字的大小、颜色、内容和排列方式。排列方式是只标绘的文字是以横向排列的还是纵向排列显示的,默认是横向剧中显示。用法如下:
[java] view plaincopy
Point point = new Point();//创建点对象
Point.setX(114);//设置x坐标
Point.setY(32);//设置y坐标
//设置点样式的颜色,大小和文本内容
TextSymbol ts = new TextSymbol (12,”点样式”,Color.RED);
Graphic gp = new Graphic(point,ts);
graphicsLayer.addGraphic(gp);//添加到图层中显示
1.7 Renderer
Renderer是一个接口类型,该接口主要用于Graphic对象的样式渲染,它目前有四个实现类,在下面章节中将详细介绍这四个类的功能和用法,关系图如下所示:
1.8 SimpleRenderer
SimpleRenderer是最简单的一个渲染类,通过这个渲染类我们可以把图层中某一类型的要素同时进行渲染,如我们想将图层中的所有点同时渲染成相同的样式,用法如下:
[java] view plaincopy
SimpleRenderer renderer = new SimpleRenderer(new SimpleMarkerSymbol(Color.RED,25,STYLE.CIRCLE));
graphicsLayer.setRenderer(renderer);//为图层设置渲染
1.9 ClassBreaksRenderer
ClassBreaksRenderer是Renderer接口的实现类,使用ClassBreaksRenderer我们可以将GraphicsLayer图层中的某一类型的Graphic对象进行分段渲染,用法如下:
[java] view plaincopy
ClassBreaksRenderer renderer = new ClassBreaksRenderer();
renderer.setMinValue(0.0);//设置最小值
renderer.setField("POP07_SQMI");//渲染依附的字段
ClassBreak cb1 = new ClassBreak();//定义第一段渲染范围和样式
cb1.setClassMaxValue(25);
cb1.setSymbol(new SimpleFillSymbol(Color.argb(128, 56, 168, 0)));
cb1.setLabel("First class");
ClassBreak cb2 = new ClassBreak();//定义第二段渲染范围和样式
cb2.setClassMaxValue(75);
cb2.setSymbol(new SimpleFillSymbol(Color.argb(128, 139, 209, 0)));
cb2.setLabel("Second class");
ClassBreak cb3 = new ClassBreak();//定义第三段渲染范围和样式
cb5.setClassMaxValue(Double.MAX_VALUE);
cb5.setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 0, 0)));
renderer.addClassBreak(cb1);
renderer.addClassBreak(cb2);
renderer.addClassBreak(cb3);
graphicsLayer.setRenderer(renderer);//为图层设置渲染
通过上面的代码我们可以发现分段渲染非常简单,只需以下几个步骤:
1) 创建ClassBreaksRenderer对象
2) 设置渲染的字段和最小值
3) 创建多个分段渲染对象(ClassBreak),设置最大值和样式
4) 将分段渲染对象添加到ClassBreaksRenderer对象中
5) 为图层设置Renderer对象
2.0 UniqueValueRenderer
UniqueValueRenderer是唯一值渲染类,该渲染方式是对某一字段进行唯一值渲染,如我们有一层面状数据,其中一个字段是对该图层的数据分类,这时我们就可以对该分类字段进行唯一值渲染:类型为住宅楼的为黄色,工厂的为紫色,商业区的为红的等等,我们也可以对多个字段进行联合唯一值渲染,最多联合三个字段进行渲染,用法如下:
[java] view plaincopy
UniqueValueRenderer uvr = new UniqueValueRenderer();
uvr.setField("TYPE");
UniqueValue uv1 = new UniqueValue();
uv.setValue(new String[]{"Residential"});
uv. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 100, 0)));
UniqueValue uv2 = new UniqueValue();
uv.setValue(new String[]{"Industrial"});
uv. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 200, 0)));
UniqueValue uv3 = new UniqueValue();
uv.setValue(new String[]{"Commercial"});
uv. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 150, 0)));
uvr.addUniqueValue(uv1);
uvr.addUniqueValue(uv2);
uvr.addUniqueValue(uv3);
graphicsLayer.setRenderer(uvr);//为图层设置渲染
1.1 Symbol
Symbol主要是对Graphic对象进行符合样式设置的接口,所有符合样式类都实现了Symbol接口,Symbol接口关系图如下:
1.2 PictureMarkerSymbol
PictureMarkerSymbol是对于点或多点要素的Graphic对象进行样式设置的类,PictureMarkerSymbol主要通过图片的url或Drawable等方式来设置图片符合,对于PictureMarkerSymbol我们还可以设置符合图片的旋转角度和位置偏移,具体用法如下:
[java] view plaincopy
//创建图片样式符合
PictureMarkerSymbol pic = new PictureMarkerSymbol(getResources().getDrawable(R.drawable.icon));
Point pt = new Point(113,32);//创建一个点对象
Graphic gp = new Graphic(pt,pic);设置符合样式
graphicsLayer.addGraphic(gp);添加到图层中
1.3 SimpleFillSymbol
SimpleFillSymbol是对于面状要素的Graphic对象进行样式设置的类,通过它我们设置面状要素的填充颜色和透明度,另外我们也可以为面状要素添加边界的样式设置,SimpleFillSymbol用法非常简单,如下:
[java] view plaincopy
Polygon poly = new Polygon();//创建多边形对象
poly.startPath(new Point(0,0));//添加初始点
poly.lineto(new Point(10,0));
poly.lineto(new Point(10,10));
poly.lineto(new Point(0,0));//多边形是闭合的因此最后我们还要添加初始点的位置
SimpleFillSymbol sfs = new SimpleFillSymbol(Color.RED);//面样式对象
sfs.setAlpha(50);//设置透明度
Graphic gp = new Graphic(poly,sfs);
graphicsLayer.addGraphic(gp);添加到图层中
1.4 SimpleLineSymbol
SimpleLineSymbol是针对于线状要素的Graphic对象进行样式设置的类,通过它我们可以设置线状要素的样式,如我们可以设置线型、线颜色、线宽和线的透明度等,具体用法如下:
[java] view plaincopy
Polyline poly = new Polyline ();//创建多边形对象
poly.startPath(new Point(0,0));//添加初始点
poly.lineto(new Point(10,0));
poly.lineto(new Point(10,10));
SimpleLineSymbol sls = new SimpleLineSymbol(Color.RED,25, SimpleLineSymbol.SOLID);//线样式对象
sfs.setAlpha(50);//设置透明度
Graphic gp = new Graphic(poly, sls);
graphicsLayer.addGraphic(gp);添加到图层中
1.5 SimpleMarkerSymbol
SimpleMarkerSymbol也是针对于点状要素的Graphic对象进行样式设置的类,前面已经介绍过一个相关的点状要素样式类PictureMarkerSymbol,SimpleMarkerSymbol与PictureMarkerSymbol类很相似,只不过一个渲染成矢量点,另一个通过图片来替换该点。使用SimpleMarkerSymbol我们可以设置点样式,如点的大小,点颜色和点的类型,用法如下:
[java] view plaincopy
Point point = new Point();//创建点对象
Point.setX(114);//设置x坐标
Point.setY(32);//设置y坐标
//设置点样式的颜色,大小和点类型
SimpleMarkerSymbol sms = new SimpleMarkerSymbol(Color.RED,25,STYLE.CIRCLE)
Graphic gp = new Graphic(point,sms);
graphicsLayer.addGraphic(gp);//添加到图层中显示
1.6 TextSymbol
TextSymbol也是针对于点状要素的Graphic对象进行样式设置的类,它将点的位置替换成文字进行标绘显示,通过TextSymbol可以设置文字的大小、颜色、内容和排列方式。排列方式是只标绘的文字是以横向排列的还是纵向排列显示的,默认是横向剧中显示。用法如下:
[java] view plaincopy
Point point = new Point();//创建点对象
Point.setX(114);//设置x坐标
Point.setY(32);//设置y坐标
//设置点样式的颜色,大小和文本内容
TextSymbol ts = new TextSymbol (12,”点样式”,Color.RED);
Graphic gp = new Graphic(point,ts);
graphicsLayer.addGraphic(gp);//添加到图层中显示
1.7 Renderer
Renderer是一个接口类型,该接口主要用于Graphic对象的样式渲染,它目前有四个实现类,在下面章节中将详细介绍这四个类的功能和用法,关系图如下所示:
1.8 SimpleRenderer
SimpleRenderer是最简单的一个渲染类,通过这个渲染类我们可以把图层中某一类型的要素同时进行渲染,如我们想将图层中的所有点同时渲染成相同的样式,用法如下:
[java] view plaincopy
SimpleRenderer renderer = new SimpleRenderer(new SimpleMarkerSymbol(Color.RED,25,STYLE.CIRCLE));
graphicsLayer.setRenderer(renderer);//为图层设置渲染
1.9 ClassBreaksRenderer
ClassBreaksRenderer是Renderer接口的实现类,使用ClassBreaksRenderer我们可以将GraphicsLayer图层中的某一类型的Graphic对象进行分段渲染,用法如下:
[java] view plaincopy
ClassBreaksRenderer renderer = new ClassBreaksRenderer();
renderer.setMinValue(0.0);//设置最小值
renderer.setField("POP07_SQMI");//渲染依附的字段
ClassBreak cb1 = new ClassBreak();//定义第一段渲染范围和样式
cb1.setClassMaxValue(25);
cb1.setSymbol(new SimpleFillSymbol(Color.argb(128, 56, 168, 0)));
cb1.setLabel("First class");
ClassBreak cb2 = new ClassBreak();//定义第二段渲染范围和样式
cb2.setClassMaxValue(75);
cb2.setSymbol(new SimpleFillSymbol(Color.argb(128, 139, 209, 0)));
cb2.setLabel("Second class");
ClassBreak cb3 = new ClassBreak();//定义第三段渲染范围和样式
cb5.setClassMaxValue(Double.MAX_VALUE);
cb5.setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 0, 0)));
renderer.addClassBreak(cb1);
renderer.addClassBreak(cb2);
renderer.addClassBreak(cb3);
graphicsLayer.setRenderer(renderer);//为图层设置渲染
通过上面的代码我们可以发现分段渲染非常简单,只需以下几个步骤:
1) 创建ClassBreaksRenderer对象
2) 设置渲染的字段和最小值
3) 创建多个分段渲染对象(ClassBreak),设置最大值和样式
4) 将分段渲染对象添加到ClassBreaksRenderer对象中
5) 为图层设置Renderer对象
2.0 UniqueValueRenderer
UniqueValueRenderer是唯一值渲染类,该渲染方式是对某一字段进行唯一值渲染,如我们有一层面状数据,其中一个字段是对该图层的数据分类,这时我们就可以对该分类字段进行唯一值渲染:类型为住宅楼的为黄色,工厂的为紫色,商业区的为红的等等,我们也可以对多个字段进行联合唯一值渲染,最多联合三个字段进行渲染,用法如下:
[java] view plaincopy
UniqueValueRenderer uvr = new UniqueValueRenderer();
uvr.setField("TYPE");
UniqueValue uv1 = new UniqueValue();
uv.setValue(new String[]{"Residential"});
uv. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 100, 0)));
UniqueValue uv2 = new UniqueValue();
uv.setValue(new String[]{"Industrial"});
uv. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 200, 0)));
UniqueValue uv3 = new UniqueValue();
uv.setValue(new String[]{"Commercial"});
uv. setSymbol(new SimpleFillSymbol(Color.argb(128, 255, 150, 0)));
uvr.addUniqueValue(uv1);
uvr.addUniqueValue(uv2);
uvr.addUniqueValue(uv3);
graphicsLayer.setRenderer(uvr);//为图层设置渲染
- ArcGIS_API_for_Android_开发教程.pdf (1021.3 KB)
- 下载次数: 1
发表评论
-
Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
2015-12-18 22:23 479转载请注明出处:http:// ... -
lost android 开发教程二
2012-04-19 13:13 1828第二季课程介绍 1、控件使用方法介绍 Sprinner, ... -
android基础
2011-08-10 21:23 996lost in android Linux 环境 ... -
3G应用开发之Android
2011-04-10 21:12 1623什么是3G 3G,全称为3rd Generation,中文含义 ... -
扫雷游戏
2011-02-25 16:32 1213MineSweeper是一个不错的Android开源扫雷游戏, ... -
应用、permission、资源
2011-02-25 13:45 1441应用 为程序添加Menu菜单 //创建OptionsMenu ... -
文件存取、数据库编程
2011-02-25 13:41 693文件存取、数据库编程 -
新版Android开发可视化UI设计DroidDraw
2011-02-24 15:16 1215新版Android开发可视化UI设计DroidDraw -
Android 基础UI编程4
2011-02-23 11:39 1370Android 基础UI编程 专业相框设计 ImageView ... -
Android UI编程基础3
2011-02-23 09:11 1058Android UI编程基础 EditText 与TextVi ... -
Android 基础UI编程2
2011-02-21 10:29 1041Android 基础UI编程 标题、状态栏的隐藏 标题栏隐藏 ... -
Android 基础UI编程1
2011-02-18 15:45 923Android 基础UI编程 更改与显示文字标签 TextVi ... -
android开发--布局
2011-02-17 16:25 1025Android应用开发3 使用Bundle在Activity间 ... -
Android 模拟器
2011-02-17 15:40 1431Android 模拟器 模拟器参数 参数格式 option 选 ... -
Android开发--Dalvik ADB
2011-02-17 10:41 1503Android虚拟机Dalvik Dalvik冲击 随着Goo ... -
Android开发环境搭建
2011-02-17 09:38 1311Android开发环境搭建 ADV的创建 ADT0.9.1 版 ... -
基础入门一
2011-02-17 09:12 1052开放手机联盟--Open HandsetAlliance 什么 ...
相关推荐
android调arcgis切片,根据读取文件缓存到sd卡。自己封装JAVA类,是学习arcgis for android 很好的参考。
使用ArcGIS for Android开发的加载GoogleMap地图。并判断无网络时自动加载本地图片。图片存放在/ArcGIS/samples/tiledcache/下。在有网络时自动存储地图图片。未做容量控制及清空策略。并集成了从ArcGIS Server缓存...
ArcGIS SDK——Android v10.2.9~v100.1.0官方开发包,附带pdf文档说明,详细实用
Arcgis For Android 手动打点、自动轨迹测量距离、面积
ArcGIS for Android实现定位、放大缩小功能
ArcGIS API for JavaScript3.X 引用 调用 集成 加载 百度地图 谷歌地图 高德地图 天地图 影像和街道地图 实例,超级实用,解决你的一切地图底图问题
ArcGIS for Android 获取FeatureLayer的图例
android arcgis featureLayer查询
NULL 博文链接:https://yimengzhu.iteye.com/blog/1779865
Android ArcGIS 部分中文核心说明文档
这是arcgis 10的android demo可以借鉴很多图层,兴趣点,合并,之类的代码
arcgis for android通用终端采集项目
arcgis for android,包括arcgis在安卓上开发所依赖的jar包以及api文档
arcgis android api文档
arcgis map 图层
ArcGIS+for+Android 开发教程基础版 需要进行Android arcgis地图开发的朋友,可以下载学习下
第一课 ArcGIS Engine应用程序开发
ArcGIS For Android 去除logo(水印)方法
用“JDBC”连接数据库,arcgis for android 读取空间数据库。
ArcGIS Runtime SDK for Android v1.1发布啦,增强和改进如下: API: 1、从ArcGIS.com上搜索和使用content、users和groups; 2、支持要素定义存储在本地设备上的要素的高级符号化渲染; 3、支持单个应用程序中多个...