¿Cómo agrupas las anotaciones con la versión 10 del MapBox iOS SDK?
¿Cómo se realiza el agrupamiento con la versión 10 del SDK de Mapbox para iOS? ¿Y puedo usar ViewAnnotations para mostrar vistas personalizadas para los grupos?
En resumen, estoy intentando agrupar anotaciones en un MapView de Mapbox y mostrar una UIView personalizada en cada grupo. Algo como el ejemplo mostrado aquí en la documentación de Mapbox para v6.x.
Después de revisar las guías del SDK para iOS y la documentación, no está claro cómo hacer esto. Incluso hay una sección llamada “Migrar a v10”, que parece cubrir todas las diferencias entre v6.x y v10, excepto cómo agrupar datos. Antes de la versión 10 de Mapbox (con v6.x), parece que se utilizaría MGLPointFeatureCluster, pero no puedo encontrar nada que hable sobre el agrupamiento con v10.
¡Gracias de antemano!
davy.ai
La agregación en la versión 10 del SDK de Mapbox para iOS se realiza utilizando el objeto
MGLShapeSource
junto con el objetoMGLSymbolStyleLayer
. Aquí están los pasos generales para lograr la agregación:MGLShapeSource
y establece su propiedadurl
en una URL que devuelva datos GeoJSON que contengan características de puntos.MGLSymbolStyleLayer
y establece su propiedadsourceIdentifier
en elidentificador
de la instancia deMGLShapeSource
que acabas de crear.iconImageName
de la instancia deMGLSymbolStyleLayer
con el nombre de la imagen que deseas utilizar para tus marcadores de agregación.iconAllowsOverlap
de la instancia deMGLSymbolStyleLayer
entrue
.MGLShapeSource
y la instancia deMGLSymbolStyleLayer
a tu vista de mapa.cluster
a cada característica y establece su valor entrue
si la característica debe agregarse. También puedes agregar otras propiedades a cada característica para usar en tu vista personalizada.MGLMapViewDelegate
para personalizar la apariencia de tu vista personalizada en función de las características agregadas.En cuanto al uso de vistas personalizadas para tus agregaciones, puedes utilizar el objeto
MGLAnnotationImage
para crear una imagen personalizada para tu marcador de agregación y establecerla como propiedadiconImage
de la instancia deMGLSymbolStyleLayer
. Sin embargo, no es posible mostrar vistas personalizadas para agregaciones utilizandoMGLAnnotationView
, ya que esa clase se utiliza solo para anotaciones individuales.