2013-06-11 2 views
-5

J'ai un NSString avec la valeur de:Pause NSString en latitude et la longitude et Recentrer MapView

NSString *combined = "10014, 40.734, -74.0053"; 

Je voudrais briser cette chaîne où il y a des virgules dans trois NSStrings qui ont appelé bZip, Blat et Blon pour que les valeurs seraient comme ci-dessous:

bZip = 10014 
bLat = 40.734 
bLon = -74.0053 

Je voudrais ensuite utiliser le Blat et Blon coordonnées de mettre à jour l'emplacement du centre sur un MapView. MapView extrait les données d'un flux JSON et trace les marqueurs, mais je dois recentrer la carte sur les coordonnées qui ont été enregistrées dans les valeurs de bLat et bLon.

Je suppose que je dois faire ce changement après la ligne:

[self.mapView1 addAnnotations:newAnnotations]; 

Est-ce que quelqu'un sait comment me aider à y arriver? Merci à tous!

NSData *data = [NSData dataWithContentsOfURL:url]; 

NSError *error; 
NSArray *array = [NSJSONSerialization JSONObjectWithData:data 
               options:0 
                error:&error]; 

CLLocationCoordinate2D location;       
NSMutableArray *newAnnotations = [NSMutableArray array]; 
MapViewAnnotation *newAnnotation;       

for (NSDictionary *dictionary in array) 
{ 
    location.latitude = [dictionary[@"placeLatitude"] doubleValue]; 
    location.longitude = [dictionary[@"placeLongitude"] doubleValue]; 

    newAnnotation = [[MapViewAnnotation alloc] initWithTitle:dictionary[@"name"] 
               andCoordinate:location]; 

    [newAnnotations addObject:newAnnotation]; 


} 

[self.mapView1 addAnnotations:newAnnotations]; 
+2

1. Ce n'est pas lié à Xcode. 2. Avez-vous googlé cela? Il y a ** tonnes ** de dupes sur Stack Overflow et à d'autres endroits aussi. 3. Si non, avez-vous au moins ** essayé ** de faire quelque chose vous-même? C'est ** trivial, ** je pourrais énumérer 3 ou 4 façons de le faire au sommet de ma tête. –

+0

duplication possible de [Objective-C Split()?] (Http://stackoverflow.com/questions/3558888/objective-c-split) et [this] (http://stackoverflow.com/questions/259956/nsstring -tokenize-in-objective-c) et [celui-ci aussi] (http://stackoverflow.com/questions/5095349/how-to-split-strings-in-objective-c) et [cette question aussi.] (http://stackoverflow.com/questions/3470756/split-one-string-into-different-strings) –

+0

@ H2CO3, merci de me laisser savoir ne pas inclure Xcode dans l'étiquette pour les questions de développement iOS. En réponse à la question 2 - oui, je l'ai googlé. Pas encore trivial pour moi, mais un jour j'espère être en mesure de faire trois ou quatre façons de le faire. Merci beaucoup :) – Brandon

Répondre

3

Exemple de code:

NSArray *stringArray = [combined componentsSeparatedByString: @","]; 

NSString *bZip = [stringArray objectAtIndex:0]; 
NSString *bLat = [stringArray objectAtIndex:1]; 
NSString *bLon = [stringArray objectAtIndex:2]; 
1

Essayez d'utiliser celui-ci

NSString *combined = "10014, 40.734, -74.0053"; 
    NSArray *data = [combined componentsSeparatedByString:@", "]; 

NSLog(@"bZip = %@",[data objectAtIndex:0]); 
NSLog(@"bLat = %@",[data objectAtIndex:1]); 
NSLog(@"bLon = %@",[data objectAtIndex:2]); 
2
NSString *combined = @"10014, 40.734, -74.0053"; 
NSArray *array = [combined componentsSeparatedByString:@","]; 
Questions connexes