I'm new at objective-c/IOS and i'm following this tutorial about implementing user's current location on a map. Followed the instructions, but when I press the button to see my current location, nothing happens. Can anybody give me a hint? I'm using the latest version of Xcode and i'm not sure if the one in the tutorial is the same...The code:
ViewController.m:
#import "ViewController.h"
#import "Pin.h"
@interface ViewController ()
@end
@implementation ViewController;
@synthesize mapview;
- (void)viewDidLoad {
[super viewDidLoad];
MKCoordinateRegion region={{0.0,0.0},{0.0,0.0}};
region.center.latitude=38.711995;
region.center.longitude=-9.144932;
region.span.longitudeDelta=0.01f;
region.span.latitudeDelta=0.01f;
[mapview setRegion:region animated:YES];
Pin*vega =[[Pin alloc] init];
vega.title=@"Capela";
vega.subtitle=@"Bar";
vega.coordinate= region.center;
[mapview addAnnotation:vega];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(IBAction)SetMap:(id)sender{
switch (((UISegmentedControl *) sender).selectedSegmentIndex) {
case 0:
mapview.mapType=MKMapTypeStandard;
break;
case 1:
mapview.mapType=MKMapTypeSatellite;
break;
case 2:
mapview.mapType=MKMapTypeHybrid;
break;
default:
break;
}
}
-(IBAction)GetLocation:(id)sender{
mapview.showsUserLocation=YES;
}
(IBAction)Directions:(id)sender{
NSString * urlString=@"http://maps.apple.com/maps?daddr=38.711995, -9.144932";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}
@end
VieController.h:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface ViewController : UIViewController{
MKMapView * mapview;
}
@property(nonatomic,retain)IBOutlet MKMapView* mapview;
-(IBAction)SetMap:(id)sender;
-(IBAction)GetLocation:(id)sender;
-(IBAction)Directions:(id)sender;
@end
And in the Connections Inspector everything (buttons) is set up..
You have to check/get the location permission :
add it to your plist file
and add that code to your VC: