2016-03-30 4 views
0

В настоящее время у меня есть два текстовых поля, в которых хранятся значения координат долготы и широты. Хотя по какой-то причине, если я вхожу в N, S, E, W в конце координат, чтобы указать направление, он, кажется, игнорируется и принимает только числовые значения, а стажер вводит меня в неправильное место.Невозможно указать направление долготы и широты

Heres, что я сделал до сих пор.

- (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

Имеет ли текстовое поле форматтера? Возможно, тот, который просто принимает цифры? – trojanfoe

+0

no it doesnt как я могу прикрепить форматировщик? – vype

+0

На самом деле вам нужно использовать делегат для форматирования. – trojanfoe

ответ

2

Значения, которые вы пытаетесь установить, - CLLocationDegrees. Чтобы указать широты к югу от экватора или долготы к западу от Гринвича, используйте отрицательные числа. Используемый вами floatVlaue property просто отбрасывает буквы, которые вы печатаете в конце, так как они не распознаются как часть значения с плавающей запятой.

+0

ОК, который помогает, но вы могли бы также привести мне пример того, как я должен правильно его использовать? – vype

Смежные вопросы