GoogleMaps (GMSView) Won't display in iOS

I have incorporated the following:

  1. Tried importing both the GoogleMaps/GoogleMaps.h as well as the GoogleMapsM4B/GoogleMaps.h files through an Obj-C Bridging Header
  2. Manually typed out the iOS API key in my AppDelegate.swift (didFinishLaunchingWithOptions) method.
  3. Cleaned the project (command+shift+k)
  4. Closed/relaunched Xcode
  5. Uninstalled/reinstalled Xcode

And pretty much everything else other people have suggested. I have spent two days straight trying to fix this problem. Does anyone know a solution to this problem?

The console complaint is:

> "2015-08-17 18:02:19.899 Project[608:10014] ClientParametersRequest
> failed, 3 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790bc050
> {data=<CFData 0x7925cb40 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:19.899 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) version: 1.10.17867.0 2015-08-17 18:02:19.959
> randoPracty[608:10014] ClientParametersRequest failed, 2 attempts
> remaining (0 vs 6). Error Domain=com.google.HTTPStatus Code=400 "The
> operation couldn’t be completed. (com.google.HTTPStatus error 400.)"
> UserInfo=0x7925cf40 {data=<CFData 0x79187b20 [0x22da9a8]>{length =
> 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ...
> 3c2f48544d4c3e0a}} 2015-08-17 18:02:24.406 randoPracty[608:10014]
> ClientParametersRequest failed, 1 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790f4c60
> {data=<CFData 0x786e5610 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] ClientParametersRequest
> failed, 0 attempts remaining (0 vs 6). Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.797 randoPracty[608:10014] Google Maps SDK for iOS
> (M4B) cannot connect or validate APIKey: Error
> Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be
> completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390
> {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256,
> bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
> 2015-08-17 18:02:32.798 randoPracty[608:10014] Your key may be invalid
> for your bundle ID: com.User.ProjectName"

Answers


I too faced the same problem. First of all follow the steps below.

  1. Have all the steps mentioned in this link been followed by you?

  2. Though you are unable to get through, check your Bundle Identifier is matching with the one you used to create the key.

If everything is well and good, the problem is with the framework. Initially I too used the GoogleMapsM4B framework which didn't work for me. I downloaded the other framework which works fine for me from this link.

Add the new framework (GoogleMaps.framework) and remove the GoogleMapsM4B framework from the project. This solved my problem. Hope this helps you.

EDIT:

From version 1.10.0 onwards, the framework installation is supported only via cocoapods. And all zip downloads were removed for previous versions. Read "Migration from 1.9.2 or earlier:" section under "Version 1.10.0 - May 2015" in this link.


Just enable "Google Maps SDK for iOS" for your project in Google Developers Console.


I had the same problem. In my case it was, that I had to manually activate the Google Maps SDK for iOS and Google Places SDK for iOS in the Overview section of Googles API Library.

The steps how to activate it are:

  1. Go to the Overview page in the API Library.
  2. Choose here Google Maps SDK for iOS and Google Places SDK for iOS.

  1. Choose at the top left, the second item. On the screenshot it's now enabled. Before it was disabled.

Maybe this helps someone as well.

Kind regards Matt


Can you update your question to provide any more details? (xcode version, Google Maps Framework version, etc)

  1. Double check that your API key is valid for your bundle id on console.developer.google.com
  2. When running, check and see if any SSL errors are occurring in the console. In my case, I was having certificate problems with Google, and this interfered with my map tiles loading.
  3. Make sure you only have either the M4B framework OR the normal framework in your project. If you include both, I am pretty sure they are conflicting with each other.

Hope this helps out; it just randomly started working correctly in my case.


Check the Bundle identifier specified in the Xcode project target setting and the google project page where you created the google API key. both should match otherwise GMSServices.provideAPIKey(googleMapsAPiKey) will pass but you will get connection error

The operation couldn’t be completed. (com.google.HTTPStatus error 400.)


I faced this problem too and after an hour of Googling and juggling on #SO, I have come to know this little mistake:

If you have changed your API key (somewhere during the development)

[GMSPlacesClient provideAPIKey:@"YOUR_API_KEY"];

which you add to your didFinishLaunchingWithOptions: method in your AppDelegate.m file. Make sure it is the same as you used to activating the Google Places API here

Hope this may help to someone after trying every solution.


Need Your Help

Save a BufferedImage object to Amazon S3 as a file

java amazon-s3

I currently make use of the following to upload a file to S3:

How to call an ASP.NET WebMethod in a UserControl (.ascx)

c# jquery asp.net webmethod ascx

Is it possible to place a WebMethod in an ascx.cs file (for a UserControl) and then call it from client-side jQuery code?