将图形叠加添加到地图视图

  1. 在文件app > java > {your.package.name} > MainActivity.java中,创建一个新的成员变量来保存对图形叠加层的引用。您将使用此图形叠加层作为容器在地图上显示点,线和多边形。

    private GraphicsOverlay mGraphicsOverlay;
    
  2. 创建一个名为的新成员函数createGraphicsOverlay。在其中,创建一个GraphicsOverlay对象,将其分配给成员变量,并将其添加到地图视图中。

    private void createGraphicsOverlay() {mGraphicsOverlay = new GraphicsOverlay();mMapView.getGraphicsOverlays().add(mGraphicsOverlay);
    }
    

添加点图形

  1. 将点图形添加到图形叠加层。创建一个名为的新成员函数createPointGraphics。在新函数内部,创建点几何和标记符号,然后将这些符号分配给图形。然后将图形添加到图形叠加层。将图形叠加添加到地图视图中的叠加集合后,添加以下代码。

     private void createPointGraphics() {Point point = new Point(-118.69333917997633, 34.032793670122885, SpatialReferences.getWgs84());SimpleMarkerSymbol pointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.rgb(226, 119, 40), 10.0f);pointSymbol.setOutline(new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 2.0f));Graphic pointGraphic = new Graphic(point, pointSymbol);mGraphicsOverlay.getGraphics().add(pointGraphic);}
    

添加折线图

  1. 要绘制到地图的线图,请创建一个名为的新成员函数createPolylineGraphics。在新函数内部,从点集合和线符号创建线几何,然后将它们分配给新图形。将图形添加到图形叠加层。

     private void createPolylineGraphics() {PointCollection polylinePoints = new PointCollection(SpatialReferences.getWgs84());polylinePoints.add(new Point(-118.67999016098526, 34.035828839974684));polylinePoints.add(new Point(-118.65702911071331, 34.07649252525452));Polyline polyline = new Polyline(polylinePoints);SimpleLineSymbol polylineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 3.0f);Graphic polylineGraphic = new Graphic(polyline, polylineSymbol);mGraphicsOverlay.getGraphics().add(polylineGraphic);}
    

添加多边形图形

  1. 添加多边形图形。创建一个名为的新成员函数createPolygonGraphics。在新函数内部,从点集合和填充符号创建多边形几何,然后将这些几何分配给多边形图形。将图形添加到图形叠加层。

     private void createPolygonGraphics() {PointCollection polygonPoints = new PointCollection(SpatialReferences.getWgs84());polygonPoints.add(new Point(-118.70372100524446, 34.03519536420519));polygonPoints.add(new Point(-118.71766916267414, 34.03505116445459));polygonPoints.add(new Point(-118.71923322580597, 34.04919407570509));polygonPoints.add(new Point(-118.71631129436038, 34.04915962906471));polygonPoints.add(new Point(-118.71526020370266, 34.059921300916244));polygonPoints.add(new Point(-118.71153226844807, 34.06035488360282));polygonPoints.add(new Point(-118.70803735010169, 34.05014385296186));polygonPoints.add(new Point(-118.69877903513455, 34.045182336992816));polygonPoints.add(new Point(-118.6979656552508, 34.040267760924316));polygonPoints.add(new Point(-118.70259112469694, 34.038800278306674));polygonPoints.add(new Point(-118.70372100524446, 34.03519536420519));Polygon polygon = new Polygon(polygonPoints);SimpleFillSymbol polygonSymbol = new SimpleFillSymbol(SimpleFillSymbol.Style.SOLID, Color.rgb(226, 119, 40),new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 2.0f));Graphic polygonGraphic = new Graphic(polygon, polygonSymbol);mGraphicsOverlay.getGraphics().add(polygonGraphic);}
    

把它们放在一起

  1. 创建一个新的成员函数来组装新图形,首先创建图形叠加,然后调用每个创建图形函数。

    private void createGraphics() {createGraphicsOverlay()createPointGraphics()createPolylineGraphics()createPolygonGraphics()
    }
    
  2. 更新onCreate()后调用新createGraphics()函数setupMap()

    protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mMapView = findViewById(R.id.mapView);setupMap();// ** ADD **createGraphics();
    }
    
  3. 按Control-R在模拟器中运行应用程序。您应该看到多边形图形轮廓佩珀代因大学校园,马里布海滩上的一个点,以及从海滩到山脉的线段。

恭喜你,你已经完成了!

ArcGis显示点,线,和多边形相关推荐

  1. ArcGIS两种线简化算法和建筑物综合(面的简化和建筑物聚合)的参数计算方法

    ArcGIS两种线简化算法和建筑物综合(面的简化和建筑物聚合)的参数计算方法 文章目录 ArcGIS两种线简化算法和建筑物综合(面的简化和建筑物聚合)的参数计算方法 1.问题描述 2.参数计算 2.1 ...

  2. arcgis不闭合线转面_ArcGIS线转面的方法

    ArcGIS作为GIS软件中的龙头老大,其功能是非常强大的,但是如果作为一个初学者,其部分常用的重要功能不容易掌握,今天就讲一讲在矢量化时非常重要的功能:线转面. ArcGIS在进行大范围的矢量化时一 ...

  3. arcgis多面体要素转面_【干货】ArcGIS 9.3线转面的方法

    原标题:[干货]ArcGIS 9.3线转面的方法 ArcGIS作为GIS软件中的常用软件,其功能是非常强大的,但是如果作为一个初学者,其部分常用的重要功能不容易掌握,今天就讲一讲在矢量化时非常重要的功 ...

  4. 【sketchup 2021】草图大师的基础使用【矩形与橡皮擦、直线与圆、手绘线与多边形、圆形与扇形、推拉工具】

    文章目录 矩形与橡皮擦 矩形普通使用 矩形进阶使用[画立面和分割面] 擦除 连续擦除 选中后不想删除了... 隐藏/显示边线 柔化边线/取消柔化 另一种擦除:删除 直线与圆 直线工具 鼠标绘制 默认绘 ...

  5. 如何使用ArcGIS生成山谷线

    ​​(本文首发于"水经注GIS"公号,关注公号免费领取地图数据) 1.概述 地形特征线是地貌图形的"骨架",山脊线和山谷线作为非常重要的地形特征线,在制图综合. ...

  6. python根据坐标点画线_Openlayers 根据坐标点画点线圆多边形

    根据坐标点画点线圆多边形,代码如下 Geometry type Point LineString Polygon Circle None Bezier 绘制 绘制圆形 绘制线段 绘制多边形 绘制单个点 ...

  7. Openlayers 根据坐标点画点线圆多边形

    根据坐标点画点线圆多边形,代码如下 Geometry type   Point LineString Polygon Circle None Bezier 绘制 绘制圆形 绘制线段 绘制多边形 绘制单 ...

  8. ArcGIS点、线、面状符号制作「制图入门(二)」

    ArcGIS点.线.面状符号制作「制图入门(二)」 上期回顾:ArcGIS地图制图入门(一) 目的: 1.理解点状符号.线状符号.面状符号的基本概念: 2.理解地形点状符号.线状符号.面状符号在地图可 ...

  9. vs代码显示波浪线,但没编译错误

    参考:https://blog.csdn.net/everrisky/article/details/55833396 vs2015打开cocos2dx-3.14自带项目,代码显示波浪线,但没编译错误 ...

最新文章

  1. Python 实现机器学习前后端页面的交互
  2. Android - TextureView, SurfaceView和GLSurfaceView 以及 SurfaceTexture
  3. 微信公众平台开发(55)刮刮乐
  4. Codeforces Beta Round #7 C. Line (扩展欧几里德)
  5. showmodaldialog 为什么不能复制_防复制的门禁读头可以防止UID和FUID读卡器
  6. LeetCode - Easy - 696. Count Binary Substrings
  7. 130个你需要了解的VIM命令
  8. Apollo应用接入
  9. javascript匿名函数及闭包深入理解及应用
  10. MongoDB学习笔记~官方驱动的原生Curd操作
  11. sublime text3 python找不到文件路径_如何在sublime3 项目设置中设置 python 解释器的路径?...
  12. 从零基础入门Tensorflow2.0 ----四、12. tf_data基础api使用
  13. ARINC615-3 与 ARINC844 PART2 协议解析 思维导图
  14. 关于csgo的观看录像fps低_CSGO如何设置视频选项高FPS
  15. R语言实现 懒惰学习——使用近邻分类
  16. 详解@Resource解析过程
  17. Element系列之阻止el-switch冒泡事件
  18. 力扣(LeetCode)怎么刷题,以排序算法为例
  19. 【笔记】AASTeX模板使用
  20. P5195 [USACO05DEC]Knights of Ni S

热门文章

  1. 智慧城市UE4 奥特曼教程
  2. 秋日公园--公园一角1
  3. vim显示行号的设置方法
  4. 小猪佩奇源码码,用Python写一个小猪佩奇
  5. 错误处理 宏 c语言,C语言零基础教程之预处理和宏定义篇
  6. Microbiome综述:脊椎动物的皮肤微生物
  7. 如何向Salesforce Support提Case
  8. Pytorch学习笔记——fan_in和fan_out
  9. CRM客户管理系统哪个好用?盘点前十名!
  10. Flutter Sliver大家族之SliverPersistentHeader()和SliverToBoxAdapter()组件(实现固定头布局)③