2009-10-12 7 views
8

J'ai placé un mapview comme caché dans mon application. L'image de la carte doit être obtenue à partir de la carte et envoyée par e-mail. Comment puis-je obtenir l'image de la carte à partir de la carte cachée.Obtenir l'image de la carte de MKMapView

Merci,

+0

Pour tous ceux qui viennent à travers cela, il y a maintenant une classe appelée MKMapSnapshotter qui peut être utile – shim

Répondre

0
  1. contexte de pixels Configuration à l'aide CGBitmapContextCreate
  2. Render MKMapView utilisant [mapView.layer renderInContext:myContext]
  3. Get CGImage de contexte à l'aide CGBitmapContextCreateImage
  4. Wrap CGImage dans UIImage si nécessaire.
12

Pour SDK:

UIGraphicsBeginImageContext(self.mapView.bounds.size); 
[self.mapView.layer renderInContext:UIGraphicsGetCurrentContext()]; 
UIImage *mapImage = UIGraphicsGetImageFromCurrentImageContext(); 

Pour toolchain (en utilisant l'API privée)

CGRect rect = [self.mapView bounds]; 
// Change the snapshot rect if needed. 
CGImageRef image = [self.mapView createSnapshotWithRect:rect]; 
+0

je ne peux pas sembler pour que cela fonctionne pour iPhone 4s .... tous les autres appareils sont bien, simulateur inclus ... pensées? – mlecho

Questions connexes