Я разбор этого JSON-файл (правильно, он работает с UITextFields):Добавления аннотаций для координат MKMapView
{"longitude":["37.786793","39.388528"],"latitude":["-122.395416","-78.887734"]}
Ind создания MapViews, с соответствующими аннотациями следующим образом:
NSArray *allKeys2 = [DictionaryMap allKeys];
for (int h = 0; h < [allKeys2 count]; h++) {
CGRect mapFrame = CGRectMake(400, e, 200, 110);
MKMapView *mapView2 = [[MKMapView alloc] initWithFrame:mapFrame];
[image1 addSubview:mapView2];
NSString *key2 = [allKeys2 objectAtIndex:i];
NSObject *obj2 = [DictionaryMap objectForKey:key2];
NSString *address = [NSString stringWithFormat:@"%@", obj2];
float stringFloat = [address floatValue];
float stringFloat2 = [key2 floatValue];
CLLocationCoordinate2D anyLocation;
anyLocation.longitude = stringFloat;
anyLocation.latitude = stringFloat2;
MKPointAnnotation *annotationPoint2 = [[MKPointAnnotation alloc] init]; annotationPoint2.coordinate = anyLocation;
annotationPoint2.title = @"Event";
annotationPoint2.subtitle = @"Microsoft's headquarters2";
[mapView2 addAnnotation:annotationPoint2];
[mapView2.userLocation setTitle:@"I am here"];
[mapView2.userLocation addObserver:self
forKeyPath:@"location"
options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld)
context:NULL];
[mapView2 setShowsUserLocation:NO];
[MapViewArray addObject:mapView2];
if (MapViewArray == nil)MapViewArray = [[NSMutableArray alloc]init];
[MapViewArray addObject: mapView2];
}}
}while(g < f);
... Я хочу, чтобы первый вид карты отображал первый координатный штифт, а второй - вторую пару координат. Но теперь он рисует на всех картах один и тот же вывод, соответствующий последним координатам, а не первым и вторым ... соответственно. Этот метод работает для текста UITextField, поэтому я не могу найти проблему.
Пожалуйста, помогите!
EDIT:
NSString *filenameMap = [NSString stringWithFormat:@"%@%@Map", destDir, NavBar.topItem.title];
NSString *MapPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@Map", NavBar.topItem.title]];
[self.restClient loadFile:filenameMap intoPath:MapPath];
NSString *fileContentMap = [[NSString alloc] initWithContentsOfFile:MapPath];
SBJsonParser *parserMap = [[SBJsonParser alloc] init];
NSDictionary *dataMap = (NSDictionary *) [parserMap objectWithString:fileContentMap error:nil];
NSArray *MaparrayLongitude = [dataMap objectForKey:@"longitude"];
NSArray *MaparrayLatitude = [dataMap objectForKey:@"latitude"];
NSDictionary* DictionaryMap = [NSDictionary dictionaryWithObjects:MaparrayLatitude forKeys:MaparrayLongitude];
Нет, я на самом деле хочу создать много видов карт, каждый с одной аннотацией. Первый вид карты имеет первые контактные координаты, второй вид карты имеет две координаты штырей ... – Alessandro
Посмотрите на мое редактирование, я добавил код, который я использую для анализа файла, возможно, это помогает, потому что предоставленный вами код дает мне ошибки (несовместимый id) – Alessandro
У меня была проблема с NSMutableArray ... решена – Alessandro