Ho problemi con il caricamento di tessere 512x512px in MKMapKit. Il server fornisce 512x512 file .jpeg.MKTileOverlay con Retina-Piastrelle
Non sono riuscito a trovare alcuna soluzione o implementazione di esempio per piastrelle retina personalizzate in MKMapView.
Quello che faccio io:
Quando li si carica in MKMapView con
overlay = [[MKTileOverlay alloc] initWithURLTemplate:template];
overlay.tileSize = CGSizeMake(512.0f, 512.0f);
[_mapView insertOverlay:overlay atIndex:MAP_OVERLAY_INDEX_TILE level:MKOverlayLevelAboveLabels];
... piastrelle sono ridimensionamento corretto, ma solo la metà di essi viene caricato (non solo visivamente - ho annusato le richieste e le piastrelle mancanti)
con
overlay = [[MKTileOverlay alloc] initWithURLTemplate:template];
overlay.tileSize = CGSizeMake(256.0f, 256.0f);
[_mapView insertOverlay:overlay atIndex:MAP_OVERLAY_INDEX_TILE level:MKOverlayLevelAboveLabels];
... tutte le tessere vengono visualizzate, ma il ridimensionamento errato
Questo è il mio metodo di disegno:
(MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id <MKOverlay>)overlay
{
MKOverlayRenderer *overlayRenderer = nil;
if([overlay isKindOfClass:MKTileOverlay.class])
{
overlayRenderer = [[MKTileOverlayRenderer alloc] initWithTileOverlay:overlay];
}
return overlayRenderer;
}
... l'overlayRenderer.contentScaleFactor è sempre 1 ... non importa quale tileSize (simulatore iOS 7.1 retina)
Qualche suggerimento?
Con i migliori saluti, Steve
Avete trovato una soluzione per questo problema? – Hyndrix