よりシンプルに ~ArcGIS Runtime SDK for Android~

ArcGIS Runtime SDK for Android は幾度もバージョンアップを重ね、今現在も進歩し続けている Android マッピング アプリケーションの開発キットです。その中でも今回は API の新機能ではなく、改善に焦点を当ててご紹介します。10.2 以降の改善でよりシンプルに地図表示ができるようになりました。

1

MapOptions クラスおよび mapoption 属性を使ったプログラムの簡易化

10.2 以降導入された新しい API では ArcGIS Online のベースマップを利用する場合に、MapView(マップを表示するための UI コンポーネント)をより簡単に作成できるようになりました。

以前の API では、画面レイアウト(XML)ファイルで初期表示範囲(Xmin,Ymin,Xmax,Ymax)を指定したり、

initExtent = "15554860 4255318 15562198 4258710"

Java ファイルでレイヤを追加したりする必要がありました。

// クラスのインポート
import com.esri.android.map.MapView;
import com.esri.android.map.ags.ArcGISTiledMapServiceLayer;
…
// マップ表示 UI コンポーネントの変数宣言
MapView mMapView;
…
// 画面レイアウト ファイルから初期表示範囲を取得
mMapView = (MapView)findViewById(R.id.map);
// MapView にレイヤを追加
mMapView.addLayer(new ArcGISTiledMapServiceLayer
("http://services.arcgisonline.com/arcgis/rest/services/World_Street_Map/MapServer"));


新しい API で MapOptions クラスを使用すれば緯度経度による地図の中心やズームレベル、ベースマップの種類などをあらかじめ定義した MapView が簡単にインスタンス化できます。

MapOptions topo = new MapOptions(MapType.TOPO, 35.6810, 139.7671, 15);
MapView mMapView = new MapView(this, topo);


また Java で実装せずに mapoptions 属性を用いた 画面レイアウト(XML)ファイルで MapOptions を MapView に割り当てることも可能です。

<!-- MapView に MapOptions(地形図(ベースマップ)、ズームレベル、地図の中心)を割り当てる -->
<com.esri.android.map.MapView
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
mapoptions.MapType="topo"
mapoptions.ZoomLevel="15"
mapoptions.center="35.6810, 139.7671"/>


いかがでしたか?今回ご紹介したのは非常に簡単な一例です。このように ArcGIS Runtime SDK for Android は、よりシンプルに、開発しやすいよう進化しています。
今後のバージョンアップもぜひご期待ください。

関連リンク

ESRIジャパン Web サイト:http://www.esrij.com/products/arcgis-runtime-sdk-for-android/
ArcGIS Runtime SDK for Android:https://developers.arcgis.com/android/