8

I want to Integrate Weather radar on my MapView.Please anyone help on doing this task.I have done so many googling but not get succeed.Please check this image i wanted to do like this. enter image description here

Ankit Vyas
  • 7,401
  • 13
  • 52
  • 87

2 Answers2

3

You need investigate MapKit overlays (MKOverlay). In your case you will be creating a MKPolygon.

You will need to create an array of MKMapPoints from your weather radar data, then create a MKPolygon from these points and add it your map as an overlay.

There is a sample Apple project called HazardMap which does something very similar to what you are trying to do, except in this case it is using earthquake data.

Also check out the WWWDC 2011 presentation "Visualizing Information Geographically with MapKit". Around the 30 minute mark they start talking about Overlays.

Hope this helps.

Andy Sinclair
  • 1,843
  • 14
  • 17
  • yes I have checked HazardMap but it's not providing weather information and it's taking some files which is some thing different that MyRequirement.Thanks for the response but do have any api for this.Thanks once again. – Ankit Vyas Mar 08 '12 at 13:08
  • 1
    I assumed that you had access to the source weather data. You could try http://www.programmableweb.com to find a source for the data you require. – Andy Sinclair Mar 08 '12 at 14:49
3

I have done something like this for achieving this task:

in header file(.h)

@interface RDViewController : UIViewController{

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

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

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

in .m file

@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

zvonicek
  • 1,493
  • 15
  • 26
Ankit Vyas
  • 7,401
  • 13
  • 52
  • 87
  • Where did you get this method from I can't see it in the documentation ---> MapOverlay * mapOverlay = [[MapOverlay alloc] initWithImageData:[NSData dataWithContentsOfURL:url] withLowerLeftCoordinate:CLLocationCoordinate2DMake(21.652538062803, -127.620375523875420) withUpperRightCoordinate:CLLocationCoordinate2DMake(50.406626367301044, -66.517937876818)]; – MB. Mar 30 '12 at 18:20
  • You have to create custom Class which contains these methods Please check these images of that class. – Ankit Vyas May 09 '12 at 09:00
  • @iosRider Could you check out my question related to animated gifs in mkoverlays http://stackoverflow.com/questions/20558591/animated-gif-in-an-mkmapview-overlay-using-mkoverlayrenderer – wigging Dec 13 '13 at 04:38