`

android arcgis map应用

 
阅读更多
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);//为图层设置渲染 
分享到:
评论

相关推荐

    Android_ArcGisMap

    2. **创建地图对象**:使用`ArcGISMap`类创建地图对象,设置初始中心位置、缩放级别和底图。ArcGIS提供了多种预定义的底图服务,如地形、卫星等,可以通过URL加载。 3. **创建地图视图**:使用`MapView`类创建地图...

    arcgis android 100.2 加载天地图

    总的来说,加载天地图到ArcGIS Android应用中涉及配置开发环境、创建ArcGISMap和MapLayer对象、将图层添加到地图以及处理用户交互。通过理解和实现这个过程,你可以进一步掌握ArcGIS Android SDK的使用,以及如何...

    ArcGIS在Android的应用

    **ArcGIS在Android应用中的详解** ArcGIS是Esri公司提供的一个全面的地理信息系统(Geographic Information System),它包括桌面、服务器和移动平台等多个版本。在Android平台上,ArcGIS提供了强大的地图服务和...

    Android 通过 Arcgis 加载天地图

    然后,使用`ArcGISMap`对象加载天地图。天地图的URL通常以"TMS"服务类型提供,可以通过`Basemap`的静态方法`createFromPortalUrl()`加载。 ```java ArcGISMap map = new ArcGISMap(Basemap.createFromPortalUrl(...

    ArcGIS for Android实现定位、放大缩小功能

    总结来说,ArcGIS for Android通过MapView、Map和LocationDisplay等组件,为开发者提供了强大而灵活的地图应用开发能力。通过上述步骤,你可以实现一个基本的具有定位和缩放功能的地图应用。当然,ArcGIS的功能远...

    Arcgis For Android 距离、面积测量(手动打点、自动轨迹)

    在Android平台上,ArcGIS是一个强大的地理信息系统(GIS)开发框架,它允许开发者构建地图应用,并进行各种空间分析操作。在“ArcGIS for Android 距离、面积测量(手动打点、自动轨迹)”这个主题中,我们将深入...

    android arcgis api

    Android ArcGIS API是Esri公司为Android平台提供的地图和地理信息系统开发工具,它允许开发者在Android应用中集成复杂的地理空间功能。ArcGIS API 10.2.4是该系列的一个版本,提供了丰富的地图渲染、地理编码、地理...

    应用于android系统的基于ArcGis服务的瓦片地图的初级实现(JAVA编写,本人源码)

    3. **瓦片地图的实现**:在Java代码中,我们需要创建一个ArcGISMap对象,并指定一个TileLayer作为地图的基础层。TileLayer通常由一个URL指向的ArcGIS Online或Portal服务定义,该服务会返回地图的瓦片。 4. **地图...

    arcgis for android通用终端采集项目

    在压缩包中,`AndroidMap.apk`是ArcGIS for Android应用的安装文件,用户可以将其安装到Android设备上运行。`安装说明.txt`文件通常包含了安装和配置应用的步骤及注意事项,确保正确使用和避免遇到问题。`SysFile`...

    ArcgisMap.zip

    本示例项目"ArcgisMap.zip"是一个Android ArcGIS开发的实例,旨在帮助初学者理解和掌握如何在Android应用中集成和使用ArcGIS Map。 项目结构: 1. `project.properties`:这是Android项目的配置文件,包含项目的...

    arcgis for Android 加载天地图

    ArcGISMap map = new ArcGISMap(basemap); ``` 4. **初始化地图视图**: 创建 `MapView` 对象,设置 `ArcGISMap` 作为其内容,并将其添加到布局中。同时,可以通过 `setInitialViewpoint()` 方法设定初始显示的...

    Arcgis for android实现弹框查询属性表数据

    mapView.setMap(new ArcGISMap(Basemap.createStreetsVector())); FeatureLayer featureLayer = new FeatureLayer(new ServiceFeatureTable(new Uri("你的Feature服务URL"))); mapView.getMap()....

    ArcGIS for Android的地点搜索示例

    ArcGIS for Android 是 Esri 公司专门为 Android 平台开发的 GIS 应用开发框架,允许开发者在 Android 设备上构建地图应用。本示例主要介绍如何利用 ArcGIS for Android SDK 实现地点搜索功能,这对于地图应用来说是...

    android arcgis featureLayer查询

    在Android开发中,ArcGIS(ArcGIS Runtime SDK for Android)是一个强大的地理信息系统库,它允许开发者构建具有地图、地理分析和空间数据管理功能的应用程序。`FeatureLayer`是ArcGIS中的核心组件之一,用于显示...

    arcgis for android jar包以及api文档

    ArcGIS for Android是Esri针对移动设备,特别是Android平台,推出的一款开发工具,它允许开发者构建能够处理地理信息和地图的应用程序。在Android平台上,ArcGIS提供了丰富的API,让开发者可以轻松地集成地图功能,...

    ArcGIS-API-for-Android.rar_Android arcgis_ArcGIS API_android_arc

    mapView.setMap(new ArcGISMap(Basemap.createStreets())); ``` ### 4. 地图操作 ArcGIS API提供了丰富的地图操作接口,包括缩放、平移、旋转等。例如: ```java mapView.getController().zoomIn(); // 缩小 ...

    ArcGIS for Android 100.4.0示例完整源码_AS3.3.2

    ArcGIS for Android 是 Esri 公司提供的一款强大的地理信息系统 (GIS) 开发框架,它允许开发者在 Android 平台上构建地图应用,集成空间分析和地理处理功能。在100.4.0版本中,ArcGIS 提供了丰富的功能更新和性能...

    ArcGIS+for+Android 开发教程基础版

    《ArcGIS for Android 开发教程基础版》是针对在Android平台上使用Esri的ArcGIS SDK进行地图应用开发的初学者而编写的指南。ArcGIS是一款强大的地理信息系统(Geographic Information System),它允许开发者创建、...

    ArcGIS For Android Location Demo

    【ArcGIS For Android Location Demo】是一个...通过深入学习和实践ArcGIS For Android Location Demo,开发者不仅可以掌握如何在Android应用中实现地理定位,还能了解到如何结合ArcGIS SDK构建功能丰富的地图应用。

    ArcGIS for Android 获取FeatureLayer的图例

    设置Map的Basemap,如BasemapType.TOPOGRAPHIC,然后加载一个ArcGISMap实例到MapView。 2. **创建FeatureTable**:从服务URL或本地Geodatabase创建FeatureTable,这是FeatureLayer的基础。 3. **创建FeatureLayer*...

Global site tag (gtag.js) - Google Analytics