有两种方式可以将 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

MapView的更多相关文章

  1. 调用百度地图API出现 error inflating class com.baidu.mapapi.map.mapview

    问题如下 本来以为解决了,但后来重新运行了一下,又坏了,然后改成原来的样子,又好了. 结果就是:对不住了各位看官,没找到解决办法,不过经测试有个地方,可能在程序运行时,出现error inflatin ...

  2. ios 手动添加mapview

    1,首先选中Build Phases ,在Link Binary With Libraries 下添加MapKit.framework框架 2,在头文件(.h文件)处添加:#import <Ma ...

  3. andriod arcgis保存Mapview为图片

    /** * 把一个View的对象转换成bitmap */ private Bitmap getViewBitmap(MapView v) { v.clearFocus(); v.setPressed( ...

  4. MapView的用法

    一.MapView 1.显示用户的位置点(用蓝色圆点标记) mapView.showsUserLocation = YES; 2.代理方法 1> 当定位到用户的位置就会调用 - (void)ma ...

  5. 解决ArcGIS Android Could not find class 'com.esri.android.map.MapView'问题

    环境win7 64bit sp1,eclipse 4.2.1 ,android API 16,ADT 23.0.2,arcgis android sdk 10.2.4 从arcgis-android- ...

  6. ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView

    原文地址: ArcGIS Runtime for Android开发教程V2.0(4)基础篇---MapView - ArcGIS_Mobile的专栏 - 博客频道 - CSDN.NET http:/ ...

  7. ArcGIS for Android 中MapView的地图背景设置

    转自:http://blog.csdn.net/wozaifeiyang0/article/details/7535704 根据多方面测速,终于解决了一个蛋疼的问题,MapView的背景设置问题. 在 ...

  8. Binary XML file : Error inflating class com.esri.android.map.MapView

    在测试esri arcgis for android的第一个程序Helloworld的时候,报这样的错: Binary XML file : Error inflating class com.esr ...

  9. Google Map Android api V2 中使用MapView遇到CameraUpdateFactory is not initialized!的解决办法

    先说一下 Map V2 API Key 的问题吧: 在打包APP时需要自己生成一个XXX.keystore 用这个密室库生成的SHA1去申请的key 作为AndroidManifest.xml 中的K ...

随机推荐

  1. PPAS上运行pg_dump经过

    目前我有两台机器, 分别已经安装了PPAS9.1,安装后建立了OS系统用户enterprisedb和数据库用户enterprisedb. 机器1:master  192.168.10.88 机器2: ...

  2. CSS规则整理

    一. 善用css缩写规则 /*注意上.右.下.左的书写顺序*/1. 关于边距(4边):1px 2px 3px 4px (上.右.下.左)1px 2px 3px (省略的左等于右)1px 2px (省略 ...

  3. Nginx (基于linux)综合

    重启Nginx服务:centos:测试NGINX配置文件是否有效:/usr/local/nginx/sbin/nginx -t 平滑重启:/usr/local/nginx/sbin/nginx -s  ...

  4. Java数据结构之线性表(2)

    从这里开始将要进行Java数据结构的相关讲解,Are you ready?Let's go~~ java中的数据结构模型可以分为一下几部分: 1.线性结构 2.树形结构 3.图形或者网状结构 接下来的 ...

  5. 玩转iOS开发 - 多线程开发

    前言 本文主要介绍iOS多线程开发中使用的主要技术:NSOperation, GCD. NSThread, pthread. 内容依照开发中的优先推荐使用的顺序进行介绍,涉及多线程底层知识比較多的NS ...

  6. IOS 7 Study - Displaying an Image on a Navigation Bar

    ProblemYou want to display an image instead of text as the title of the current view controlleron th ...

  7. Android操作联系人 android开发教程

    Android系统中的联系人也是通过ContentProvider来对外提供数据的,我们这里实现获取所有联系人.通过电话号码获取联系人.添加联系人.使用事务添加联系人. 获取所有联系人 1. Andr ...

  8. 【JavaScript】AJAX教程

    AJAX = Asynchronous JavaScript and XML (异步的JavaScript和XML). AJAX是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下. ...

  9. [Angular 2] Set Properties on Dynamically Created Angular 2 Components

    When you generate Angular 2 components, you’re still able to access the component instance to set pr ...

  10. android安卓最新快捷环境搭建(转)

    现在很多视频和文章上的安卓环境搭建还是比较老的,挺麻烦.现在写快速方便的搭建: 一.下载JDK: 网址:http://www.oracle.com/technetwork/java/javase/do ...