MapView未显示注释

时间:2014-02-11 03:01:36

标签: mapkit mkannotation

我的MapView没有显示注释,以下是我的代码。我是Objective-c的新手。有人可以弄清楚这段代码有什么问题。我想用蓝色圆圈显示用户位置,用红色别针显示另一个位置。

#import <UIKit/UIKit.h>
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>


@interface MapViewController : UIViewController                   <UIApplicationDelegate,CLLocationManagerDelegate,MKMapViewDelegate,UITextFieldDelegate>{

    CLLocationManager *locationManager;
    IBOutlet MKMapView *mapView;
}

@property (strong, nonatomic) UIWindow *window;
@property (nonatomic,retain) IBOutlet MKMapView *mapView;

@end

#import "MapViewController.h"

@implementation MapViewController
@synthesize mapView;

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.mapView.delegate = self;
    locationManager = [[CLLocationManager alloc] init];
    [locationManager setDelegate:self];
    [locationManager setDistanceFilter:kCLDistanceFilterNone];
    [locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
    [self.mapView setShowsUserLocation:YES]
    [self.window makeKeyAndVisible];

    CLLocationCoordinate2D annotationCoord;
    annotationCoord.latitude = -37.5498;
    annotationCoord.longitude = -143.869;
    MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init];
    annotationPoint.coordinate = annotationCoord;
    annotationPoint.title = @"BlackHill PS";
    [mapView addAnnotation:annotationPoint];
}
@end

1 个答案:

答案 0 :(得分:0)

您正在向地图添加注释,但您没有采取任何措施来确保地图显示的区域是包含注释标记的地点的区域。那样做。

示例:

MKCoordinateRegion reg =
    MKCoordinateRegionMakeWithDistance(annotationPoint.coordinate, 600, 600);
mapView.region = reg;

顺便说一句,就代码而言,位置管理器的所有内容都是完全浪费的。如果要求地图显示用户的位置,则会执行此操作。您的位置管理员在故事中没有做任何事情(就您实际显示的代码而言)。它甚至没有运行(进行更新)。这毫无意义。