Agrupación de marcadores de Google Maps en iOS

Tengo una aplicación basada en mapas, que utiliza el SDK de iOS de Google Maps. Necesito almacenar hasta varios miles de artículos en una base de datos de datos centrales y mostrarlos con marcadores en el mapa. Por razones de rendimiento y facilidad de uso, debo agrupar estos marcadores cuando el usuario está alejado, pero debo asegurarme de colocar marcadores representativos para que el usuario sepa dónde hacer zoom para ver más detalles.

Cada entrada en mi modelo de datos central tiene valores dobles de latitud / longitud almacenados. Entonces, lo que pensé para agrupar los elementos es mantener una entidad separada donde elimine las partes menos significativas de las coordenadas geográficas y almacene un recuento en ellas.

Entonces, cuando se inserta un elemento con lat / lon {44.9382719, -130.20293849} en la base de datos, otro objeto "agrupado" con lat / lon {44.9, -130.2} tiene su propiedad de conteo incrementada. La idea es que en los puntos de zoom bajos (es decir, alejados), solo consultaría los objetos del clúster y los ubicaría en el mapa en lugar de los elementos reales.

Mi pregunta es: según laReferencia de NSManagedObject, se supone que no debes buscar cosas enawakeFromInsertEntonces, ¿cómo puedo asegurarme de que al insertar un objeto administrado de un tipo se actualice el valor de un objeto administrado correspondiente de otro tipo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta