FAQ

Getting Started

Understanding the terms of service

Usage limits and billing

Using the Google Maps Platform

Errors and troubleshooting

Google Maps Platform Services

Google Maps SDK for iOS

Getting Started

What is the Google Maps Platform?

The Google Maps Platform gives developers several ways of embedding Google Maps into web pages or retrieving data from Google Maps, and allow for either simple use or extensive customization. There are several API offerings:

Maps:

Routes:

Places:

Depending on your needs, you may find yourself using one or a combination of these APIs.

Which API do I need?

For help in finding the right API based on your functional requirements, take a look at the API picker.

What countries does the Google Maps Platform cover?

The Google Maps team is constantly pushing new map data out and increasing our international coverage. Consult the Google Maps coverage data for the latest coverage information. You can filter the data with the filter box at the top of the page. Please note that coverage data can change if licensing agreements with the data providers change.

Also see:

Can I put Google Maps on my site without using Google Maps Platform products?

Yes. Google Maps now offers the ability to embed the map that you're viewing into your website or blog, without any programming or use of the Google Maps Platform. More information is available here.

How do I deliver Maps applications on mobile devices?

To incorporate maps in an Android application, use the Maps SDK for Android.

To incorporate maps in a native iOS application, use the Maps SDK for iOS.

The Maps JavaScript API has been developed to cater to mobile devices, and is suitable for browser applications targeted at both the desktop and devices that include a web browser with a full JavaScript implementation, such as the Apple iPhone.

For applications targeted at devices not suitable for using the Maps JavaScript API, the Maps Static API delivers map images in GIF, JPG, and PNG formats, including markers and polylines. Note that use of the Maps Static API outside of browser based applications requires that the map image be linked to Google Maps.

Which web browsers does the Maps JavaScript API support?

The Maps JavaScript API supports the following web browsers.

Desktop
  • The current and previous versions of Chrome (Windows, macOS, Linux).
  • The current and previous versions of Safari (macOS).
  • The current and previous versions of Firefox (Windows, macOS, Linux).
  • The current version of Microsoft Edge (Windows).
  • Internet Explorer 10 and 11 (Windows).
Android
  • The current version of Chrome on Android 4.1+.
  • Chrome WebView on Android 4.4+.
iOS
  • Mobile Safari on the current and previous major versions of iOS.
  • UIWebView and WKWebView on the current and previous major versions of iOS.
  • Current version of Chrome for iOS.
Can I print maps from the Maps JavaScript API?

Printing from the Maps JavaScript API is not supported. This is because printing support is inconsistent across commonly used browsers.

How do I start using the Google Maps Platform products on my site?

See the Maps JavaScript API documentation for examples and details.

How can I be notified when there are changes to Google Maps Platform products?

You should subscribe to the Google Geo Developers Blog for news updates across the various Google Geo developer offerings.

How do I contact technical support?

See the Maps support page for more information about available support options. To sign up for technical support, visit the Google Cloud Platform support page.

When is technical support available?
The support team is available 24x5 (weekdays from Monday 9 a.m. Tokyo time to Friday 5 p.m. Pacific time) excluding regional holidays for "service unusable" issues.

Understanding the terms of service

What are the terms of service for Google Maps Platform products?

The Google Maps Platform Terms of Service are available at:

https://cloud.google.com/maps-platform/terms

Does my site meet the Google Maps Platform Terms of Service?

You can use the Google Maps Platform within your applications as long as your site meets the Google Maps Platform Terms of Service.

However, there are some uses of the Google Maps Platform that we just don't want to see: maps that identify the places to buy illegal drugs in a city, for instance, or any other illegal activity. We also respect people's privacy, so the Google Maps Platform shouldn't be used to identify private information about individuals.

You should use your own counsel to determine whether your application complies with the Google Maps Platform Terms of Service before you develop and launch it. Google engineers can only offer technical assistance and are not qualified to offer legal advice. Google reserves the right to suspend or terminate your use of the service at any time, so please read the Maps APIs Terms carefully.

Can I access the Maps and Satellite images directly?

You may not access the maps or satellite images through any mechanism besides the Google Maps Platform (such as the creation of your own mapping API or the use of a bulk tile download script). Your application's access to the tiles will be blocked if it accesses them outside of the Google Maps Platform. See the Google Maps Platform Terms of Service for more details.

Can I use Google Maps Platform products for tracking applications?

There is no restriction on displaying real-time data (tracking) with Google Maps Platform products provided that the application complies with the Google Maps Platform Terms of Service.

Can I use Google Maps in my non-Web application?

Yes, Google Maps Platform products can now be used in non-Web applications, provided that they adhere to the other restrictions of the Google Maps Platform Terms of Service.

The Maps JavaScript API is only supported when run in one of the supported browsers.

Can I use Google Maps Platform products on a site that is password protected?

Yes, Google Maps, Routes, Places services can be used with private-access applications. See the Google Maps Platform Terms of Service for more details.

Can I use screen shots of a Google Maps Platform application in printed materials or offline media?

Limited amounts Google Maps imagery may be included in printed materials, subject to both the Google Maps Platform Terms of Service and the Geo Permissions Guidelines.

How can I opt out of including my content in Google search results?

We are no longer collecting this data. The use of the indexing parameter has been deprecated and has no effect. You no longer need to opt out explicitly, but we encourage you to remove this parameter at your earliest convenience.

To remove your page or site from search results, follow the instructions provided in our webmaster help center.

What information is sent to Google when I use the Maps JavaScript API?

When using the Maps JavaScript API, the following information is sent to Google:

  • Map size and location for retrieving map tiles and copyrights
  • Addresses for geocoding
  • Direction and Elevation requests
  • Locations around which to search for Places
  • KML when using KmlLayer
Can I generate a map image using the Maps Static API which I store and serve from my website?

You may not store and serve copies of images generated using the Maps Static API from your website. All web pages that require static images must link the src attribute of an HTML img tag or the CSS background-image attribute of an HTML div tag directly to the Maps Static API so that all map images are displayed within the HTML content of the web page and served directly to end users by Google.

Usage limits and billing

Attention customers in Brazil, Canada, and India.

Note to customers in Brazil, Canada, and India who create an account with Google Maps Platform after September 10, 2018. For each billing account, for qualifying Google Maps Platform SKUs, a $200 USD Google Maps Platform credit per API is available each month, and is automatically applied to the qualifying SKUs. This credit is prorated based on $200 divided by 30 days (e.g. $200/30 = $6.67 per day) and it resets each day for each API.

For example, the Geocoding API costs $5.00 per 1,000 calls, or $0.005 per call. Over a span of 30 days, the daily usage credit for the Geocoding API is $6.67 per day. This means that you would be able to make 1,334 calls to the Geocoding API per day for free.

If your usage of any APIs exceeds the daily equivalent of $200 USD consumption regularly, contact us and we will connect you with a Google Maps Platform partner in your country, who can help transition you to a Premium Plan license.

If your usage of an API reaches the equivalent of $200 USD consumption in a day (e.g. 1/30 of $200 or $6.67) and you have not moved to a Premium Plan license, that API will receive a degraded experience until the credit is reset at 12:00am PST.

Google is working to provide billing options for customers who are not on Premium Plan, and will update the affected customers in the coming months.

How do I setup/enable billing for my project?
To set up billing, visit the Google Cloud Platform Console.
Does the Google Maps Platform have usage limits?

There are no maximum daily limits on the number of requests you can make to Google Maps Platform products, and the only usage limits are related to the maximum number of "Queries Per Second" (QPS). The following table shows the QPS limit for each API:

API QPS limit

Directions

50 QPS

Distance Matrix

1000 EPS

Elevation

100 QPS

Geocoding

50 QPS

Geolocation

100 QPS

Dynamic Maps

500 QPS

Static Maps

500 QPS

Street View Image API

500 QPS

Time Zone

500 QPS

Places (JavaScript and web)

50 QPS

Roads

500 QPS

In order to govern expenditures, you can monitor your API usage, and set daily limits to all requests to any billable API.

Google Maps Platform products must be deployed in compliance with the standard Google Maps Platform Terms of Service.

How is usage cost calculated?

For an overview of pricing for the Google Maps Platform products, please see the Pricing Sheet.

To learn more about how Google Maps Platform APIs are billed, please see Understanding billing for Maps, Routes, and Places.

How are map loads counted on the Google Maps Platform?

A single map load is charged when any of the following occur:

  • A web page or application displays a map using the Maps JavaScript API.
  • An application requests a single map image from the Maps Static API.

Street View panoramas are charged separately from map loads:

  • A static Street View panorama is charged for each request to the Street View Static API to embed a static (non-interactive) Street View panorama.
  • A dynamic Street View panorama is charged for each instantiation of a panorama object in a Maps JavaScript API, Maps SDK for Android, Maps SDK for iOS application.

After a web page or application loads a map, or a static map image, or a Street View panorama, any user interactions with it, such as panning, zooming, or switching map layers, do not generate additional map loads or affect usage limits.

How do I monitor my usage?

You can monitor the usage of individual APIs in the Google Cloud Platform Console.

  1. Select the project that contains the API you want to review.
  2. From the list of APIs on the Dashboard, click the name of the API.
  3. Near the top of the page, click Quotas or Usage.

To see a traffic report and billing information for an entire project, follow these steps:

  1. Enable billing if you haven't already done so.
  2. Visit the Google Cloud Platform Console billing page.
  3. Select a project.
  4. In the left sidebar, click Reports. Use the filters on the right sidebar to view reports on your billing account.

Learn more about capping API usage.

What happens if I exceed the request rate (QPS) limits?

If you exceed the QPS limits of a given Google Maps Platform product, the API will return an error message. If you repeatedly exceed the limits, your access to the API may be temporarily blocked.

If you exceed the request QPS limits or otherwise abuse the service, requests will return a specific error message. If you continue to exceed limits, your access to the Google Maps Platform may be blocked.

Note: Four of the web service APIs have an equivalent client-side service available in the Maps JavaScript API: Directions, Distance Matrix, Elevation, and Geocoding.

Usage limits exceeded

If you exceed the usage limits you will get an OVER_QUERY_LIMIT status code as a response.

This means that the web service will stop providing normal responses and switch to returning only status code OVER_QUERY_LIMIT until more usage is allowed again. This can happen within a few seconds, if the error was received because your application sent too many requests per second.

If you regularly exceed your QPS usage limits, consider lowering usage, by optimizing applications to use Google Maps Platform products more efficiently. See the Optimization Guide for more information.

My site gets a lot of traffic. Can I use Google Maps Platform products?

Yes. However we recommend that you familiarize yourself with the usage limits for any of the Google Maps Platform that your application relies on.

If you exceed the free $200 monthly usage, and you do not have a valid payment instrument on your billing account (credit card, bank transfer, ...), the API ceases to function until a payment instrument is added.

How will usage be calculated and billed?

Usage is calculated at the end of each day. To enable billing you need to provide your credit card details. Your usage will continue to be calculated at the end of each day, and the total charged to the credit card provided at the end of every month, priced as given in the Pricing Sheet. For more details, see our guide to understanding Google Maps Platform billing.

How much does it cost to use the Google Maps Platform?

See the Pricing Sheet for an overview of cost per API. If your application generates requests or map load volumes below the complimentary $200 per month usage, your usage is free. Usage that exceeds the $200 monthly credit will be charged to your billing account. For more details, see our guide to understanding Google Maps Platform billing.

Is pricing available in other currencies?

Additional currencies may be available within the console. When you select a different currency, rates will convert from the USD equivalent listed on our Pricing Sheet.

I've enabled billing. How do I view my bill?

Google charges you at the beginning of each month for the previous month's activity, using your specified payment method. For details about your bill, see our guide to understanding Google Maps Platform billing.

Additional resources:

How do I avoid a large bill if my usage unexpectedly increases?

The Google Maps Platform provides ways to set daily request limits and set maximum daily billable limits. You can cap the maximum daily limit on usage to protect against unexpected increases. You can also set budget alerts to receive email notifications when the charges on the billing account reach a threshold you set.

Capping the maximum daily billable limit:

To avoid a large bill, you can set a daily cap on usage to protect against unexpected increases in use. You can change this limit in the Google Cloud Platform Console by taking the following steps:

  1. Go to the APIs & Services Dashboard.
  2. Select a project if prompted.
  3. Select an API from the list, then click the Quotas tab.
  4. Click the edit icon next to the "requests per day" quota.

Alternatively, you can edit multiple quotas for multiple APIs using the IAM & admin Quotas dashboard.

Setting and managing budget alerts:

Set up budget alerts to send email notifications to billing administrators when the charges on the billing account reach a threshold you set. Billing administrators will be sent email notifications when the estimated charges on the billing account exceed 50%, 90%, and 100% of the threshold.

I got a message saying that my project is linked to the "Google Maps Platform Transition Account", but I don't have access to that account. What do I do?

The "Google Maps Platform Transition Account" was created to help certain customers transition to our new pay-as-you-go pricing plan. This transition account enabled Google to provide these customers with a one-time credit, so that they could continue using Google Maps Platform up to the limit of the $200 free tier. Once this limit is exceeded, the billing account will shut down and you will lose access to the service. To avoid service interruptions, we urge you to set your own billing account, and continue to enjoy the $200 monthly free tier. To change the billing account for your project:

  1. Create a new billing account (if you already have a billing account, you can skip this step).
  2. Associate the billing account with your project.
Why is my Quota limit set to 1 Request per day? How can I raise this limit?

If billing is not enabled on your project, your Maps Platform APIs will be limited to 1 request per day. You can get higher quota by enabling billing on your project. To enable billing for your project:

  1. Create a new billing account (if you already have a billing account, you can skip this step).
  2. Associate the billing account with your project.

Once billing is enabled on your project, your daily quota limit will be removed. You can decide to set a limit to prevent unexpected spend, in the Console.

Using the Google Maps Platform

What keys or credentials should I use for different Maps products?

Each time you use Google Maps Platform products, you must include an API key to validate your request. The Google Maps Platform is available for Android, iOS or Web apps, and via HTTP web services.

API Key:

  • An API key is a unique identifier that you generate using the Google Cloud Platform Console.
  • You can choose to use an unrestricted API key or a key with restrictions applied for greater security. All APIs can use an unrestricted API key.
  • You can optionally add a restriction (for example, IP address) to the API key. Once restricted, a key will only work on platforms that support that type of restriction. Four types of API key restrictions are available:
    • IP addresses (individual servers) - for use with the web service APIs.
    • HTTP referrers (web sites) - for use with the Web APIs.
    • Android app restriction (by package name and fingerprint) - for use with the Maps SDK for Android.
    • iOS app restriction (by iOS bundle identifier) - for use with the Maps SDK for iOS.
  • APIs enforcing the same restriction type can use the same restricted key.
  • Example of loading an API with a key: &key=AIzaSyBjsINSH5x39Ks6c0_CoS1yr1Mb3cB3cVo

Digital Signature:

  • A digital signature is generated using a cryptographic key provided to you by Google. Digital signatures are used with the Maps Static API and Street View Static API.

The table below indicates which key/credential should be used with each Google Maps Platform product. (As mentioned above, the types of API key restrictions are: IP address, HTTP referer, Android, and iOS.)

API Type of restriction
Maps SDK for Android API key with Android restriction1
Places SDK for Android API key with Android restriction1
Maps SDK for iOS API key with iOS restriction1
Places SDK for iOS API key with iOS restriction1
Maps JavaScript API API key with HTTP referer restriction1
Maps Static API API key with HTTP referer restriction1 + optional3 Digital Signature
Street View Static API API key with HTTP referer restriction1 + optional1 Digital Signature
Maps Embed API API key with HTTP referer restriction1
Directions API API key with IP address restriction1
Distance Matrix API API key with IP address restriction1
Elevation API API key with IP address restriction1
Geocoding API API key with IP address restriction1
Geolocation API API key with IP address restriction1
Roads API API key with IP address restriction1
Time Zone API API key with IP address restriction1
Places API API key with IP address restriction1
1 During development and prototyping, you may use an unrestricted API key with any Google Maps Platform product. Before using an API key in a production environment, it's recommended that you secure the API key with restrictions.
How do I switch my key restriction type from an HTTP referer to an IP address restriction?

Important: If you are using any of the web service APIs with an API key that has referer restrictions, your requests will fail with the error message: "API keys cannot have referer restrictions when used with this API." You should switch to using an API key with IP address restrictions.

Before you switch the API key restriction type from HTTP referer to IP address, ensure that all the APIs that use the API key support the IP restriction type. APIs of the same restriction type can use the same restricted key. If you need to enforce more than one restriction, add a separate key with the required restriction. See how to add a new API key.

Learn more about API key restrictions associated with Google Maps Platform products.

To switch an API key with HTTP referer restriction to IP address restriction, do the following:

  1. Go to the Credentials page of the Google Cloud Platform Console.
  2. Select the project that contains the API key you want to edit.
  3. On the Credentials page, from the list of API keys, select the name of the API key to edit the details of the key.
  4. In the Key restriction section of the page, select “IP addresses (web servers, cron jobs, etc.)” and insert the appropriate server IP addresses, then click Save.
How do I get a new API key?

To get an API key, click the button below, which guides you through the process of generating an API key.

Get Started

Alternatively, to manually create a new API key, do the following:

  1. Go to the Google Cloud Platform Console.
  2. Select or create a project.
  3. To generate a new API key, click the Create credentials button.
  4. Select API key from the list of credential types.
  5. The new key is generated and displayed in a pop-up window.
  6. To set any desired key restrictions (optional), select Restrict key, then follow instructions on the page to set the restriction.
  7. The API key is listed on the credentials page. Note that keys in the list are differentiated by restriction type. API keys with no restriction can be used with any API.

Specify the API key in your requests

To specify the API key in your request, include it as the value of a key parameter.

Example:

For the Geolocation API:

https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY
How can I find out the changes introduced in each version of the Google Maps APIs?

Version change information for many of the Maps APIs are available at the following links:

You can also check which version of the Google Maps Platform a particular bug was introduced and fixed in using the Google Maps Platform Issue Tracker at:

https://issuetracker.google.com/bookmark-groups/76561

How can I load the API into a page asynchronously after the page has loaded?

Just specify the callback parameter when loading the API. More information and sample code can be found in the Getting Started chapter of the Maps JavaScript API documentation.

How can I get Google Maps Platform products to display in a language other than English?

By default the API will attempt to load the most appropriate language based on the users location or browser settings. Some APIs allow you to explicitly set a language when you make a request. More information on how to set the language is available in the documentation for each API:

Supported Languages
Language Code Language Language Code Language
ar Arabic lt Lithuanian
be Belarusian lv Latvian
bg Bulgarian mk Macedonian
bn Bengali ml Malayalam
ca Catalan mr Marathi
cs Czech my Burmese
da Danish nl Dutch
de German no Norwegian
el Greek pa Punjabi
en English pl Polish
en-Au English (Australian) pt Portuguese
en-GB English (Great Britain) pt-BR Portuguese (Brazil)
es Spanish pt-PT Portuguese (Portugal)
eu Basque ro Romanian
fa Farsi ru Russian
fi Finnish sk Slovak
fil Filipino sl Slovenian
fr French sq Albanian
gl Galician sr Serbian
gu Gujarati sv Swedish
hi Hindi ta Tamil
hr Croatian te Telugu
hu Hungarian th Thai
id Indonesian tl Tagalog
it Italian tr Turkish
iw Hebrew uk Ukrainian
ja Japanese uz Uzbek
kk Kazakh vi Vietnamese
kn Kannada zh-CN Chinese (Simlified)
ko Korean zh-TW Chinese (Traditional)
ky Kyrgyz

You can see what the map will look like in your language in this sample application.

Can the Google Maps Platform be accessed over SSL (HTTPS)?

The Maps JavaScript API, Maps Static API, and Web Service APIs can be accessed over secure (HTTPS) connections. Please see the documentation for the API concerned for information on how to access the API over SSL.

Note that the Maps Static API does not support custom icon URLs that use HTTPS; the default icon will be displayed.

How do I report a bug or request a new feature in the Google Maps Platform?

If you experience behavior that you believe may be a bug, please begin by raising it in the relevant forum. This will allow other developers to validate the bug, and rule out any potential issues with your code.

If you wish to request a feature, please also first raise it in the relevant forum to confirm that a solution that meets your requirements is not already available.

Once you have confirmed that you have identified a new bug, or that your requirements cannot be met by the existing functionality of the Google Maps Platform products, please report your bug or feature request using the Google Maps Platform Issue Tracker.

Before adding a bug or feature request to the Issue Tracker please be sure to check that the bug or feature concerned has not already been added. If it has, you can star the issue to register your interest and be notified of updates.

How do Google Maps Platform APIs use site cookies?

The following APIs use cookies. For users of the Maps Embed API, Google uses cookies to determine the number of unique users of the API. Signed-in users are identified by their Google cookie, which is also used to provide a personalised experience. For users that are not signed in, Google uses an anonymous cookie for each unique user.

Google APIUser type
Maps Embed APIAnonymous and signed-in user
Maps SDK for AndroidAnonymous
Places SDK for AndroidAnonymous
Maps SDK for iOSAnonymous
Places SDK for iOSAnonymous

Google also accumulates statistics about the types of features used from the Maps product.

I can't find the answer to my question. Who should I contact?

Google's Developer Relations team maintains a presence on Stack Overflow — a collaboratively-edited question and answer site for programmers. It's a great place to ask technical questions about developing and maintaining Google Maps applications. More information about asking questions on Stack Overflow is available on the Support page.

For best results when requesting help, please keep the following in mind:

  • Search the current discussions. Chances are someone else has experienced a similar issue and found a fix.
  • Submit a link to your site if possible. Only post code snippets if the code is not easily viewable online.
  • Provide all relevant information including browser versions, errors, and all other facts that may be useful in troubleshooting this problem.

Errors and troubleshooting

What does this error mean?

If you encounter an error while loading or running the Google Maps APIs, please see the following links to find explanations for the error codes:

My maps appear darker than usual. What's happening?

Under certain circumstances, a darkened map, or 'negative' Street View image, watermarked with the text "for development purposes only", may be displayed. This behavior typically indicates issues with either an API key or billing. In order to use Google Maps Platform products, billing must be enabled on your account, and all requests must include a valid API key. The following flow will help troubleshoot this:


How do I resolve the error codes: OVER_DAILY_LIMIT or OVER_QUERY_LIMIT?
These error codes can be returned for any of the following reasons:
  • An API key is missing from the request.
  • The provided API key is invalid.
  • Billing has not been enabled on your account.
  • A self-imposed usage cap has been exceeded.
  • The provided method of payment is no longer valid (for example, a credit card has expired).
  • You have exceeded the QPS limits for a given API.

In order to use Google Maps Platform products, billing must be enabled on your account, and all requests must include a valid API key. To fix this, take the following steps:

How do I resolve the error: "This IP, site or mobile application is not authorized to use this API key."?

There are various scenarios which may cause this error:

  • You've enabled IP address (server) restrictions on your API key, and an unauthorized IP address is attempting a request.
  • You've enabled HTTP referrer (website) restrictions on your API key, and an unauthorized referrer is attempting a request.
  • You've restricted usage to your Android apps by setting a package name and fingerprint, and an unauthorized Android app is attempting a request.
  • You've restricted requests from iOS apps by specifying bundle indentifiers and an unrecognized iOS app is attemting to send a request.
  • It used to be possible to get this error if you used any of the web service APIs, with an API key with HTTP referer restrictions. Requests to those APIs should be identified with an API key with IP address restrictions. Switch your key restriction type from an HTTP referer restriction to an IP address restriction. For more information about restricting API keys, see API Key Best Practices.

View and Edit your API Key Credentials

To view your API keys and manage any restrictions, do the following:

  1. Go to the Google Cloud Platform Console.
  2. Select the project that contains the API key you want to review.
  3. To view credential details, including any restrictions set for the key, from the list of API keys, click the name of the key.
  4. The full credentials of the selected API key are displayed, including any restrictions set up for the key. From here, the restrictions can be changed, deleted, or updated as needed.
How do I resolve the error: "API keys with referer restrictions cannot be used with this API."?

You are using any of the web service APIs with an API key restricted to an HTTP referer. For security reasons, web service APIs need to use API keys restricted to IP addresses. Switch your key restriction type from an HTTP referer restriction to an IP address restriction, or create a new API key if your key is already used with the Maps JavaScript API.

Google Maps Platform Services

I need to convert addresses to latitude/longitude pairs. Can I do that with the Google Maps Platform?

Yes, this process is called "geocoding." The Maps JavaScript API includes a class for performing a geocoding service. The class is: google.maps.Geocoder.

Alternatively, Google also provides the Geocoding API, which offers a REST interface that can respond in JSON and XML formats.

Please note that use of the geocoder for any purpose other than obtaining locations that will be displayed using the Google Maps Platform is a violation of the Google Maps Platform Terms of Service. You may use the HTTP geocoder to geocode addresses outside of your Maps API application so that they may be cached and later displayed using one of the Google Maps Platform, but locations obtained using the Geocoding API or Geocoding service may not be used by any other application, distributed by other means, or resold.

What countries is geocoding available in?

To see countries currently supported by the Google Maps Platform geocoders, please consult the Google Maps coverage data.

The accuracy of geocoded locations may vary per country, so you should consider using the returned location_type field to determine if a good enough match has been found for the purposes of your application. Please note that the availability of geocoding data depends on our contacts with data providers, so it is subject to change.

Why do the Google Maps Platform Geocoders provide different locations than Google Maps?

The API geocoder and Google Maps geocoder sometimes use different data sets (depending on the country). The API geocoder occasionally gets updated with new data, so you can expect to see results changing or improving over time.

How should I format my geocoder queries to maximise the number of successful requests?

The geocoder is designed to map street addresses to geographical coordinates. We therefore recommend that you format geocoder requests in accordance with the following guidelines to maximize the likelihood of a successful query:

  • Specify addresses in accordance with the format used by the national postal service of the country concerned.
  • Do not specify additional address elements such as business names, unit numbers, floor numbers, or suite numbers that are not included in the address as defined by the postal service of the country concerned. Doing so may result in responses with ZERO_RESULTS.
  • Use the street number of a premise in preference to the building name where possible.
  • Use street number addressing in preference to specifying cross streets where possible.
  • Do not provide 'hints' such as nearby landmarks.
How should I format a U.S. address on a numbered highway for geocoding?

The Google Maps Platform geocoder requires that U.S. numbered highways be specified in addresses as follows:

  • County Roads: "Co Road NNN" where NNN is the road number. eg. "Co Road 82"
  • State Highways: "State NNN" where State is the full name of the state and NNN is the highway number. eg. "California 82"
  • U.S. Highways: "U.S. NNN" where NNN is the highway number. eg. "U.S. 101"
  • U.S. Interstates: "Interstate NNN" where NNN is the interstate number. eg. "Interstate 280"
When should I use an API geocoder class and when should I use the HTTP Geocoding Service?

See the document: Geocoding Strategies, which details the pros and cons of different geocoding strategies.

How do I provide driving directions with the Google Maps Platform?

The Directions API allows you to provide driving directions for single and multi-leg journeys. Routing options help you shape directions with a travel mode (driving), a single or a set of routes, and restrictions (no toll roads). The service is available in the following forms:

In which countries are driving directions available?

To see countries currently supported by Driving Directions in the Google Maps Platform products, consult the Google Maps coverage data. Please note that the availability of driving directions data depends on our contacts with data providers, and is subject to change.

In which countries are transit directions available?

The Google Maps Directions Service, which includes the Directions API and Distance Matrix API, supports all the transit providers in the transit coverage list, except for those in Japan.

What features of KML & GeoRSS are supported in the Maps JavaScript API?

The KmlLayer class in the Maps JavaScript API enables developers to overlay KML/KMZ and GeoRSS files on top of the map. Documentation and examples can be found here.

What are the limits on the size and complexity of KML that can be displayed using the KmlLayer class of the Maps JavaScript API?

The size and complexity limits on the display of KML using the KmlLayer class are documented here.

What is the maximum number of markers or path vertices supported by the Maps Static API?

There is no limit to the number of markers or path vertices supported by the Maps Static API. When using custom icons, up to five unique icons can be specified per request, but each can be used multiple times within the map.

Note that Maps Static API URLs can contain a maximum of approximately 8,192 characters which constrains the number of markers and path vertices that can be specified based on the number of decimal places used when specifying each latitude/longitude pair. For information on how the number of decimal places used relates to the accuracy on the Earth see the Wikipedia article on Decimal Degrees.

Why can't I access Google Maps Platform products for certain countries?

Maps APIs may not be used in Prohibited Territories. Refer also to the Terms of Service.

Google Maps SDK for iOS

I'm getting crashes when debugging with an iOS 8.x device. What should I do?

If you experience issues when debugging with devices running iOS 8.x, follow these steps to disable GPU frame capture in the XCode scheme you are running:

  1. In XCode, choose Product, Scheme, Manage Schemes.
  2. Select a scheme and choose Edit....
  3. Set the GPU Frame Capture option to Disabled. Note that this option may not be present for all devices.
What's the impact of the new iPhone X on the Google Maps iOS SDK?

The iPhone X has a new screen shape, featuring new rounded corners, a notch at the top for the device's sensor housing, and an indicator at the bottom of the screen for accessing the Home screen. In the iOS 11.0 SDK, Apple has added the Safe Area API allowing developers to position elements in an area which is safe from being clipped by the new screen shape.

The Google Maps iOS SDK has many visual elements and controls, such as an indoor picker and the report a problem link. With version 2.4 these visual elements and controls could be clipped by the new screen shape. In landscape mode, the indoor floor picker may be clipped by either the notch or the home button indicator.

With the Google Maps iOS SDK 2.5 release these layout issues are fixed automatically. When your app is used on an iPhone X, the padding on GMSMapView and GMSPanoramaView are increased so that the visual elements aren't clipped.

By default, we will always include your padding. The Google Maps iOS SDK assumes that padding is intended to pad from within the safe area. If you design your interface with the assumption that everything is positioned within the safe area, this will work without any extra effort.

If you have designed an interface which doesn't work with our default adjustment, we have introduced a new property to GMSMapView, called paddingAdjustmentBehavior. GMSMapView now allows you to pick from one of three padding adjustments behaviors: 'Always' (default), 'Automatic', and 'Never'.

If GMSMapView is set to use the 'Always' padding behavior, it will always add the safe area insets to the padding. This allows you to design your interface with the assumption that all placement is from the edges of the safe area. This is the default value.

If GMSMapView is set to use the 'Automatic' padding behavior, it will always choose the larger of padding or safe area inset. This will allow you to add padding from the screen edge while always ensuring that all elements stay within the safe area.

If GMSMapView is set to use the 'Never' padding behavior, it will never add the safe area insets to the padding. This is the behavior prior to the 2.5 release and may be useful if your padding already takes into consideration the safe area, or if our other behaviors don't act well with your interface. It is your responsibility to ensure that the Google logo and copyright notices are always visible, as specified in the Google Maps Platform Terms of Service.

In contrast, GMSPanoramaView doesn't have an optional padding property. This means that there is no padding to adjust and GMSPanoramaView will always apply any necessary padding to ensure that all visual elements are within the safe area.

Send feedback about...

Google Maps Platform
Google Maps Platform