2015-02-09 5 views
1

Я выборка в формате GIF из NOAA текущего метеолокатора я храню его в UIImage, а затем сделать его в MKMapView, вот часть коды я использую:Animated Radar Overlay MKMapView IOS

image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://radar.weather.gov/ridge/Conus/RadarImg/latest_radaronly.gif"]]]; 

MKMapRect theMapRect = [self.overlay boundingMapRect]; 
CGRect theRect   = [self rectForMapRect:theMapRect]; 

@try { 
    UIGraphicsBeginImageContext(image.size); 
    UIGraphicsPushContext(ctx); 
    [image drawInRect:theRect]; 
    UIGraphicsPopContext(); 
    UIGraphicsEndImageContext(); 
} 
@catch (NSException *exception) { 
    NSLog(@"Caught an exception while drawing radar on map - %@",[exception description]); 
} 
@finally { 

} 

Кто-нибудь знает, как я могу анимировать этот gif несколько раз, чтобы достичь такой погоды, как радар, который вы видите в новостях. Я нашел несколько приложений, которые это делают, и мне интересно, как я могу включить его в свой собственный проект.

ответ

1

Ссылка, которую вы предоставили, фактически не отображает анимированный gif. Он просто извлекает последний gif. Один из способов сделать это - загрузить последние 10-20 гигабайт, которые NOAA загрузил here, они, кажется, обновляют его каждые 10 минут, а затем создают UIImage для каждого gif и просматривают их через UIImageview, который накладывает вашу карту. Например:

// Set images 
radarGIF01 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://radar.weather.gov/ridge/Conus/RadarImg/Conus_20150209_0108_N0Ronly.gif"]]]; 
radarGIF02 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://radar.weather.gov/ridge/Conus/RadarImg/Conus_20150209_0118_N0Ronly.gif"]]]; 
radarGIF03 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://radar.weather.gov/ridge/Conus/RadarImg/Conus_20150209_0128_N0Ronly.gif"]]]; 
radarGIF04 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://radar.weather.gov/ridge/Conus/RadarImg/Conus_20150209_0138_N0Ronly.gif"]]]; 
radarGIF05 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://radar.weather.gov/ridge/Conus/RadarImg/Conus_20150209_0148_N0Ronly.gif"]]]; 

// Add images to array 
radarImagesArray = [[NSArray alloc]initWithObjects: radarGIF01, radarGIF02, radarGIF03, radarGIF04, radarGIF05, nil]; 

// Animate images in UIImageview 
_radarImageView.animationImages = radarImagesArray; 
_radarImageView.animationDuration = 3.0; 
_radarImageView.animationRepeatCount = 0; 
[_radarImageView startAnimating]; 
+0

Можете ли вы объяснить URL, в основном окончание URL '/ Конус ...' Как бы идти о загрузке последних 10 изображений без жесткого кодирования их URL? – Clip

+0

Также делает Conus, означают непрерывные Соединенные Штаты? – Clip