Skip to content

ArcGISMapView2D (vista plana 2D)

ArcGISMapView2D es un Composable que muestra una vista de mapa plana 2D de ArcGIS. Mientras que el ArcGISMapView estándar se basa en un SceneView 3D, ArcGISMapView2D usa el MapView 2D de ArcGIS.

Descripción general

Úsalo cuando necesites un mapa de ArcGIS especializado para visualización 2D. ArcGISMapViewState puede compartirse con el ArcGISMapView estándar y se crea con rememberArcGISMapViewState().

Firma del Composable

ArcGISMapView2D se proporciona en el módulo android-for-arcgis.

@Composable
fun 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,
)

Diferencias con ArcGISMapView

// 3D ビュー(デフォルト ArcGISMapView)
ArcGISMapView(
state = state,
modifier = Modifier.fillMaxSize(),
) { }
// 2D フラットビュー(ArcGISMapView2D)
ArcGISMapView2D(
state = state,
modifier = Modifier.fillMaxSize(),
) { }
  • Usa un MapView 2D en lugar de un SceneView 3D
  • tilt siempre queda fijo en 0, por lo que no hay inclinación 3D
  • No muestra edificios 3D ni otro contenido 3D
  • Está especializado para mapas 2D y es liviano para pantallas que no necesitan visualización 3D
  • ArcGISMapViewState puede compartirse con el ArcGISMapView estándar

Uso básico

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}")
}
) {
// マーカーや他のオーバーレイを配置できます
}

Parámetros

  • state: ArcGISMapViewState. Mantiene la posición de cámara, el diseño del mapa, el controlador y otros estados.
  • modifier: Modifier de Compose. Se usa para ajustes de layout como tamaño, márgenes y fondo.
  • markerTiling: MarkerTilingOptions?. Configuración de visualización de marcadores basada en mosaicos.
  • sdkInitialize: Función suspend usada para reemplazar el proceso de inicialización del SDK de ArcGIS.
  • onMapLoaded: Se llama cuando el mapa terminó de cargar.
  • onCameraMoveStart: Se llama cuando inicia el movimiento de la cámara.
  • onCameraMove: Se llama mientras la cámara se mueve.
  • onCameraMoveEnd: Se llama cuando termina el movimiento de la cámara.
  • onMapClick: Se llama cuando el usuario toca una parte del mapa que no es un overlay.
  • onMapLongClick: Se llama cuando el usuario mantiene presionada una parte del mapa que no es un overlay.
  • content: Bloque Composable de ArcGISMapViewScope para colocar contenido del mapa, como marcadores, polilíneas y polígonos.

Notas

En ArcGISMapView2D, tilt siempre queda fijo en 0. Aunque se especifique tilt en MapCameraPosition, el MapView 2D lo ignora y no se realiza visualización 3D ni visualización tridimensional de edificios.