关于ArcGIS Runtime SDK for Android 100.3的一些基本概念和其关系框架图(对于刚学习的小白理解其基本类接口关系有一定帮助)

关于ArcGIS Runtime SDK for Android 100.3的一些基本概念和其关系框架图(对于刚学习的小白理解其基本类接口关系有一定帮助)

ArcGIS for Android 100系列以后,其类接口的关系发生了较大的改变,比如不能再用addLayer(),而是封装到了ArcGISMap中,接下来我就来浅谈一下我的学习心得,希望对大家有所帮助。

废话少说,首先拿出我梳理的架构图吧(如果有遗留希望大佬帮我提出来)
关于ArcGIS Runtime SDK for Android 100.3的一些基本概念和其关系框架图(对于刚学习的小白理解其基本类接口关系有一定帮助)

说明

我们从结构图的左侧开始说明

  1. MapView:这是esri提供的地图容器控件,想要加载一张地图,MapView是最最必须的。
    2.一张完整的地图是由三个图层所组成的,由下至上分别为底图图层(BaseMap),业务层(OperationalLayers),图形层(GraphicsOverlay)。当然你在编写程序时可以只加载底图,只加载底图和图形层之类的也是没有问题的。BaseMap就不多解释了,就是一幅底图,例如osm。业务层就是你主要进行操作的图层,包括要素类(如FeatureLayer),栅格图等。图形层就是你自己绘制的临时图形,比如点线面等几何图形,它并不是永久的。

  2. 如果想要对底图和业务层进行操作,则就必须通过Esri新提供的ArcGISMap实例来进行操作。例如**arcGISMap.getOperationalLayers().add(featureLayer)**其中arcGISMap是ArcGISMap的一个实例。featureLayer可以是你在线加载的地图或要素服务。

  3. 还有重要的一点,你的mapView控件也必须首先添加ArcGISMap实例。如:mMapView.setMap(arcGISMap);

  4. 图形层之前也做了说明,就是你绘制的点线面临时图形,同样也需要按照上图中的结构关系向地图中添加。如 mMapView.getGraphicsOverlays().add(historyGraphicsOverlay);

  5. 渲染器的概念:就是控制你加载到地图中的图形或要素的颜色,线宽,填充色之类的属性。简单来说他就是化妆盒。渲染器也分多种,针对不同的需求可以采用合适的渲染器。渲染器的使用之后我会用单独一篇博客来说明。

  6. 图形层要想使用也必须进行实例化。例如在第上面的添加图形层代码中,historyGraphicsOverlay是需要实例化的,如:GraphicsOverlay historyGraphicsOverlay = new GraphicsOverlay();

  7. 还需要向historyGraphicsOverlay 中添加图形,就是Graphic。同样实例化Graphic,向其中添加几何图形。代码:Graphic graphic=new Graphic(point,pictureMarkerSymbol);
    historyGraphicsOverlay.getGraphics().add(historyGraphic);

  8. 最后就是几何图形的创建,以便添加到图形层中。几何图形包括点线面多点等。如下:Point point=new Point(116.308264,39.995304,SpatialReferences.getWgs84());
    以上这些只是我对整体框架的一个概述,在之后的博客中我会对其中的细节做进一步的介绍。推荐大家还是能够自己研究一下示例代码,让自己理解的也更深。

ps:这是我的第一篇博客哈,之前也整理了不少笔记,之后我会陆续发布到博客上,希望小白看了能受到一点启发,大神们看了也希望能够提出宝贵意见,啦啦啦,终于写完第一篇博客啦。