Hace no mucho tiempo estaba investigando sobre el uso de mapas en Xamarin.iOS en específico de la agrupación de marcadores, para versiones anteriores a la 11 del SDK en iOS no encontré una implementación que ya fuera manejada por el MKMapView aunque había otros proyectos que ya te permitían implementar la funcionalidad, después de esa búsqueda me di una vuelta por Xamarin University (algo que debí hacer desde el inicio :D) y me encontré con el material actualizado y la grata sorpresa de que ya existe una forma de hacer una agrupación sin mucho esfuerzo haciendo uso del tipo MKMarkerAnnotationView.
Nota: Para este post es necesario que tengas conocimientos básicos sobre la funcionalidad de los mapas en iOS y el uso de la clase MKMapViewDelegate, si no estás familiarizado puedes ir al siguiente link .
A grandes rasgos debes crear una clase herede de MKPointAnnotation y que sobre escriba la propiedad Coordinate tal como se muestra la siguiente imagen.
|
|
También una clase que herede de MKMapViewDelegate y sobre escribir el método GetViewForAnnotation. Dentro de este método haremos una comparación para revisar si el parámetro de tipo IMKAnnotation es de nuestro tipo personalizado y obtendremos un identificador el cuál utilizaremos para reciclar nuestro marcador en caso de que exista o crear una instancia de MKAnnotationView o MKMarkerAnnotationView según corresponda, después de esto agregaremos el ClusteringIdentifier.
|
|
Con eso ya tendremos implementado nuestra agrupación de marcadores.
Espero que te resulte útil este post nos leemos después.
¡Saludos! @SaturPimentel
Fuentes
MKMarkerAnnotationView Xamarin University Xamarin University code