Mapas con MapBox en IOS

JP Juan Pablo Romero Juan Pablo Romero

Juan Pablo Romero

Software Engineer
2 min read.

En el mercado existen varias opciones para usar mapas en nuestras aplicaciones una opción muy interesante es MapBox, muchas aplicaciones se han pasado de los mapas tradicionales de google a este servicio que permite personalizar los mapas de una forma muy sencilla.

Para hacer uso de MapBox en nuestras aplicaciones se debe descargar el SDK que se encuentra en la pagina de ellos (http://mapbox.com/mobile/docs/sdk/). Para su instalación y uso es muy sencillo se siguen los pasos que aparecen en la página básicamente es configurar el proyecto para hacer uso de las librerías de MapBox.

Este SDK trabaja similar a como lo hace MapKit para los que están familiarizados con mapas en IOS no sentirán el cambio.

Para cargar un mapa de Mapbox necesitamos tener el TileJson. Primero en nuestra vista agregamos los import para trabajar con el SDK.

[gist id = 3349721]

creamos nuestra propiedad del mapa

[gist id = 3349728]

Configuramos el mapView con la url del mapa


https://gist.github.com/335001... Listo ya con esto tenemos nuestra app, que nos muestra el mapa que creamos en MapBox. Ahora si deseamos mostrar nuestra ubicación, debemos hacer lo siguiente. Primero necesitamos una imagen que represente nuestra ubicación en el mapa, creamos un grupo resources en el proyecto y guardamos la imagen allí.

Creamos un objeto que manipule los eventos de localización del dispositivo.


https://gist.github.com/334979... Iniciamos el servicio de localización.

[gist id= 3349834]

Ahora para mostrar la ubicación en el mapa creamos una clase que sea subclase de RMAnnotation 

[gist id = 3349886];

Creamos un metodo y creamos nuestro anotación para ser mostrada en el mapa, en este método lo que hacemos es que cada vez sea invocado borre la anotación previa y cree una nueva con la ubicación actual, agregamos la anotación para que sea mostrada en el mapa.

[gist id= 3349909]

Para mostrar las anotaciones en el mapa hacemos uso del metodo del delegado RMMapViewDelegate, con este método dibujamos las anotaciones en el mapa.

[gist id = 3349924]

y por ultimo agregamos estas lineas de codigo para iniciar el servicio de localización, centrar el mapa a la ubicación actual y agregar el mapa a la vista principal.

[gist id= 3349951]

Con esto tenemos nuestra aplicación monitoreando nuestra ubicación actual y mostrandola en un mapa personalizado con MapBox, espero les sirva para sus aplicaciones iOS.


Written by Juan Pablo Romero

JP Juan Pablo Romero Juan Pablo Romero

Juan Pablo designs and builds robust software solutions with a focus on performance and usability. His problem-solving skills and attention to detail ensure high-quality and efficient applications.

Newsletter

Subscribe to our newsletter:

Read more

Drag and Drop con Drupal 7

Cuándo trabajamos con Drupal, una de las mejores ventajas es la comunidad y el gran número de módulos desarrollados.  Pero en...

1 min read.

hstore: Creciendo con postgresql

Cada vez que vamos a hacer aplicaciones que puedan crecer y que tengan atributos "elásticos" en tablas ya existentes tenemos ...

1 min read.

Build Once. Own Forever.