zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    IntelliJ IDEA使用心得之问题篇;
    IntelliJ IDEA使用心得之Maven项目篇
    IntelliJ IDEA使用心得之非Maven项目篇
    IntelliJ IDEA使用心得之插件篇
    IntelliJ IDEA使用心得之快捷键篇
    新博客地址
    【转载】Dijkstra算法和Floyd算法的正确性证明
    【转载】最小生成树之Kruskal算法
    论自动AC机
    【转载】C++ STL priority_queue用法
  • 原文地址:https://www.cnblogs.com/weixuexi/p/4755077.html
Copyright © 2011-2022 走看看