Integración de Mapas en iOS con Coordenadas de Usuario
Clase 41 de 52 • Curso de Desarrollo de Apps para iOS
Resumen
¿Cómo vincular coordenadas a las publicaciones en Platzi Tweets?
El desarrollo de aplicaciones requiere no solo destreza en la programación, sino también de creatividad para mejorar continuamente la experiencia del usuario. En este artículo, aprenderás a adjuntar las coordenadas geográficas a los post en Platzi Tweets, y cómo mostrar esta información en un mapa. Esto te permitirá mejorar la interactividad y funcionalidad de tu aplicación.
¿Qué modificaciones se deben hacer en el controlador de la vista de publicación?
Primero, es crucial realizar validaciones al subir contenido multimedia. Se deben verificar las siguientes condiciones antes de subir un vídeo o una imagen a Firebase:
-
Vídeo no nulo:
if currentVideo != nil { uploadVideoToFirebase() }
-
Imagen presente:
if preview?.image != nil { uploadPhotoToFirebase() }
Si no se cumple ninguna de las condiciones anteriores, simplemente guarda el post sin imágenes ni vídeos:
- Guardar Post:
savePost()
Al implementar estas validaciones, se optimiza el proceso de publicación y se evita el desperdicio innecesario de recursos al subir contenido vacío.
¿Cómo adjuntar la ubicación al post?
Las coordenadas del usuario se guardan como parte de la información de la publicación. Para ello, crea una variable opcional postLocation
de tipo PostRequestLocation
:
- Creación de la localización del post:
var postLocation: PostRequestLocation? if let userLocation = userLocation { postLocation = PostRequestLocation(latitude: userLocation.coordinates.latitude, longitude: userLocation.coordinates.longitude) }
Finalmente, al guardar la publicación, asegúrate de incluir estas coordenadas:
- Adjuntar localización:
savePost(location: postLocation)
¿Cómo crear una nueva pantalla de mapa?
Agregar una pantalla de mapa en tu aplicación es extremadamente útil para mostrar visualmente información geográfica. A continuación, te explicamos cómo integrarla usando mapas de Apple.
-
Añadir un controlador de vista:
- Agrega una nueva pantalla en el storyboard de tu aplicación y conéctala mediante un botón "Ver Mapa" que lleva al usuario a este nuevo controlador.
-
Configurar el contenedor de mapa:
- Añade una vista blanca como contenedor del mapa y crea sus restricciones.
-
Asociar el controlador de mapa:
- Crea un nuevo archivo
MapViewController
en Swift y en el storyboard asigna este controlador a tu nueva pantalla de mapa.
- Crea un nuevo archivo
-
Inicializar el mapa en el código:
- En el
MapViewController
, importaMapKit
y declara el contenedor y el mapa:import MapKit @IBOutlet weak var mapContainer: UIView! var map: MKMapView?
- En el
-
Configurar y mostrar el mapa:
- Inicializa el mapa en un frame del mismo tamaño que el contenedor, y añade el mapa como una subvista:
map = MKMapView(frame: mapContainer.bounds) mapContainer.addSubview(map ?? UIView())
- Inicializa el mapa en un frame del mismo tamaño que el contenedor, y añade el mapa como una subvista:
¿Por qué usar MapKit y no Google Maps?
Una de las principales ventajas de utilizar los elementos nativos de iOS como MapKit es el rendimiento optimizado en dispositivos Apple. Mientras que Google Maps ofrece amplias funcionalidades, utilizar MapKit garantizá que el uso del hardware y software subyacente del iOS sea el óptimo. Intenta siempre, en la medida de lo posible, utilizar los elementos nativos para mejoras en el rendimiento y mayor integración con el sistema.
Sigue explorando el desarrollo de aplicaciones iOS, cada proyecto es una oportunidad para innovar y enriquecer tus habilidades. La tecnología es un campo en constante evolución, y a medida que aprendes a integrar herramientas y tecnologías nativas, estarás un paso más cerca de crear aplicaciones de alto impacto.