我可能遗漏了一些东西,但我按照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密钥。但我在编译时得到了这个。
我使用了一个断点,这个异常似乎是在执行这一行时产生的:
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];
非常感谢您的任何帮助。
答案 0 :(得分:0)
我猜它想要一个最小的帧大小。我在文档中没有看到任何内容,但我会尝试这个......
mapView_ = [GMSMapView mapWithFrame:CGRectMake(0,0, 200, 200) camera:camera];
或者您想要的实际宽度和高度的任何帧大小。
修改强>
在进一步审核您的代码后,我看到了
self.view = mapView_;
mapView_可能实际上不是GMSMapView。
修改编辑
获取完整的错误日志后,听起来好像是导入或设置问题。
我会验证没有错过任何需要的导入,并且正确添加了所需的链接器标志-ObjC。
希望有帮助=)