Xcode MapKit iPhone开发;当前位置和注释

Xcode MapKit iPhone开发;当前位置和注释,xcode,ios4,Xcode,Ios4,简单地说,我正在创建一个应用程序,我想在一个城市的地图上显示酒吧和餐馆作为注释,但我也希望该应用程序显示用户的当前位置。我需要知道如何轻松添加多个自定义注释,但也要显示我的当前位置。有人能帮忙吗 这是我的ViewController.m的一部分 - (void)viewDidLoad { [super viewDidLoad]; [mapView setMapType:MKMapTypeStandard]; [mapView setZoomEnabled:YES]; [mapView

简单地说,我正在创建一个应用程序,我想在一个城市的地图上显示酒吧和餐馆作为注释,但我也希望该应用程序显示用户的当前位置。我需要知道如何轻松添加多个自定义注释,但也要显示我的当前位置。有人能帮忙吗

这是我的ViewController.m的一部分

- (void)viewDidLoad {
 [super viewDidLoad];

 [mapView setMapType:MKMapTypeStandard];
 [mapView setZoomEnabled:YES];
 [mapView setScrollEnabled:YES];
 MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } }; 
 region.center.latitude = 53.793853;
 region.center.longitude = -1.752442;
 region.span.longitudeDelta = 0.01f;
 region.span.latitudeDelta = 0.01f;
 [mapView setRegion:region animated:YES]; 

 [mapView setDelegate:self];

 DisplayMap *ann = [[DisplayMap alloc] init]; 
 ann.title = @"Pashas";
 ann.subtitle = @"Leeds Road"; 
 ann.coordinate = region.center; 
 [mapView addAnnotation:ann];
}

-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:

    (id <MKAnnotation>)annotation {
 MKPinAnnotationView *pinView = nil; 
 if(annotation != mapView.userLocation) 
 {static NSString *defaultPinID = @"com.invasivecode.pin";  pinView = (MKPinAnnotationView)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];if ( pinView == nil ) pinView = [[[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease];

  pinView.pinColor = MKPinAnnotationColorRed; 
  pinView.canShowCallout = YES;
  pinView.animatesDrop = YES;
  } 
 else {
  [mapView.userLocation setTitle:@"I am here"];
 }
-(void)viewDidLoad{
[超级视图下载];
[mapView setMapType:MKMapTypeStandard];
[mapView SetZoomeEnabled:是];
[地图视图设置可克隆:是];
MKCoordinateRegion={0.0,0.0},{0.0,0.0};
region.center.lation=53.793853;
region.center.longitude=-1.752442;
region.span.longitudeDelta=0.01f;
region.span.latitudeDelta=0.01f;
[地图视图设置区域:区域动画:是];
[mapView setDelegate:self];
DisplayMap*ann=[[DisplayMap alloc]init];
ann.title=@“Pashas”;
安:副标题=@“利兹路”;
ann.coordinate=region.center;
[地图视图添加注释:ann];
}
-(MKAnnotationView*)地图视图:(MKMapView*)mV视图用于说明:
(id)注释{
MKPinAnnotationView*pinView=nil;
if(注释!=mapView.userLocation)
{static NSString*defaultPinID=@“com.invasivecode.pin”;pinView=(MKPinAnnotationView)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];if(pinView==nil)pinView=[[MKPinAnnotationView alloc]initWithAnnotation:AnnotationReuseIdentifier:defaultPinID]autorelease];
pinView.pinColor=MKPinAnnotationColorRed;
pinView.canShowCallout=是;
pinView.animatesDrop=是;
} 
否则{
[mapView.userLocation setTitle:@“我在这里”];
}

return pinView;}

您需要告诉地图视图显示用户的位置(默认情况下不启用)。将其添加到viewDidLoad:

[mapView setShowsUserLocation:YES];

请注意,在模拟器中,“用户位置”始终是Cupertino,CA,因此根据地图的当前中心和缩放,您可能看不到它。

要显示当前位置,请使用此选项

mapviewObject.showUserLocation = YES;

for(int i=0;i<10;i++)
{

 MKCoordinateRegion region = { {0.0, 0.0 }, { 0.0, 0.0 } }; 
 region.center.latitude = 53.793853;
 region.center.longitude = -1.752442;
 region.span.longitudeDelta = 0.01f;
 region.span.latitudeDelta = 0.01f;
 [mapView setRegion:region animated:YES]; 

 [mapView setDelegate:self];

 DisplayMap *ann = [[DisplayMap alloc] init]; 
 ann.title = @"Pashas";
 ann.subtitle = @"Leeds Road"; 
 ann.coordinate = region.center; 
 [mapView addAnnotation:ann];
}
mapviewObject.showUserLocation=YES;
对于(int i=0;i