2013-03-29 101 views
2

我想在地圖上有按鈕的iPhone應用程序,我該怎麼做?我已經實施MKMapView並將其設置爲longitude/latitude並將其集中在我想要的位置。如何在MKMapView上添加按鈕?

+1

在您要添加按鈕?準確解釋你想要什麼? – Pratik

+0

我想要一個在城市內10個不同位置有按鈕的地圖(我在這裏)。我不想手動在mkmapview上面放置一個按鈕,這樣當地圖移動時,按鈕仍然與地圖相關 –

回答

6

你就不細說了你的問題,所以我想你想,

Use MKUserTrackingBarButtonItem

- (void)viewDidLoad 
    { 
     [super viewDidLoad];  
     MKUserTrackingBarButtonItem *buttonItem = [[MKUserTrackingBarButtonItem alloc] initWithMapView:self.map]; 
     self.navigationItem.rightBarButtonItem = buttonItem; 
    } 

AMKUserTrackingBarButtonItem對象是一家專門欄按鈕項目,允許用戶通過用戶跟蹤模式切換。例如,當用戶點擊該按鈕時,地圖視圖在跟蹤具有和不具有標題的用戶之間切換。該按鈕還反映當前的用戶跟蹤模式,如果設置在別處。此欄按鈕項目與一個地圖視圖關聯。

而且閱讀本題How to put a button on a Map in Iphone

1

試試吧....

- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    MKPinAnnotationView *pinAnnotation = nil; 
    if(annotation != myMapView.userLocation) 
    { 
     static NSString *defaultPinID = @"myPin"; 
     pinAnnotation.pinColor = MKPinAnnotationColorRed; 
     pinAnnotation = (MKPinAnnotationView *)[myMapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; 
     if (pinAnnotation == nil) 
      pinAnnotation = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease]; 

     pinAnnotation.canShowCallout = YES; 

     infoButton = [[UIButton alloc]initWithFrame:CGRectMake(0, 0, 25, 25)]; 
     [infoButton setBackgroundImage:[UIImage imageNamed:@"arrow_go_map.png"] forState:UIControlStateNormal]; 
     pinAnnotation.rightCalloutAccessoryView = infoButton; 
     [infoButton addTarget:self action:@selector(detailBtnClk:) forControlEvents:UIControlEventTouchUpInside]; 
    }  
    return pinAnnotation; 
} 

希望我幫助

+0

Sanchit Gupta:告訴我發生了什麼? –