2016-03-30 12 views
0

Momentan habe ich zwei Textfelder, die die Werte meiner Längen- und Breitengradkoordinaten enthalten. Obwohl aus irgendeinem Grund, wenn ich N, S, E, W am Ende der Koordinaten gebe, um die Richtung anzugeben, scheint es ignoriert zu werden und nimmt nur die Zahlenwerte und Interner bringt mich an die falsche Stelle.Längen- und Breitengrad können nicht angegeben werden

Heres, was ich bisher gemacht habe.

- (void)viewDidLoad { 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
mapview.showsUserLocation = YES; 

MKCoordinateRegion region = { {0.0, 0.0}, {0.0,0.0}}; 
region.center.latitude = [self.myTextField.text floatValue]; 
region.center.longitude = [self.myTextField1.text floatValue]; 
region.span.longitudeDelta = 0.01f; 
region.span.latitudeDelta = 0.01f; 
[mapview setRegion:region animated:YES]; 


MapPin *ann = [[MapPin alloc] init]; 
ann.title = @"Test"; 
ann.subtitle = @"test"; 
ann.coordinate = region.center; 
[mapview addAnnotation:ann]; 

} 
+0

Ist im Textfeld ein Formatierer angehängt? Vielleicht eine, die nur Zahlen akzeptiert? – trojanfoe

+0

nein, wie würde ich einen Formatierer anhängen? – vype

+0

In der Tat müssen Sie den Delegaten zum Formatieren verwenden. – trojanfoe

Antwort

2

Die Werte, die Sie festlegen möchten, sind CLLocationDegrees. Um Breitengrade südlich des Äquators oder Längen westlich von Greenwich anzugeben, verwenden Sie negative Zahlen. Die floatVlaue property, die Sie verwenden, wirft nur die Buchstaben weg, die Sie am Ende eingeben, da sie nicht als Teil eines Gleitkommawerts erkannt werden.

+0

ok das hilft aber könntest du mir auch ein beispiel geben wie ich es richtig benutzen soll? – vype

Verwandte Themen