Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> ArcGIS Android 10.2中API的簡化

ArcGIS Android 10.2中API的簡化

編輯:關於Android編程

ArcGIS移動產品開發包Android和iOS 10.2版於前段時間正式發布,除了眾所周知的強勁的離線支持,新版本中還有哪些激動人心的增強呢?請看“新特性系列博客”為您揭秘。

 

ArcGIS Runtime SDK for Android 10.2中有一個重大的新特性就是API的簡化,讓開發者能夠使用更少的代碼就能完成功能開發。比如,在10.2之前的版本中,加載底圖需要使用ArcGISTiledMapServiceLayer的特殊方法來指定底圖的初始化范圍、縮放等級、加載的圖層等,而在10.2新的編程模式中,通過新增的類MapOptions來預定義底圖、縮放級別、居中位置等,讓MapViews的創建過程大大簡化。

 

新增的MapOptions類

 

使用MapOptions類可以簡化創建MapView的方法,創建一個MapOptions的對象,並指定范圍、等級、居中位置等各種值,並將該對象作為參數傳入MapView的構造函數中。使用方法如下:

 

MapOptions topo = new MapOptions(MapType.TOPO, 23, -110, 9); 
MapView mMapView = new MapView(this, topo);

 

同樣的,現在可以使用MapOptions類的setMapOptions方法來輕松切換底圖:

 

MapOptions streets = new MapOptions(MapType.STREETS);
mMapView.setMapOptions(streets);

 

上述方法可以將地圖的底圖切換到STREETS類型。為了定義各個底圖的extent,開發者必須在切換底圖之前獲取地圖的范圍,並使用setOnStatusChangedListener方法來設定地圖范圍的變化:

 

Polygon extent = mMapView.getExtent();
mMapView.setMapOptions(streets);
// honor the extent when switching basemaps
mMapView.setOnStatusChangedListener(new OnStatusChangedListener() {
    private static final long serialVersionUID = 1L;
    @Override
    public void onStatusChanged(Object source, STATUS status) {
      mMapView.setExtent(extent);
    }
});

 

上面示例代碼顯示了MapOptions類在Java代碼中的用法,實際上,MapOptions類也可以在XML中使用(mapoptions屬性):

 


android:id="@+id/map"
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
mapoptions.MapType="topo" 
mapoptions.ZoomLevel="13" 
mapoptions.center="33.666354, -117.903557"/>

 

在XML中如上定義之後,在Java代碼中,只需要一句代碼即可實例化MapView:

// Retrieve the MapView, Basemap, ZoomLevel, and Center from XML layout
MapView mMapView = (MapView) findViewById(R.id.map);

 

可使用示例向導加載名為Basemaps的例子來查看全部代碼。

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved