Итак, я создал карту Google с примерно 10 различными маркерами на контроллере View (ViewControllerX). Все маркеры размещаются в соответствии с lat/long координатами, вытаскиваемыми из базы данных MySQL.Передача изменения камеры GoogleMapsAPI через segue
Теперь у меня также есть TableView (ViewControllerY), который показывает пользователям список ближайших маркеров. Когда они нажимают на местоположение в представлении таблицы, он переносит их в контроллер подробного представления, который отображает информацию о местоположении. Тем не менее, я добавил кнопку в DetailViewController, в которой говорится: «Показать на карте».
Естественно, когда пользователи нажимают эту кнопку, я хочу, чтобы она нажала их на контроллер MapView (ViewControllerX) и увеличила масштаб на соответствующем маркере.
Я чувствую, что это должно быть легко, но это заставляет меня гайки. Ниже приведен пример, который я использую в моем DetailViewController, и код, который находится на принимающей стороне (в моем GoogleMapViewController).
Мой вопрос: Кто-нибудь знает, какой код мне нужно поместить внутри DetailViewController Segue & GoogleMapViewController сделать зум камеры в моей конкретной системе координат на карте?
DetailViewController.m
- (IBAction)showonMap:(id)sender {
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_1" bundle:nil];
UIViewController *initViewController = [storyBoard instantiateViewControllerWithIdentifier:@"GoogleViewController"];
[self.navigationController pushViewController:initViewController animated:YES];
}
GoogleViewController.m (Google Map)
- (void)viewDidLoad
{
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:49.282237
longitude:-123.125966
zoom:13];
mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
self.view = mapView;
for (NSDictionary *dictionary in array) {
assert([dictionary respondsToSelector:@selector(objectForKey:)]);
CLLocationCoordinate2D position = {[[dictionary objectForKey:@"lat"] doubleValue],
[[dictionary objectForKey:@"lng"] doubleValue]};
NSLog(@"%f", position.longitude);
GMSMarker *ann = [[GMSMarker alloc] init];
ann.title = [dictionary objectForKey:@"Name"];
ann.snippet = [dictionary objectForKey:@"Address1"];
ann.position = position;
ann.map = mapView;
}