2010-06-25 43 views
9

Die Dokumentation spricht nicht viel darüber, und es scheint keine Init-Methode dafür zu geben? Wie würde ich einen erstellen und den Längen- und Breitengrad oder die Region festlegen, die in der Kartenansicht angezeigt werden sollen?Wie erstelle ich eine MKMapView?

+0

Beispielcode zu finden: http://developer.apple. com/iphone/library/samplecode/MapCallouts/Einführung/Intro.html – lukya

Antwort

2

Interface Builder enthält MKMapView (Kartenansicht). Ziehe das Element in deine XIB, füge eine Referenzsteckdose in deinen Controller ein, verknüpfe sie. Stellen Sie dann die Region ein. Es gibt viele gute Beispiele:

http://developer.apple.com/iphone/library/samplecode/WorldCities/Introduction/Intro.html#//apple_ref/doc/uid/DTS40009466

+0

Sie sollten in der Lage sein, die Ansicht mithilfe von 'initWithFrame' (in der UIView-Dokumentation) zuzuweisen und zu initialisieren. Fügen Sie dann die Ansicht der übergeordneten Ansicht als Unteransicht hinzu. –

5

Sie können MKMapView umfassen sowohl durch Code oder von Interface Builder.

Für Interface Builder nur ziehen Sie es zu Ihrem xib fallen &. (Tools-> Library-> MapView)

von Code

In Ihrer .h-Datei

MKMapView * mapView; 

In Ihrem .m-Datei

-(void)viewWillAppear:(BOOL)animated 
{ 
    self.mapView = [[[MKMapView alloc] initWithFrame:self.view.frame] autorelease]; 
    [self.view addSubview:self.mapView];    
} 
20

Fügen Sie zunächst MapKit.framework hinzu.
Dann in .h-Datei

#import <MapKit/MapKit.h> 

und fügen Sie delegieren <MKMapViewDelegate>.

Dann in .m Datei, fügen Sie den folgenden Code ein:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    MKMapView *mapView = [[MKMapView alloc] initWithFrame:self.view.frame]; 
    [self.view addSubview:mapView]; 
} 
0
(void)viewDidLoad { 
    [super viewDidLoad]; 
    MKMapView *myMapView = [[MKMapView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)]; 
    [self.view addSubview:myMapView]; 
} 
1

mapview Probe Codierung eines Standort

@interface mapViewController() 

@end 

@implementation mapViewController 

- (void)viewDidLoad { 
[super viewDidLoad]; 


self.title=self.name; 

CLLocationCoordinate2D myCoordinate = 
_mapView.userLocation.coordinate; 
    myCoordinate.latitude =[self.lat doubleValue]; 
myCoordinate.longitude =[self.lng doubleValue]; 


// NSLog(@"--->%@",self.lat); 
//  NSLog(@"--->%@",self.lng); 
//set location and zoom level 
MKCoordinateRegion viewRegion = 
    MKCoordinateRegionMakeWithDistance(myCoordinate, 1000, 1000); 
    MKCoordinateRegion adjustedRegion = [self.mapView 
    regionThatFits:viewRegion]; 
[self.mapView setRegion:adjustedRegion animated:YES]; 

MKPointAnnotation *point = [[MKPointAnnotation alloc] init]; 
// Set your annotation to point at your coordinate 
point.coordinate = myCoordinate; 
point.title = self.address; 

//Drop pin on map 
[self.mapView addAnnotation:point]; 

self.mapView.delegate = self; 
// Do any additional setup after loading the view. 
}