8

MapViewに気象レーダーを統合したいのですが、この作業を手伝ってください。グーグルを何度も実行しましたが、成功しませんでした。このようにしたかったこの画像を確認してください。 ここに画像の説明を入力してください

4

2 に答える 2

3

私はこのタスクを達成するためにこのようなことをしました:

ヘッダーファイル(.h)内

@interface RDViewController : UIViewController{

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

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

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

.mファイル内

@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;

}

ここに画像の説明を入力してください ここに画像の説明を入力してください

于 2012-03-27T15:35:09.040 に答える
3

MapKitオーバーレイ( MKOverlay )を調査する必要があります。あなたの場合、を作成しMKPolygonます。

気象レーダーデータからMKMapPointの配列を作成してから、これらのポイントからMKPolygonを作成し、それをオーバーレイとしてマップに追加する必要があります。

HazardMapと呼ばれるサンプルのAppleプロジェクトがあります。これは、地震データを使用していることを除いて、あなたがやろうとしていることと非常によく似ています。

また、WWWDC2011のプレゼンテーション「MapKitを使用した地理的な情報の視覚化」も確認してください。30分前後で、彼らはオーバーレイについて話し始めます。

お役に立てれば。

于 2012-03-08T12:03:33.720 に答える