2

我正在尝试制作一个地图有按钮的 iPhone 应用程序,我该怎么做?我已经实现MKMapView并设置了它longitude/latitude并将它集中在我想要的位置。

4

2 回答 2

6

你没有详细说明你的问题,所以我想你想要,

利用 MKUserTrackingBarButtonItem

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

AMKUserTrackingBarButtonItemobject 是一个专门的栏按钮项,允许用户在用户跟踪模式之间切换。例如,当用户点击按钮时,地图视图会在跟踪用户是否有方向之间切换。如果在别处设置,该按钮还反映当前用户跟踪模式。此条形按钮项与单个地图视图相关联。

另请阅读此问题如何在 Iphone 的地图上放置按钮

于 2013-03-29T04:11:14.583 回答
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;
}

希望我有所帮助

于 2013-04-01T06:05:28.013 回答