安卓智能地图开发与实施九:地图缩放与旋转 - ArcGIS Runtime SDK for Android(Version 100.0.0)

移动电子地图缩放与旋转

MapView(com.esri.arcgisruntime.mapping.view.MapView)自身提供手势操作来放大、缩小、旋转。当通过按钮或者说事件来调整电子地图放大、缩小、旋转时,需要稍微调整。

安卓智能地图开发与实施九:地图缩放与旋转 - ArcGIS Runtime SDK for Android(Version 100.0.0)_第1张图片

MapView提供了和放大、缩小、旋转相关的方法如下:
setViewpointAsync:改变当前移动电子地图的视图范围
setViewpointRotationAsync:改变旋转角度
setViewpointScaleAsync:改变比例尺

安卓智能地图开发与实施九:地图缩放与旋转 - ArcGIS Runtime SDK for Android(Version 100.0.0)_第2张图片

注:当使用本地切片时,很难获取到Layer的所有Scale(比例尺),无法一级一级缩放。当然,使用在线切片地图作为基础底图时可以采用setViewpointScaleAsync方法一级一级缩放。

电子地图旋转

直接使用setViewpointScaleAsync方法。指北参数为0。

MapView mainMapView =
 (MapView) findViewById(R.id.mMapView);
mainMapView.setViewpointRotationAsync(0);

电子地图缩放

安卓智能地图开发与实施九:地图缩放与旋转 - ArcGIS Runtime SDK for Android(Version 100.0.0)_第3张图片

操作稍微有点复杂,因为没有直接的ZoomIn和ZoomOut方法。可以通过设置Viewpoint(setViewpointAsync)和Scale(setViewpointScaleAsync)来实现。使用设置Scale较为简便。

double mScale = mainMapView.getMapScale();
mainMapView.setViewpointScaleAsync(mScale*0.5);
mainMapView.setViewpointScaleAsync(mScale*2);

隐藏电子地图的网格

MapView(com.esri.arcgisruntime.mapping.view.MapView)默认提供了带有网格效果,通过其setBackgroundGrid ()方法,来设置,接收参数为
BackgroundGrid(com.esri.arcgisruntime.mapping.view.BackgroundGrid)

BackgroundGrid mainBackgroundGrid = new BackgroundGrid();
mainBackgroundGrid.setColor(0xffffffff);
mainBackgroundGrid.setGridLineColor(0xffffffff);
mainBackgroundGrid.setGridLineWidth(0);
mainMapView.setBackgroundGrid(mainBackgroundGrid);

基本的安卓程序框架

主要包括台头(ToolBar)、MapView对象、地图浮动按钮以及图层管理侧滑面板。
Android Studio已经提供了基本的控件,例如DrawerLayout、ToolBar、LinearLayout、ConstraintLayout、NavigationView等帮助我们构建一个基本的安卓程序框架。

创建空工程

安卓智能地图开发与实施九:地图缩放与旋转 - ArcGIS Runtime SDK for Android(Version 100.0.0)_第4张图片

详细步骤参考
安卓智能地图开发与实施三:创建第一个地图程序 - ArcGIS Runtime SDK for Android(Version 100.0.0)。
http://blog.csdn.net/allenlu2008/article/details/71112432

隐藏原有的ActionBar

安卓智能地图开发与实施九:地图缩放与旋转 - ArcGIS Runtime SDK for Android(Version 100.0.0)_第5张图片

添加无ActionBar样式,并在AndroidManifest.xml中指向该样式。

style.xml文件

 

    -- Base application theme. -->