将Google Maps API实施到iOS应用程序项目中的问题

时间:2015-03-01 23:09:59

标签: ios objective-c xcode google-maps

我可能遗漏了一些东西,但我按照Google Maps SDK for iOS Site中指出的步骤进行了操作,但到目前为止我没有成功。我尝试运行它们在页面底部的示例代码,而我的编译器一直在用一个未捕获的异常来欺骗我。

这是我的实施:

@implementation ViewController {
    GMSMapView *mapView_;
}

在viewDidLoad中跟着这个:

[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                        longitude:151.20
                                                             zoom:6];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView_.myLocationEnabled = YES;
self.view = mapView_;

// Creates a marker in the center of the map.
GMSMarker *marker = [[GMSMarker alloc] init];
marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
marker.title = @"Sydney";
marker.snippet = @"Australia";
marker.map = mapView_;

我确实包含了一行:

[GMSServices provideAPIKey:@"API Key"];

并将API密钥字符串替换为我的实际API密钥。但我在编译时得到了这个。

enter image description here

我使用了一个断点,这个异常似乎是在执行这一行时产生的:

mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

enter image description here

非常感谢您的任何帮助。

1 个答案:

答案 0 :(得分:0)

我猜它想要一个最小的帧大小。我在文档中没有看到任何内容,但我会尝试这个......

mapView_ = [GMSMapView mapWithFrame:CGRectMake(0,0, 200, 200) camera:camera];

或者您想要的实际宽度和高度的任何帧大小。

修改

在进一步审核您的代码后,我看到了

self.view = mapView_;

mapView_可能实际上不是GMSMapView。

修改编辑

获取完整的错误日志后,听起来好像是导入或设置问题。

我会验证没有错过任何需要的导入,并且正确添加了所需的链接器标志-ObjC。

希望有帮助=)