缺少地图,只有标记可见

时间:2016-11-18 10:29:36

标签: ios objective-c google-maps google-maps-sdk-ios

我很难弄清楚出了什么问题。我在SO上遇到了类似的问题,但是这里提到的解决方案没有用。其中一个流行的解决方案是启用“Google Maps SDK for iOS”,但在我的情况下已经启用了它: enter image description here

我想我已经处理了Google教程中提到的所有内容,但是当我在模拟器中运行我的应用时,会发生这种情况:

enter image description here

然后我检查了我的控制台以找到这个: enter image description here

我在生成密钥时检查了我bundle ID我输入的内容,这是正确的,在AppDelegate.m中输入的密钥也没有错。有人可以帮我弄这个吗。提前谢谢。

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[GMSServices provideAPIKey:@"MY-KEY"]; 

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = [[ViewController alloc] init];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];

return YES;
}

ViewController.m

- (void)viewDidLoad {
[super viewDidLoad];

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                        longitude:151.20
                                                             zoom:6];
GMSMapView *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;
[self.view layoutIfNeeded];
}

3 个答案:

答案 0 :(得分:1)

再次检查您的google服务密钥是否为有效密钥。 密钥无效地图未显示。

[GMSServices provideAPIKey:@"AIzaSyXXXXXXXXXXXXXXXXXXXXXX"];

答案 1 :(得分:0)

您可以尝试以下几种方法:

  1. 包括花括号。对于一些人来说,它有用:
  2. <强> [GMSServices provideAPIKey:@"{MY-KEY}"];

    1. 手动输入API密钥而不是复制&amp;贴上钥匙。有时一些字符在复制粘贴过程中有所不同。

    2. 如果无效,请重新开始。

答案 2 :(得分:0)

我遇到了类似的问题并通过使用此链接为iOS(而不是javascript或android)生成并启用正确的APIKey来修复它 - APIKey for iOS