Ios 通过segue传递GoogleMapsAPI摄像头更改
所以我在一个视图控制器(ViewControllerX)中创建了一个谷歌地图,上面有大约10个不同的标记。所有标记都是根据从MySQL数据库中提取的lat/long坐标放置的 现在我还有一个TableView(ViewControllerY),它向用户显示附近标记的列表。当他们单击tableview中的某个位置时,会将他们带到显示该位置信息的局部视图控制器。也就是说,我在DetailViewController中添加了一个按钮,上面写着“在地图上显示” 当然,当用户单击此按钮时,我希望它将他们推到MapView控制器(ViewControllerX)并放大相应的标记 我觉得这应该很容易,但这让我发疯。下面是我在DetailViewController中使用的segue,以及接收端的代码(在我的GoogleMapViewController中) 我的问题:有人知道我需要在DetailViewController segue&GoogleMapViewController中放置什么代码,以使相机放大到我在地图上的特定坐标集吗 DetailViewController.mIos 通过segue传递GoogleMapsAPI摄像头更改,ios,objective-c,google-maps,segue,Ios,Objective C,Google Maps,Segue,所以我在一个视图控制器(ViewControllerX)中创建了一个谷歌地图,上面有大约10个不同的标记。所有标记都是根据从MySQL数据库中提取的lat/long坐标放置的 现在我还有一个TableView(ViewControllerY),它向用户显示附近标记的列表。当他们单击tableview中的某个位置时,会将他们带到显示该位置信息的局部视图控制器。也就是说,我在DetailViewController中添加了一个按钮,上面写着“在地图上显示” 当然,当用户单击此按钮时,我希望它将他们推
- (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(谷歌地图)
我想你正在寻找一种方法,可以放大到给定的图像 您可以使用函数
MKMapRectMake
创建MKMapRect
,该函数基于标记位置作为其中心以及宽度和高度,具体取决于所需的缩放级别
希望它对你有用
- (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;
}