2016-12-14 2 views
-1

Ich bin neu bei Objective-C/IOS und ich befolge dieses Tutorial über die Implementierung des aktuellen Standortes des Benutzers auf einer Karte. Befolgte die Anweisungen, aber wenn ich den Knopf drücke, um meinen aktuellen Standort zu sehen, passiert nichts. Kann mir jemand einen Hinweis geben? Ich verwende die neueste Version von Xcode, und ich bin nicht sicher, ob das eine im Tutorial das gleiche ist ... Der Code:IOS/Objective-c: Problem auf MKMapView

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]; 
[email protected]"Capela"; 
[email protected]"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 * [email protected]"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 

Und in der alles Connections Inspector (Tasten) eingerichtet ist ..

+0

Sie haben die Lage Erlaubnis überprüfen –

Antwort

0

Sie überprüfen müssen/den Standort Erlaubnis erhalten:

fügen Sie es Ihrer plist Datei

<key>NSLocationWhenInUseUsageDescription</key> 
<string></string> 

und diesen Code in Ihre VC hinzufügen:

if ([self.locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) 
{ 
    [self.locationManager requestWhenInUseAuthorization]; 
}