最初にロードしてMapView
から注釈で埋める方法はありますか?
質問する理由: 最初に XML を呼び出して注釈を入力するマップをクリックすると、遅延が発生し、ビューが my で開きますMapView
。
私の懸念は、XML が大きくなると、さらに遅延するか、タイムアウトになることです。
最初にロードしてMapView
から注釈で埋める方法はありますか?
質問する理由: 最初に XML を呼び出して注釈を入力するマップをクリックすると、遅延が発生し、ビューが my で開きますMapView
。
私の懸念は、XML が大きくなると、さらに遅延するか、タイムアウトになることです。
このコードを参照してください:
#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