簡體   English   中英

如何在地標中添加UIButton? iOS目標C

[英]How to add an UIButton to placemark? ios objective c

如何在地標中添加按鈕,然后將其推送到視圖控制器上?

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Set "More" logo in navigation bar
    self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Navigation"]];

    appDelegate=[[UIApplication sharedApplication] delegate];

    // Set longatude and latitude to tyne and wear
    CLLocationCoordinate2D center = CLLocationCoordinate2DMake(54.995184, -1.566699);

    // Set span to cover area
    MKCoordinateSpan span = MKCoordinateSpanMake(0.5, 0.5);

    // Set region
    MKCoordinateRegion regionToDisplay = MKCoordinateRegionMake(center, span);
    [self.nearbyMapView setRegion: regionToDisplay];

    for (int i = 0; i < [[appDelegate offersFeeds] count]; i++)
    {

        CLGeocoder *geocoder = [[CLGeocoder alloc] init];

        NSString *plotAddress = [[[appDelegate offersFeeds] objectAtIndex:i] valueForKey:@"addressline"];
        NSString *plotTitle = [[[appDelegate offersFeeds] objectAtIndex:i] valueForKey:@"title"];


        [geocoder geocodeAddressString:plotAddress completionHandler:^(NSArray *placemarks, NSError *error) {
            if (placemarks && placemarks.count > 0)
            {
                CLPlacemark *topResult = [placemarks objectAtIndex:0];
                MKPlacemark *placemark = [[MKPlacemark alloc]initWithPlacemark:topResult];

                // Set title
                MKPointAnnotation *pa = [[MKPointAnnotation alloc] init];
                pa.coordinate = placemark.location.coordinate;
                pa.title = plotTitle;

                // Add placemark to map
                [self.nearbyMapView addAnnotation:pa];

            }
        }];
    }
}

我看過MKAnotationView但努力了解如何CLPlacemarkCLPlacemark一起使用。

在將mapview添加到self.view之前添加此

-(void)viewDidLoad
{
MKPointAnnotation *annotation = [[MKPointAnnotation alloc]init];
    annotation.coordinate = yourCoordinate;
    annotation.title = @"Title";
    annotation.subtitle = @"SubTitle";
    [mapView1 addAnnotation:annotation];
}


- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    MKAnnotationView *pinView = nil; 

        static NSString *defaultPinID = @"identifier";
        pinView = (MKAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID];
        if ( pinView == nil ) 
        {
            pinView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID];

            annotationView.enabled = YES;
            pinView.canShowCallout = YES;

            UIButton *btn = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];

            //Accessoryview for the annotation view in ios.
            pinView.rightCalloutAccessoryView = btn;
        }
        else
        {
            pinView.annotation = annotation;
        }
       pinView.annotation = annotation;
    return pinView;
} 

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
{

    //Put your button stuff here...

}

希望對您有用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM