9 votes

Comment créer un MKMapView ?

La documentation n'en parle pas beaucoup, et il semble qu'il n'y ait pas de méthode init pour cela ? Comment puis-je en créer une et définir la longitude et la latitude ou la région à afficher dans la vue cartographique ?

21voto

Ashu Points 82

Tout d'abord, ajoutez MapKit.framework.
Ensuite, dans le fichier .h

#import <MapKit/MapKit.h>

et ajouter un délégué <MKMapViewDelegate> .

Ensuite, dans le fichier .m, ajoutez le code suivant :

- (void)viewDidLoad
{
     [super viewDidLoad];

     MKMapView *mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
     [self.view addSubview:mapView];
}

5voto

raaz Points 4201

Vous pouvez inclure MKMapView à la fois par le code ou par le constructeur d'interface.

Pour le constructeur d'interface, il suffit de le faire glisser et de le déposer dans votre xib (Tools->Library->MapView).

Par code

Dans votre fichier .h

MKMapView * mapView;

Dans votre fichier .m

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

2voto

Kevin Sylvestre Points 15551

Le constructeur d'interface comprend le MKMapView (Map View). Faites glisser l'élément dans votre XIB, ajoutez une sortie de référencement dans votre contrôleur et reliez-les. Ensuite, définissez la région. Beaucoup de bons exemples :

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

1voto

sasidharan.M Points 27

Exemple de codage de mapview pour trouver un emplacement

@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.
}

0voto

Davender Verma Points 1
(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];
 }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X