MapView

有两种方式可以将 MapView 添加到应用当中:一个是 XML 方式,另一个是硬编码方式;一般多采用 XML
方式,方便调整布局及其属性相关设置。

1.1XML方式

<com.esri.android.map.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="match_parent">

</com.esri.android.map.MapView>

1.2硬编码方式

MapView map = new MapView(this);
map.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
tileLayer = new
ArcGISTiledMapServiceLayer("http://services.arcgisonline.com/ArcGIS/rest/services/World_Street
_Map/MapServer");
map.addLayer(tileLayer);
setContentView(map );

2.地图的缩放

2.1地图缩放,是地图中最基本的功能,MapView 提供了多种地图缩放的方式,如代码所示:

mMapView.zoomin();
mMapView.zoomout();
mMapView.zoomToResolution(centerPt, res);
mMapView.zoomToScale(centerPt, scale);

对于上面几种缩放方式,前两种主要功能是逐级缩放,调用一次 zoomin()方法地图将放大一级,调用一
次 zoomout()方法地图将缩小一级。
后两种缩放是按照不同的分辨率或比例尺进行的,调用 zoomToResolution(centerPt, res)方法进行缩放
时需要传入两个参数,第一参数 centerPt 为要按照哪个中心点进行缩放,因此需要传入一个 Point 对象才行,
第二个参数为要缩放到的分辨率;zoomToScale(centerPt, scale)和 zoomToResolution(centerPt, res)很类
似,两个方法第一个参数是相同的,而第二个参数不再是分辨率,而是传入地图的比例尺。

3.MapView 还可以设置地图的显示范围、比例尺、分辨率、旋转角度和地图背景色,如:

map = (MapView)findViewById(R.id.map);
……
Envelope env = new Envelope(12957628.58241, 4864247.2803126, 12958114.4225065, 4864490.20036087);//范围
map. setExtent(env)//设置地图显示范围
map. setScale(295828763);//当前显示的比例尺
map. setResolution(9783.93962049996);//设置当前显示的分辨率
//上面三个方法都可以改变地图的显示范围,在代码中是不会同时使用的
map.setMapBackground(0xffffffff, Color.TRANSPARENT, 0, 0);//设置地图背景
map.setAllowRotationByPinch(true); //是否允许使用Pinch方式旋转地图
map.setRotationAngle(15.0); //初始化时将地图旋转15度,参数为正时按逆时针方向旋转。

4.除了上面的功能,MapView 还有一主要的功能:“坐标转换”,这里所说的坐标转换是指,把屏幕坐标转
换成空间坐标或将空间坐标转换成屏幕坐标,示例代码如下:

//给地图添加一个点击事件监听

map.setOnSingleTapListener(new OnSingleTapListener() {
public void onSingleTap(float x, float y) {
// TODO Auto-generated method stub
Point pt = map.toMapPoint(x,y);//屏幕坐标转换成空间坐标
Point screenPoint = map. toScreenPoint(pt);//转换成屏幕坐标对象
}
});

更多关于地图控件的更多操作说明,可参考博文“ArcGIS for Android 地图控件的 5 大常见操作”,地
址:http://blog.csdn.net/arcgis_mobile/article/details/7801467

ArcGIS for Android地图控件的5大常见操作 :http://blog.csdn.net/arcgis_mobile/article/details/7801467

 

posted @ 2015-08-24 16:13  大树的BLOG  阅读(2308)  评论(0编辑  收藏  举报