2012-03-05 5 views

답변

3

:하는 .m 파일에 헤더 파일

(.H)

@interface RDViewController : UIViewController{ 

    UIImage *image ; 
} 
@property (strong, nonatomic) IBOutlet MKMapView *mapView; 

@property (strong, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator; 

@property (strong, nonatomic) IBOutlet UIImageView *imageView; 

@implementation RDViewController 

@synthesize mapView; 

@synthesize activityIndicator; 

@synthesize imageView; 


- (void)viewDidLoad 

{ 

NSURL *url = [NSURL URLWithString: 
        @"http://radar.weather.gov/ridge/Conus/RadarImg/latest_radaronly.gif"]; 

    MapOverlay * mapOverlay = [[MapOverlay alloc] initWithImageData:[NSData dataWithContentsOfURL:url] withLowerLeftCoordinate:CLLocationCoordinate2DMake(21.652538062803, -127.620375523875420) withUpperRightCoordinate:CLLocationCoordinate2DMake(50.406626367301044, -66.517937876818)]; 

     //<LatLonBox><north>50.406626367301044</north><south>21.652538062803</south><east>-66.517937876818</east><west>-127.620375523875420</west></LatLonBox> 

    [mapView addOverlay:mapOverlay]; 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 
} 

- (void)viewDidUnload 
{ 
    [self setImageView:nil]; 
    [self setMapView:nil]; 
    [self setActivityIndicator:nil]; 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return YES; 
} 


#pragma Mark - MKOverlayDelgateMethods 

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay { 

    MapOverlay *mapOverlay = overlay; 
    MapOverlayView *mapOverlayView = [[MapOverlayView alloc] initWithOverlay:mapOverlay]; 
    return mapOverlayView; 

} 

enter image description here enter image description here

+0

어디에서이 방법을 얻었습니까?> MapOverlay * mapOverlay = [MapOverlay alloc] initWithImageData : [NSData dataWithContentsOfURL : url] withLowerLeftCoordinate : CLLocationCoordinate2DMake (21.652538062803, -127.620375523875420) withUpperRightCoordinate : CLLocationCoordinate2DMake (50.406626367301044, -66.517937876818)]; –

+0

이러한 메서드가 포함 된 사용자 지정 클래스를 만들어야합니다. 해당 클래스의 이미지를 확인하십시오. –

+0

@iosRider mkoverlays의 애니메이션 GIF와 관련된 제 질문을 확인해주세요. http://stackoverflow.com/questions/20558591/animated-gif-in-an-mkmapview-overlay-using-mkoverlayrenderer – wigging

2

MapKit 오버레이 (MKOverlay)를 조사해야합니다. 귀하의 경우에는 MKPolygon을 작성하게됩니다.

기상 레이더 데이터에서 MKMapPoints 배열을 만든 다음이 점들로부터 MKPolygon을 만들고지도에 오버레이를 추가해야합니다.

HazardMap이라는 Apple 프로젝트가 있습니다. 여기서는 지진 데이터를 사용하는 경우를 제외하고는 시도하려는 것과 매우 유사한 작업을 수행합니다.

WWWDC 2011 프리젠 테이션 "MapKit을 사용하여 지리적으로 정보 시각화"를 확인하십시오. 30 분 정도 지나면 오버레이에 대해 이야기하기 시작합니다.

희망이 도움이됩니다. 나는이 작업을 달성하기위한이 같은 짓을

+0

예 HazardMap을 확인했지만 기상 정보를 제공하지 않고 일부는 MyRequirement와 다릅니다. 파일을 가져 오는 중입니다. 응답에 감사하지만이 API는 없습니다. 다시 한 번 감사드립니다. –

+1

소스 날씨 데이터에 액세스 할 수 있다고 가정했습니다. http://www.programmableweb.com을 방문하여 필요한 데이터 소스를 찾을 수 있습니다. –

관련 문제