iOS: присвоить ссылку значению массива

Рейтинг: 0Ответов: 1Опубликовано: 01.04.2015

Есть view разделённый на 3 блока:

UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(viewWidth, 0, viewWidth, 210)];
[self setApperanceForLabel:label2];
label2.text = @"Local";
[self.scrollView addSubview:label2];

В одном из этих блоков открывается Google карта с мною поставленными маркерами, во втором блоке открывается массив:

NSArray *stringsArray2 = @[
  [NSString stringWithFormat:@"Distance is %f km",betweenDistance/1000],
  [NSString stringWithFormat:@"Distance is %f km",betweenDistance3/1000],
  [NSString stringWithFormat:@"Distance is %f km", betweenDistance4/1000]
];

Который показывает расстояние до того или иного маркера. Задача такая: что бы при нажатии на строку массива открывался соответствующей этой строке маркер. Т.е. нажали на:

 [NSString stringWithFormat:@"Distance is %f km", betweenDistance4/1000]

и открылась карта с такими-то координатами, как такое сделать?

Ответы

▲ 1

В MKPointAnnotation (маркер) у вас есть широта и долгота, и вам нужно реализовать метод из MKMapView setRegion чтобы пронавигироваться к этой точке (по координатам). Создаёте CLLocationCoordinate, потом MKCoordinateRegion и присваиваете карте регион. Например так:

CLLocationCoordinate2D location;
location.latitude = 53.9000;
location.longitude = 27.5667;

MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(location, 2500, 2500);

[self.mapView setRegion:[self.mapView regionThatFits:region] animated:YES];

P.S. Для работы с картами рекомендую пройти бесплатный и очень хороший курс на Code School - Google Maps SDK for iOS от Google