ArcGISMapView2D(2D フラットビュー)
ArcGISMapView2D は ArcGIS の 2D フラット地図ビューを表示する Composable です。
通常の ArcGISMapView が 3D SceneView ベースであるのに対し、ArcGISMapView2D は ArcGIS の 2D MapView を使用します。
概要
2D 表示に特化した ArcGIS マップが必要な場合に使用します。ArcGISMapViewState は通常の ArcGISMapView と共用でき、rememberArcGISMapViewState() で生成します。
Composable シグネチャ
ArcGISMapView2D は android-for-arcgis モジュールで提供されます。
@Composablefun ArcGISMapView2D( state: ArcGISMapViewState, modifier: Modifier = Modifier, markerTiling: MarkerTilingOptions? = null, sdkInitialize: (suspend (android.content.Context) -> Boolean)? = null, onMapLoaded: OnMapLoadedHandler? = null, onCameraMoveStart: OnCameraMoveHandler? = null, onCameraMove: OnCameraMoveHandler? = null, onCameraMoveEnd: OnCameraMoveHandler? = null, onMapClick: OnMapEventHandler? = null, onMapLongClick: OnMapEventHandler? = null, content: (@Composable ArcGISMapViewScope.() -> Unit)? = null,)ArcGISMapView との違い
// 3D ビュー(デフォルト ArcGISMapView)ArcGISMapView( state = state, modifier = Modifier.fillMaxSize(),) { }
// 2D フラットビュー(ArcGISMapView2D)ArcGISMapView2D( state = state, modifier = Modifier.fillMaxSize(),) { }- 3D
SceneViewの代わりに 2DMapViewを使用します tiltは常に0に固定され、3D 傾斜はありません- 建物などの 3D 表示は行いません
- 2D マップに特化しており、3D 表示が不要な画面で軽量に扱えます
ArcGISMapViewStateは通常のArcGISMapViewと共用できます
基本的な使い方
val state = rememberArcGISMapViewState( mapDesign = ArcGISDesign.Streets, cameraPosition = MapCameraPosition( position = GeoPoint(35.68, 139.76), zoom = 12.0, ))
ArcGISMapView2D( state = state, modifier = Modifier.fillMaxSize(), onMapLoaded = { println("2D マップ読み込み完了") }, onMapClick = { geoPoint -> println("タップ: ${geoPoint.latitude}, ${geoPoint.longitude}") }) { // マーカーや他のオーバーレイを配置できます}パラメータ
state:ArcGISMapViewState。カメラ位置、地図デザイン、コントローラなどを保持します。modifier: Compose のModifier。サイズ、余白、背景などのレイアウト指定に使います。markerTiling:MarkerTilingOptions?。マーカー表示のタイル化設定です。sdkInitialize: ArcGIS SDK の初期化処理を差し替えるための suspend 関数です。onMapLoaded: 地図の読み込みが完了したときに呼び出されます。onCameraMoveStart: カメラ移動が開始されたときに呼び出されます。onCameraMove: カメラ移動中に呼び出されます。onCameraMoveEnd: カメラ移動が終了したときに呼び出されます。onMapClick: ユーザーがマップ上のオーバーレイではない部分をタップしたときに呼び出されます。onMapLongClick: ユーザーがマップ上のオーバーレイではない部分を長押ししたときに呼び出されます。content: マーカー、ポリライン、ポリゴンなどの地図コンテンツを配置するArcGISMapViewScopeの Composable ブロックです。
注意事項
ArcGISMapView2D では tilt は常に 0 に固定されます。MapCameraPosition に tilt を指定しても 2D MapView では無視され、3D 表示や建物の立体表示は行われません。