Как я могу разобрать следующую строку - PullRequest
0 голосов
/ 27 марта 2012

У меня есть строковое значение.

NSString *myString = @"Latitude:-31.9504140#Longitude:115.8606040";

Как извлечь значение широты и долготы из строки и присвоить его координате

CLLocationCoordinate2D coordinate;
coordinate.Latitude;
coordinate.Longitude;

Ответы [ 3 ]

6 голосов
/ 27 марта 2012
double lon, lat;
sscanf([myString UTF8String], "Latitude:%lf#Longitude:%lf", &lon, &lat);
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(lon, lat);
6 голосов
/ 27 марта 2012

если ваш формат такой же, вы можете получить широту и долготу, используя следующий код

NSString *myString = @"Latitude:-31.9504140#Longitude:115.8606040";
NSString *Latitude = [[[[myString componentsSeparatedByString:@"#"] objectAtIndex:0] componentsSeparatedByString:@":"] objectAtIndex:1];
NSString *Longitude = [[[[myString componentsSeparatedByString:@"#"] objectAtIndex:1] componentsSeparatedByString:@":"] objectAtIndex:1];
NSLog(@"Latitude--%@,Longitude---%@",Latitude,Longitude);
1 голос
/ 27 марта 2012

Что-то вроде этого должно сделать это:

NSArray *components = [myString componentsSeparatedByString:@"#"];
NSArray *latitude = [[components objectAtIndex:0] componentsSeparatedByString:@":"];
NSArray *longitude = [[components objectAtIndex:1] componentsSeparatedByString:@":"];

CLLocationCoordinate2D coordinate;
coordinate.Latitude = [[latitude objectAtIndex:1] doubleValue];
coordinate.Longitude = [[longitude objectAtIndex:1] doubleValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...