Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 通过segue传递GoogleMapsAPI摄像头更改_Ios_Objective C_Google Maps_Segue - Fatal编程技术网

Ios 通过segue传递GoogleMapsAPI摄像头更改

Ios 通过segue传递GoogleMapsAPI摄像头更改,ios,objective-c,google-maps,segue,Ios,Objective C,Google Maps,Segue,所以我在一个视图控制器(ViewControllerX)中创建了一个谷歌地图,上面有大约10个不同的标记。所有标记都是根据从MySQL数据库中提取的lat/long坐标放置的 现在我还有一个TableView(ViewControllerY),它向用户显示附近标记的列表。当他们单击tableview中的某个位置时,会将他们带到显示该位置信息的局部视图控制器。也就是说,我在DetailViewController中添加了一个按钮,上面写着“在地图上显示” 当然,当用户单击此按钮时,我希望它将他们推

所以我在一个视图控制器(ViewControllerX)中创建了一个谷歌地图,上面有大约10个不同的标记。所有标记都是根据从MySQL数据库中提取的lat/long坐标放置的

现在我还有一个TableView(ViewControllerY),它向用户显示附近标记的列表。当他们单击tableview中的某个位置时,会将他们带到显示该位置信息的局部视图控制器。也就是说,我在DetailViewController中添加了一个按钮,上面写着“在地图上显示”

当然,当用户单击此按钮时,我希望它将他们推到MapView控制器(ViewControllerX)并放大相应的标记

我觉得这应该很容易,但这让我发疯。下面是我在DetailViewController中使用的segue,以及接收端的代码(在我的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(谷歌地图)


我想你正在寻找一种方法,可以放大到给定的图像

您可以使用函数
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;


}