你的位置:首页 > 软件开发 > 操作系统 > ArcGIS for Android地图控件的5大常见操作转

ArcGIS for Android地图控件的5大常见操作转

发布时间:2016-02-18 23:00:23
http://blog.csdn.net/arcgis_mobile/article/details/7801467 GIS的开发中,什么时候都少不了地图操作。ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGr ...

ArcGIS for Android地图控件的5大常见操作转

http://blog.csdn.net/arcgis_mobile/article/details/7801467

 

GIS的开发中,什么时候都少不了地图操作。ArcGIS for Android中,地图组件就是MapView,MapView是基于Android中ViewGroup的一个类(参考),也是ArcGIS Runtime SDK for Android中的地图容器,与很多ArcGIS API中的Map、MapControl类的作用是一样的。

    地图常见的操作有缩放、旋转、平移、获取范围、比例尺、分辨率等信息,以及常用的手势操作,其中,经常使用到的功能和常见问题有以下几个:

1)将地图缩放到指定的比例尺/分辨率/级别;

2)设置地图的最大最小缩放级别;

3)获取地图上某点的经纬度坐标;

4)地图的手势操作;

5)地图无法显示。

    下面内容会为您详细解答以上问题。

 

1、获取/设置比例尺、分辨率、中心点、范围;

    ArcGIS forAndroid中,MapView具有很多与地图操作有关的方法,其中,与地图的比例尺、分辨率、中心点、范围有关的方法如下:

 

获取/设置地图的中心点、范围、分辨率、比例尺

返回类型

方法

说明

Void

centerAt(Point centerPt, Boolean animated)

将地图居中到指定的点

Point

getCenter()

获取地图中心点

Polygon

getExtent()

获取地图最小外包矩形

Envelope

getMapBoundaryExtent()

获取地图的边界

Void

setExtent(Geometry geometry)

将地图放大到指定的范围,并将该geometry的bound作为地图当前的extent

Void

setExtent(Geometry geometry, int padding)

将地图放大到指定的geometry以便geometry适应地图的bound

Double

getMaxResolution()

获取地图最大分辨率

Void

setMaxResolution(double maxResolution)

设置地图最大分辨率

Double

getMinResolution()

获取地图最小分辨率

Void

setMinResolution(double minResolution)

设置地图最小分辨率

Double

getResolution()

获取当前地图分辨率

Void

setResolution(double res)

设置当前地图分辨率

Double

getScale()

获取当前地图比例尺

Void

setScale(double scale)

设置当前地图比例尺

    

    要获取/设置地图的比例尺、初始分辨率、范围、中心点等信息,直接使用上述方法即可,非常简单,在此不赘述,示例代码如下:

map.setScale(18489297.737236);//设置地图初始化时的比例尺;

map.setAllowRotationByPinch(true);//设置是否允许地图通过pinch方式旋转;

map.setRotationAngle(15.0);//设置地图的旋转角度;

……

 

2、地图缩放、平移和旋转;

在初始化时将地图设定为某种级别(找到该级别对应的分辨率、比例尺):

         map.setResolution(该级别对应的分辨率); 

 至于如何获取当前地图等级,没办法,先获取resolution,然后去rest服务目录中对照取其级别吧。

 

2.4 旋转地图

    可以使用setRotationAngle(double degree)和setRotationAngle(doubledegree, float pivotX, float pivotY)来实现将地图旋转一定的角度,要实现通过手势进行旋转,需要通过setOnPinchListener(OnPinchListener onPinchListener)监听来实现。如:

 

public void onCreate(Bundle savedInstanceState, OnPinchListener onPinchListener) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

 

map = (MapView)findViewById(R.id.map);

……

map.setAllowRotationByPinch(true); //是否允许使用Pinch方式旋转地图

map.setRotationAngle(15.0); //初始化时将地图旋转15度,参数为正时按逆时针方向旋转。

}


原标题:ArcGIS for Android地图控件的5大常见操作转

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录