平时工作中,我们接触到的地图类开发平台有很多,最常用的有高德,百度,腾讯地图。而且它们都有自己的开发者平台和文档供我们使用。基本能满足我们的业务需求。
由于公司里的项目会涉及一些地图数据统计和展示方面的需求,同时也会发布一些地图服务,所以选择了使用在地图方面比较牛逼的ArcGIS。
把平时遇到的一些问题总结一下,希望可以帮助到大家。
ArcGIS开发者平台
Android arcgis如何绘制点和线?
我是用的sdk是100.3,低版本sdk有些方法和属性在100.3中可能已经废弃不用。初始化MapView完成之后,可以直接进行添加点和线。
1.绘制点
// 创建point坐标点,****注意:Point创建的时候坐标点是先经度后维度,和高德的正好相反**** Point pointGeometry = new Point("116.50862", 31.80472, SpatialReferences.SpatialReferences.getWgs84()); // 生成一个红色圆形标识 SimpleMarkerSymbol pointSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.Style.CIRCLE, Color.RED, 10); // create graphic for point Graphic pointGraphic = new Graphic(pointGeometry); // create a graphic overlay for the point GraphicsOverlay pointGraphicOverlay = new GraphicsOverlay(); // create simple renderer SimpleRenderer pointRenderer = new SimpleRenderer(pointSymbol); pointGraphicOverlay.setRenderer(pointRenderer); // add graphic to overlay pointGraphicOverlay.getGraphics().add(pointGraphic); // add graphics overlay to the MapView mMapView.getGraphicsOverlays().add(pointGraphicOverlay);
至此就可以显示点了。
2.绘制线
/** * 画arcgis图线 * @param mPoints */ private void drawArcgisLine(PointCollection mPoints, int color) { com.esri.arcgisruntime.geometry.Polyline mPolyline = new com.esri.arcgisruntime.geometry.Polyline(mPoints);//点画线,mPoints为坐标集合 GraphicsOverlay overlay = new GraphicsOverlay(); arcMapView.getGraphicsOverlays().add(overlay); SimpleLineSymbol lineSym = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, ContextCompat.getColor(this, color), 5); Graphic graphicTrail = new Graphic(mPolyline, lineSym); overlay.getGraphics().add(graphicTrail); }
线也画成了。