最近带一帮公司的新人做一个地理信息的Android APP。采用Arcgis Runtime for Android 100.3.0开发。
有一个功能是对地图进行测距、测面积的操作。结果这帮新人搞不定这个测量的功能。为了项目进度只能我亲自出马。
我原来也没用过Arcgis Runtime for Android。只能硬着头皮一边看Arcgis 的API,一边开发了。还好花了2天时间终于把测距、测面积的功能完成并封装成一个控件。
控件的功能包括,测距、测面积、撤销、恢复、清除、完成六个功能。
测距:在地图上绘制线段进行长度测量
测面积:在地图上绘制一个面,进行面积测量
撤销:撤销到上一步绘制,只能撤销未完成的测量
恢复:恢复到下一步绘制,只能恢复未完成的测量
清除:清空测量内容并结束测量,再次点击地图时不会进行测量
完成:结束本次测量,本次测量将不能撤销和恢复,再次点击地图时将进行下一次长度测量或者面积测量
项目地址:
引用:
MeasureToolView使用
最简单的基本用法:
注意:请不要在mea(mMapView)之后给mMapView设置点击监听事件,不然会覆盖掉MeasureToolView的地图点击事件,如需要在地图点击之后做一些自己的操作,请看下面的高级用法。
以上代码将会显示默认的控件样式,下图是默认样式
MeasureToolView支持样式设置,可以设置成自己需要的样式,下图是自定义样式
MeasureToolView属性样式设置
在界面设置属性
java代码设置属性
MeasureToolView高级用法:
设置地图点击回调
设置测量工具按钮点击回调
地图点击和测量按钮点击回调同时设置
设置坐标参考系
设置测量长度单位
设置测量面积单位
测量开放接口:ArcGisMeasure
ArcGisZoomView控件均由调用ArcGisMeasure开放接口实现