ArcGIS Android图层切换

1.重点学习一下图层切换,接下来我需要用的。

2.原理:实际上图层切换好像没什么难度,只要写几个按钮或者其他的事件,通过触发事件切换地图

3.按钮的代码 布局xml

<Button
        android:id="@+id/buttonStart"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginTop="175dp"
        android:onClick="buttonStart_Click"
        android:text="F1" />

    <Button
        android:id="@+id/buttonEnd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/buttonStart"
        android:layout_marginTop="1dp"
        android:onClick="buttonEnd_Click"
        android:text="F2" />

    <Button
        android:id="@+id/buttonVia"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/buttonEnd"
        android:layout_marginTop="1dp"
        android:onClick="buttonVia_Click"
        android:text="F3" />

按钮函数代码

 m_btnStart = (Button)findViewById(R.id.buttonStart);
        m_btnEnd = (Button)findViewById(R.id.buttonEnd);
        m_btnVia = (Button)findViewById(R.id.buttonVia);
//起点按钮事件
    public void buttonStart_Click(View view)
    {
    	你想要做的事
    }

4.切换地图的函数

public void buttonStart_Click(View view)
    {
        String theOfflineTiledLayers = "/sdcard/floorone.tpk";
        MapView = (MapView) findViewById(R.id.mapView);
        TileCache mainTileCache = new TileCache(theOfflineTiledLayers);
        ArcGISTiledLayer mainArcGISTiledLayer = new ArcGISTiledLayer(mainTileCache);
        Basemap mainBasemap = new Basemap(mainArcGISTiledLayer);
        ArcGISMap mainArcGISMap = new ArcGISMap(mainBasemap);
        MapView.setMap(mainArcGISMap);
    }
    public void buttonEnd_Click(View view)
    {
        String theOfflineTiledLayers = "/sdcard/floortwo.tpk";
        MapView = (MapView) findViewById(R.id.mapView);
        TileCache mainTileCache = new TileCache(theOfflineTiledLayers);
        ArcGISTiledLayer mainArcGISTiledLayer = new ArcGISTiledLayer(mainTileCache);
        Basemap mainBasemap = new Basemap(mainArcGISTiledLayer);
        ArcGISMap mainArcGISMap = new ArcGISMap(mainBasemap);
        MapView.setMap(mainArcGISMap);
    }
    public void buttonVia_Click(View view)
    {
        String theOfflineTiledLayers = "/sdcard/floorthree.tpk";
        MapView = (MapView) findViewById(R.id.mapView);
        TileCache mainTileCache = new TileCache(theOfflineTiledLayers);
        ArcGISTiledLayer mainArcGISTiledLayer = new ArcGISTiledLayer(mainTileCache);
        Basemap mainBasemap = new Basemap(mainArcGISTiledLayer);
        ArcGISMap mainArcGISMap = new ArcGISMap(mainBasemap);
        MapView.setMap(mainArcGISMap);
    }

最终效果

猜你喜欢

转载自blog.csdn.net/qq_912917507/article/details/82959878