0

最初にロードしてMapViewから注釈で埋める方法はありますか?

質問する理由: 最初に XML を呼び出して注釈を入力するマップをクリックすると、遅延が発生し、ビューが my で開きますMapView

私の懸念は、XML が大きくなると、さらに遅延するか、タイムアウトになることです。

4

1 に答える 1

0

このコードを参照してください:

#import "MapViewController.h"
#import "MapViewAnnotation.h"

@implementation MapViewController

@synthesize mapView;

// When the view loads
- (void)viewDidLoad
{

    [self performSelector:@selector(addAnnotation) withObject:@"" afterDelay:5.0];
}

//here i am delaying my annotation to 5 second so my map can first display

-(void)addAnnotation
{
    // Set some coordinates for our position (Buckingham Palace!)
    CLLocationCoordinate2D location;
    location.latitude = (double) 51.501468;
    location.longitude = (double) -0.141596;

    // Add the annotation to our map view
    MapViewAnnotation *newAnnotation = [[MapViewAnnotation alloc] initWithTitle:@"Buckingham Palace" andCoordinate:location];
    [self.mapView addAnnotation:newAnnotation];
    [newAnnotation release];
}

// When a map annotation point is added, zoom to it (1500 range)
- (void)mapView:(MKMapView *)mv didAddAnnotationViews:(NSArray *)views
{
    MKAnnotationView *annotationView = [views objectAtIndex:0];
    id <MKAnnotation> mp = [annotationView annotation];
    MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([mp coordinate], 1500, 1500);
    [mv setRegion:region animated:YES];
    [mv selectAnnotation:mp animated:YES];
}

// Received memory warning
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

// If the view unloads, release the map view
- (void)viewDidUnload {
    [super viewDidUnload];
    [mapView release];
    mapView = nil;
}

// Deallocations
- (void)dealloc {
    [mapView release];
    [super dealloc];
}

@end
于 2013-03-05T09:33:05.457 に答える