- 浏览: 203080 次
- 性别:
- 来自: 湖南
文章分类
最新评论
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 514转载请注明出处:http:// ... -
lost android 开发教程二
2012-04-19 13:13 1923第二季课程介绍 1、控件使用方法介绍 Sprinner, ... -
android基础
2011-08-10 21:23 1060lost in android Linux 环境 ... -
3G应用开发之Android
2011-04-10 21:12 1654什么是3G 3G,全称为3rd Generation,中文含义 ... -
扫雷游戏
2011-02-25 16:32 1255MineSweeper是一个不错的Android开源扫雷游戏, ... -
应用、permission、资源
2011-02-25 13:45 1484应用 为程序添加Menu菜单 //创建OptionsMenu ... -
文件存取、数据库编程
2011-02-25 13:41 727文件存取、数据库编程 -
新版Android开发可视化UI设计DroidDraw
2011-02-24 15:16 1269新版Android开发可视化UI设计DroidDraw -
Android 基础UI编程4
2011-02-23 11:39 1404Android 基础UI编程 专业相框设计 ImageView ... -
Android UI编程基础3
2011-02-23 09:11 1088Android UI编程基础 EditText 与TextVi ... -
Android 基础UI编程2
2011-02-21 10:29 1077Android 基础UI编程 标题、状态栏的隐藏 标题栏隐藏 ... -
Android 基础UI编程1
2011-02-18 15:45 959Android 基础UI编程 更改与显示文字标签 TextVi ... -
android开发--布局
2011-02-17 16:25 1056Android应用开发3 使用Bundle在Activity间 ... -
Android 模拟器
2011-02-17 15:40 1470Android 模拟器 模拟器参数 参数格式 option 选 ... -
Android开发--Dalvik ADB
2011-02-17 10:41 1540Android虚拟机Dalvik Dalvik冲击 随着Goo ... -
Android开发环境搭建
2011-02-17 09:38 1353Android开发环境搭建 ADV的创建 ADT0.9.1 版 ... -
基础入门一
2011-02-17 09:12 1085开放手机联盟--Open HandsetAlliance 什么 ...
相关推荐
2. **创建地图对象**:使用`ArcGISMap`类创建地图对象,设置初始中心位置、缩放级别和底图。ArcGIS提供了多种预定义的底图服务,如地形、卫星等,可以通过URL加载。 3. **创建地图视图**:使用`MapView`类创建地图...
总的来说,加载天地图到ArcGIS Android应用中涉及配置开发环境、创建ArcGISMap和MapLayer对象、将图层添加到地图以及处理用户交互。通过理解和实现这个过程,你可以进一步掌握ArcGIS Android SDK的使用,以及如何...
**ArcGIS在Android应用中的详解** ArcGIS是Esri公司提供的一个全面的地理信息系统(Geographic Information System),它包括桌面、服务器和移动平台等多个版本。在Android平台上,ArcGIS提供了强大的地图服务和...
然后,使用`ArcGISMap`对象加载天地图。天地图的URL通常以"TMS"服务类型提供,可以通过`Basemap`的静态方法`createFromPortalUrl()`加载。 ```java ArcGISMap map = new ArcGISMap(Basemap.createFromPortalUrl(...
总结来说,ArcGIS for Android通过MapView、Map和LocationDisplay等组件,为开发者提供了强大而灵活的地图应用开发能力。通过上述步骤,你可以实现一个基本的具有定位和缩放功能的地图应用。当然,ArcGIS的功能远...
在Android平台上,ArcGIS是一个强大的地理信息系统(GIS)开发框架,它允许开发者构建地图应用,并进行各种空间分析操作。在“ArcGIS for Android 距离、面积测量(手动打点、自动轨迹)”这个主题中,我们将深入...
Android ArcGIS API是Esri公司为Android平台提供的地图和地理信息系统开发工具,它允许开发者在Android应用中集成复杂的地理空间功能。ArcGIS API 10.2.4是该系列的一个版本,提供了丰富的地图渲染、地理编码、地理...
3. **瓦片地图的实现**:在Java代码中,我们需要创建一个ArcGISMap对象,并指定一个TileLayer作为地图的基础层。TileLayer通常由一个URL指向的ArcGIS Online或Portal服务定义,该服务会返回地图的瓦片。 4. **地图...
在压缩包中,`AndroidMap.apk`是ArcGIS for Android应用的安装文件,用户可以将其安装到Android设备上运行。`安装说明.txt`文件通常包含了安装和配置应用的步骤及注意事项,确保正确使用和避免遇到问题。`SysFile`...
本示例项目"ArcgisMap.zip"是一个Android ArcGIS开发的实例,旨在帮助初学者理解和掌握如何在Android应用中集成和使用ArcGIS Map。 项目结构: 1. `project.properties`:这是Android项目的配置文件,包含项目的...
ArcGISMap map = new ArcGISMap(basemap); ``` 4. **初始化地图视图**: 创建 `MapView` 对象,设置 `ArcGISMap` 作为其内容,并将其添加到布局中。同时,可以通过 `setInitialViewpoint()` 方法设定初始显示的...
mapView.setMap(new ArcGISMap(Basemap.createStreetsVector())); FeatureLayer featureLayer = new FeatureLayer(new ServiceFeatureTable(new Uri("你的Feature服务URL"))); mapView.getMap()....
ArcGIS for Android 是 Esri 公司专门为 Android 平台开发的 GIS 应用开发框架,允许开发者在 Android 设备上构建地图应用。本示例主要介绍如何利用 ArcGIS for Android SDK 实现地点搜索功能,这对于地图应用来说是...
在Android开发中,ArcGIS(ArcGIS Runtime SDK for Android)是一个强大的地理信息系统库,它允许开发者构建具有地图、地理分析和空间数据管理功能的应用程序。`FeatureLayer`是ArcGIS中的核心组件之一,用于显示...
ArcGIS for Android是Esri针对移动设备,特别是Android平台,推出的一款开发工具,它允许开发者构建能够处理地理信息和地图的应用程序。在Android平台上,ArcGIS提供了丰富的API,让开发者可以轻松地集成地图功能,...
mapView.setMap(new ArcGISMap(Basemap.createStreets())); ``` ### 4. 地图操作 ArcGIS API提供了丰富的地图操作接口,包括缩放、平移、旋转等。例如: ```java mapView.getController().zoomIn(); // 缩小 ...
ArcGIS for Android 是 Esri 公司提供的一款强大的地理信息系统 (GIS) 开发框架,它允许开发者在 Android 平台上构建地图应用,集成空间分析和地理处理功能。在100.4.0版本中,ArcGIS 提供了丰富的功能更新和性能...
《ArcGIS for Android 开发教程基础版》是针对在Android平台上使用Esri的ArcGIS SDK进行地图应用开发的初学者而编写的指南。ArcGIS是一款强大的地理信息系统(Geographic Information System),它允许开发者创建、...
【ArcGIS For Android Location Demo】是一个...通过深入学习和实践ArcGIS For Android Location Demo,开发者不仅可以掌握如何在Android应用中实现地理定位,还能了解到如何结合ArcGIS SDK构建功能丰富的地图应用。
设置Map的Basemap,如BasemapType.TOPOGRAPHIC,然后加载一个ArcGISMap实例到MapView。 2. **创建FeatureTable**:从服务URL或本地Geodatabase创建FeatureTable,这是FeatureLayer的基础。 3. **创建FeatureLayer*...