开源地址:https://github.com/roomanl/ArcgisTool
封装Arcgis Runtime for Android 100.6.0地图基本操作。
包括:测量工具控件及测量接口,放大缩小控件及放大缩小接口,地图旋转控件及地图旋转接口,图形绘制接口。
项目引用:
implementation 'com.github.roomanl:ArcgisTool:1.9'
效果:
控件的功能包括,测距、测面积、撤销、恢复、清除、完成六个功能。
测距:在地图上绘制线段进行长度测量
测面积:在地图上绘制一个面,进行面积测量
撤销:撤销到上一步绘制,只能撤销未完成的测量
恢复:恢复到下一步绘制,只能恢复未完成的测量
清除:清空测量内容并结束测量,再次点击地图时不会进行测量
完成:结束本次测量,本次测量将不能撤销和恢复,已绘制的图形不会被清除,如需进行下一段测量请再次点击测距或测面积按钮
图形绘制控件包括:矩形、圆形、清除3个功能。
圆形:在地图上点两个点,以这两个点的距离为半径绘制一个圆
矩形:在地图上点两个点,以这两个点为对角线绘制一个矩形
清除:清除所有绘制的图形
V1.9版本相比上篇文章的版本更新内容如下:
1、新增ArcgisToolManager类,用此类来统一管理MeasureToolView,JAVA设置属性修改为用ArcgisToolManager类链式调用设置。
设置控件属性的API和以前不变只是改成链式调用设置。具体看开源文档说明。
2、修复测量结果偏大的BUG。
BUG产生原因:用错API了,原来使用平面测量的API去了。现在已经改成大地测量API
3、新增图形绘制控件(圆形、矩形)
圆形:在地图上点两个点,以这两个点的距离为半径绘制一个圆
矩形:在地图上点两个点,以这两个点为对角线绘制一个矩形
清除:清除所有绘制的图形
图形绘制控件使用:
界面代码
java代码
DrawGraphView drawGraphView=findViewById(R.id.arcgis_draw_tool); arcgisToolManager.builderDrawGraphView(drawGraphView)
属性设置
arcgisToolManager.builderDrawGraphView(drawGraphView) .setButtonWidth(60)//设置每一个按钮宽度;默认35 .setButtonHeight(40)//设置每一个按钮高度;默认35 .setBackground(R.color.colorAccent)//设置整个控件背景,默认白色圆角矩形 .setSohwText(true)//是否显示文字;默认false .setFontSize(12)//设置文字大小;默认12dp .setFontColor(R.color.color444);//设置字体颜色,默认#808080
这篇文章只说更新内容。
开源项目更加详细说明请阅读我前面的文章《Android开发自定义控件,实现Arcgis for Android测距、测面积功能》或者点击文章末尾的“了解更多”查看详细文档。