一天学会ArcGIS Android开发——离线图层加载,加载坐标点和线符号

我都研三了,发现自己现在什么杂活都干,这让我感到非常的绝望。我多么希望自己在某方面是专家,精通某一门语言,然而事实是残酷的,以至于我很后悔读了研究生,全跑外面干杂活了,我毕业还能找到工作吗???

1.所有API,SDK的学习都是从阅读官方的开发文档开始的。。。。

推荐阅读ArcGIS Runtime SDK for Android-第一个地图应用https://blog.csdn.net/qingjianduoyun/article/details/79288227

我没有使用genymotion等安卓模拟器,直接数据线连得手机开发者模式

 

2. 学习根据坐标值,添加点符号

建议阅读博客——ArcGIS Runtime SDK for Android 入门(8):通过SimpleMarkerSymbol创建点符号https://blog.csdn.net/Smart3S/article/details/81057272

// 创建一个新的GraphicsOverlay并把它添加到Mapview中
        GraphicsOverlay graphicsOverlay = new GraphicsOverlay();
        mMapView.getGraphicsOverlays().add(graphicsOverlay);

        //创建simple marker symbol用于符号创建
        SimpleMarkerSymbol symbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 12); //size 12, style of circle
        //通过一个新的几何点对象添加一个新的Graphic(图形)
        Point graphicPoint = new Point(34.056295, -117.195800);
        Graphic graphic = new Graphic(graphicPoint, symbol);
        graphicsOverlay.getGraphics().add(graphic);

 

3.学习按照坐标加载线

这一次查看官方文档的实例代码

//Create polyline geometry
PointCollection polylinePoints = new PointCollection(SpatialReferences.getWgs84());
polylinePoints.add(new Point(-118.29026, 34.1816));
polylinePoints.add(new Point(-118.26451, 34.09664));
Polyline polyline = new Polyline(polylinePoints);

//Create symbol for polyline
SimpleLineSymbol polylineSymbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, Color.BLUE, 3.0f);

//Create a polyline graphic with geometry and symbol
Graphic polylineGraphic = new Graphic(polyline, polylineSymbol);

//Add polyline to graphics overlay
graphicsOverlay.getGraphics().add(polylineGraphic);

5.学习加载离线地图

使用ArcGIS Destop制作离线地图切片包.tpk

使用工具箱——数据管理工具——打包——创建地图切片包

容易报错没有描述。记得在地图文档属性中加入描述,并保存后生成tpk

 生成好地图好,学习加载tpk地图包。

String theOfflineTiledLayers = "/sdcard/floorone.tpk";
            MapView = (MapView) findViewById(R.id.mapView);
            TileCache mainTileCache = new TileCache(theOfflineTiledLayers);
            ArcGISTiledLayer mainArcGISTiledLayer = new ArcGISTiledLayer(mainTileCache);
            Basemap mainBasemap = new Basemap(mainArcGISTiledLayer);
            ArcGISMap mainArcGISMap = new ArcGISMap(mainBasemap);
            MapView.setMap(mainArcGISMap);

如果你本来图的范围很小,你又切11层,就会出现我现在的情况

猜你喜欢

转载自blog.csdn.net/qq_912917507/article/details/82957855
今日推荐