Set up the Maps SDK for iOS

  • An API key is a unique identifier that authenticates requests associated with your project for usage and billing purposes, and you must have at least one for your project.

  • You can create an API key through the Google Cloud Console or by using the Cloud SDK.

  • Google strongly recommends restricting your API keys to enhance security by limiting their usage to only the necessary APIs for your application.

  • You can restrict API keys by application and API, with application restrictions taking precedence.

  • Once you have obtained your API key, you can proceed to create and configure your Xcode project for Maps SDK for iOS.

This document describes the prerequisites for using the Maps SDK for iOS, how to enable it, and then how to make an authenticated request.

Configure API key

Google Maps Platform products are secured from unauthorized use by requiring API calls to include an API key.

An API key is a unique alphanumeric string that associates your Cloud Billing account and Google Cloud project with the request your application makes to a Google Maps Platform API or SDK.

Get an API key for use with Maps SDK for iOS

To get an API key:

Console

  1. Go to the Google Maps Platform > Keys & Credentials page.

    Go to the Keys & Credentials page

  2. If prompted, select an existing project.
  3. The list of available keys appears under API Keys.

    If you don't have an API key, or you want to create an API key for use with the Maps SDK for iOS, create a new API key:

    1. On the Keys & Credentials page, click + Create credentials > API key.

      The API key created dialog displays your newly created API key.

  4. Click the Name of an API key to edit the key.
  5. On the edit page, under Key restrictions:

    • Under Application restrictions, if any option other than None is selected, only requests originating from those sources are permitted. For more information, see Restrict your API keys.
    • Under API restrictions:

      • If Restrict key is selected, select the drop-down box to add the Maps SDK for iOS to the API key.
      • If Don't restrict key is selected, then you can use the API key to make requests to Maps SDK for iOS.

      Remember to restrict the API key before using it in production.

  6. Select Save.
  7. Select Show key for the key you edited to display the key's alphanumeric string. You will need that string to configure your development environment.

gcloud

  1. Get the ID of the key that you want to update.

    The ID is not the same as the display name or the key string. You can get the ID by using the following gcloud command to list the keys in your project.

    gcloud services api-keys list

    The ID is part of the name field of the response for each key:

    name: projects/PROJECT_ID/locations/global/keys/KEY_ID
  2. If you don't have an API key, or you want to create an API key for use with the Maps SDK for iOS, create a new API key:

    gcloud services api-keys create \
        --project "PROJECT" \
        --display-name "DISPLAY_NAME"

    Read more about the Google Cloud SDK , Cloud SDK installation , and the following commands:

  3. Use the gcloud services api-keys update command to specify which services an API key can be used to authenticate to.

    Replace the following values:

    • KEY_ID: The ID of the key that you want to restrict.
    • SERVICE_1, SERVICE_2...:

      The service names of the APIs that the key can be used to access. You must provide all service names with the update command; the service names provided replace any existing services on the key.

    You can find the service name by searching for the API on the API dashboard. For the Maps SDK for iOS, the service names maps-ios-backend.googleapis.com.

    gcloud services api-keys update KEY_ID \
    --api-target=service=maps-ios-backend.googleapis.com \
    --api-target=service=SERVICE_1 --api-target=service=SERVICE_2
    

Apply API key restrictions

Google strongly recommends that you restrict your API keys by limiting their usage to those only APIs needed for your application. Restricting API keys adds security to your application by protecting it from unwarranted requests. You are financially responsible for charges caused by abuse of unrestricted API keys. For more information, see Google Maps Platform security guidance.

API keys support two types of restrictions:

For more information on applying restrictions, see Restrict your API keys.

What's next

Now that you have enabled Maps SDK for iOS and configured an API key, see Set up an Xcode project to learn more how to configure Xcode and how to pass the API key to your app.