Introducci贸n a la Integraci贸n Nativa en Android
Integra APIs Nativas en Android
Creaci贸n proyecto base
Google Maps SDK
C贸mo crear una API key para Google Maps en Google Cloud
Creaci贸n de marcadores en Google Maps con Jetpack Compose
C贸mo dibujar rutas en mapas usando polil铆neas en Jetpack Compose
C贸mo enfocar autom谩ticamente mapas usando Camera Update Factory
Quiz: Google Maps SDK
Servicios de Localizaci贸n
Uso de Flows en Kotlin para Controlar Intervalos de Tiempo y Emisi贸n de Datos
C贸mo simular ubicaci贸n en emuladores y dispositivos reales
Creaci贸n de Modelos y C谩lculos de Localizaci贸n con Clean Architecture
Implementaci贸n de Localizaci贸n en Android Usando Flows
Inyecci贸n de dependencia para seguimiento de localizaci贸n en Android
Uso de StateFlows para rastrear ubicaci贸n en aplicaciones Android
Location Tracker
Implementaci贸n de Location Tracker con Inyecci贸n de Dependencias
Quiz: Servicios de Localizaci贸n
Integraci贸n Maps con Localizaci贸n
Integraci贸n de mapas din谩micos con CameraPositionState en Android
Creaci贸n y uso de polil铆neas en mapas con datos reales
Creaci贸n de una pantalla de mapa con Intents y estados en Jetpack Compose
Creaci贸n de un ViewModel para Seguimiento de Localizaci贸n en Android
Quiz: Integraci贸n Maps con Localizaci贸n
Manejo de permisos
Gesti贸n de permisos en Android para localizaci贸n, c谩mara y notificaciones
C贸mo implementar di谩logos para solicitar permisos en Android
Manejo de permisos de localizaci贸n y notificaci贸n en Android
C贸mo gestionar permisos en Android con Jetpack Compose
Quiz: Manejo de permisos
Integraci贸n c谩mara
Integraci贸n de c谩mara en Android con Photo Handler y manejo de permisos
Convierte Bitmaps a ByteArrays en Android con Kotlin
Creaci贸n de intents y estados UI para c谩mara en Android con Kotlin
Implementaci贸n de funciones clave en ViewModel para c谩mara Android
Integrar C谩maraX en Jetpack Compose para Android
Captura y previsualizaci贸n de fotos en Android con Jetpack Compose
C贸mo Mostrar Fotos en Marcadores de Ubicaci贸n en Mapas con Jetpack Compose
Quiz: Integraci贸n c谩mara
Servicios en Android
Implementaci贸n de servicios en Android: normal services y foreground services
Implementar Foreground Services en Android para Persistencia en Segundo Plano
Quiz: Servicios en Android
Transmisiones en Android (Broadcast)
Implementaci贸n de BroadcastReceiver en Android para Escuchar Eventos del Sistema
Pruebas finales y cierre
You don't have access to this class
Keep learning! Join and start boosting your career
Incorporating interactive maps into Android apps is easy with Jetpack Compose. An essential aspect for any app that uses location is to create and manage visual markers directly on the map, indicating specific positions to guide users.
To start, we will organize our elements by creating folders to facilitate the structuring of the code:
TrackIt
project.Presentation.maps
.MapsSection
to create your first Composable.In this MapsSection
function, use the following basic starter code:
@Composablefun MapsSection(modifier: Modifier) { GoogleMap(modifier = modifier)}
If you are still not clear on how Composable works, you can check out the Jetpack Compose course available on Platzi beforehand.
Jetpack Compose allows you to fine-tune the user experience by configuring various map features:
UI Settings
options, for example:GoogleMap( modifier = modifier, uiSettings = MapUiSettings(zoomGesturesEnabled = false))
With this setting, you disable the option to zoom the map, allowing only scrolling.
GoogleMap( modifier = modifier, onMapLoaded = { val activity = LocalActivity.current Toast.makeText(activity, "Map Loaded", Toast.LENGTH_SHORT).show() }) )
When executing this code, a small message(Toast) will appear informing that the map is already loaded.
To display specific markers in specific regions of the map, we must follow these steps:
val markerState = rememberMarkerState()LaunchedEffect(Unit) { markerState.position = LatLng(4.65, -74.0)}
GoogleMap(modifier = modifier) { Marker( state = markerState ) { Box( modifier = Modifier .size(35.dp) .background(MaterialTheme.colorScheme.primary, shape = CircleShape), contentAlignment = Alignment.Center ) { Icon( imageVector = Icons.Default.Camera, contentDescription = null, tint = MaterialTheme.colorScheme.onPrimary, modifier = Modifier.size(20.dp) ) } } } }}
This custom marker will be displayed as a circle with a camera icon in the center, useful for applications focused on camera interaction with location.
This way, you have your first interactive marker clearly located on the map, paving the way for adding routes, real-time tracking and other interesting features.
Share in comments how you did implementing these features in your Jetpack Compose application.
Contributions 0
Questions 0
Want to see more contributions, questions and answers from the community?