Il kit mappa non supporta il riutilizzo di sovrapposizioni nello stesso modo in cui lo supporta per le viste di annotazione. Uno dei motivi di ciò deve certamente essere che i due oggetti non sono analoghi. Le sovrapposizioni sono oggetti modello che rappresentano un'area sulla mappa, mentre le viste di annotazione sono oggetti di visualizzazione utilizzati di volta in volta per visualizzare la posizione di un'annotazione sulla mappa. La tecnica di riutilizzare gli oggetti di visualizzazione (al contrario di crearne di singoli per ogni utilizzo) è un'ottimizzazione che viene utilizzata in un paio di altri punti in UIKit, in particolare per le celle di visualizzazione tabella e vari bit di viste di raccolta.
Il modello di riutilizzo della vista consente di stabilire alcuni indici di dati (percorsi dell'indice di tabella, coordinate della mappa) e quindi disporre di un oggetto di visualizzazione appropriato da utilizzare quando viene visualizzato un particolare indice/posizione. Quando l'oggetto dati passa fuori dalla vista, l'oggetto della vista viene riciclato in una coda.
Un'annotazione è analoga a una sovrapposizione e MapKit non consente di riutilizzarli neanche per una buona ragione: sono i dati che vengono visualizzati!
L'oggetto analogo alla vista di annotazione è un renderizzatore di sovrapposizione, che (ovviamente!) Fornisce il rendering per una sovrapposizione. Presumo che la ragione per cui questi non vengono riutilizzati è perché non sono oggetti del sistema di visualizzazione e presumibilmente molto più leggeri, quindi c'è poco beneficio dal riutilizzo. Troviamo prove per questo nel fatto che fino a iOS 7.0 il delegato di MapView ha fatto fornire un oggetto di visualizzazione per gli overlay e questo è stato sostituito dal concetto di rendering.
Spero che questo aiuti.
Che problema ti causa?
PS. Inoltre, se le persone sono effettivamente (se questo è un problema) mettendo sovrapposizioni su una mappa come "annotazione", per aggirare questo? Probabilmente non funzionerebbe per gli overlay di grandi dimensioni, tuttavia, poiché parte dell'overlay potrebbe essere disattivata ... – Greg
PSS. In realtà sono circa 8000 su overlay in tutto il paese da installare, quindi alla fine li carico tutti in anticipo o devo gestirli manualmente in modo tale che solo un numero molto più piccolo venga caricato in qualsiasi momento? cioè quelli che sarebbero visibili – Greg