Hide

FAQ

Getting Started

Understanding the Terms of Service

Usage limits and billing

Using the Google Maps APIs

Google Maps API Services

Getting Started

What are the Google Maps APIs?

The Google Maps APIs give developers several ways of embedding Google Maps into web pages, and allows for either simple use or extensive customization. There are now several API offerings:

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

If you operate an enterprise or commercial website, you may also be interested in Google Maps API for Work.

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 do the Google Maps APIs 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 the Google Maps APIs?

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 APIs. More information is available here.

How do I deliver Maps applications on mobile devices?

The Google 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 JavaScript API, the Google Static Maps API delivers map images in GIF, JPG, and PNG formats, including markers and polylines. Note that use of the Google Static Maps API outside of browser based applications requires that the map image be linked to Google Maps.

To incorporate maps in an Android application, use the Android Maps External Library.

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

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

See the Maps Javascript API documentation for examples and details.

How can I be notified when there are changes in the Google Maps APIs?

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

Each API also has a notification group, that lets you know about changes that may affect your applications, such as new releases. These groups are all listed on the Google Maps API Support page.

Understanding the Terms of Service

What are the Terms of Service for the Google Maps API?

The Terms of Service for the Google Maps API are available at:

https://developers.google.com/maps/terms

If you are a Google Maps API for Work customer, please refer to your agreement for the terms that govern your use of the Google Maps APIs.

Does my site meet the Terms of Service for the Google Maps API?

The Maps API is available for all sites that are accessible to consumers without charge. You can use the Google Maps APIs on both commercial and non-profit websites as long as your site meets the Terms of Service.

However, there are some uses of the Google Maps APIs 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 APIs shouldn't be used to identify private information about individuals.

You should use your own counsel to determine whether your application complies with the 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 Terms of Service carefully.

If you operate an enterprise or commercial website, you may also be interested in Google Maps API for Work which has modified Terms of Service that may better suit your needs.

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 APIs (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 APIs. See section 10.1.a of the Google Maps Terms of Service for more details.

Can I use the Google Maps API on a commercial website?

As long as your site is generally accessible to consumers without charge, you may use the Google Maps API. For example, if your website is supported by advertising, it likely falls within the Google Maps API Terms of Service. If you charge people to place information on your map (e.g. to list their homes for sale), but you display this information using the Google Maps API on a free part of your site, you'll also meet the Google Maps API Terms of Service.

However, not all commercial uses are allowed. For example, if your site meets any of the following criteria you must purchase the appropriate Google Maps API for Work license:

  • Your site is only available to paying customers.
  • Your site is only accessible within your company or on your intranet.
  • Your application relates to enterprise dispatch, fleet management, business asset tracking, or similar applications.

Remember, Google reserves the right to suspend or terminate your use of the Google Maps API at any time, so please ensure that you read the Terms of Service carefully.

Can I use the Google Maps APIs for tracking applications?

There is no restriction on displaying real-time data (tracking) with the Google Maps APIs provided that the application is publicly available without charge and otherwise complies with the Terms of Service. For internal-only applications, Google Maps API for Work must be used. See Section 10.4 of the Terms of Service for more information.

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

Yes, the Google Maps APIs can now be used in Desktop applications, provided that they adhere to the other restrictions of the Terms of Service. Note that in order for a desktop application to be deemed "publicly accessible", there must be a publicly accessible webpage from which it can be downloaded. See Section 9.1 of the Terms of Service for more information.

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

Can I use the Google Maps APIs on a site that is password protected?

Yes, you can, though you should consult the Terms of Service before using the Google Maps APIs on a password protected website. If consumers can easily sign up for a password without charge or if the purpose of the password protected map is to enhance the publicly available map (ie. administration), then your site is likely within the Terms of Service. If this is not the case, you will need to use Google Maps API for Work.

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

Use of Google Maps imagery in printed materials and offline media is subject to the Permission Guidelines published at:

http://www.google.com/permissions/geoguidelines.html

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 JavaScript Maps API?

When using the JavaScript Maps 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 Google Static Maps API which I store and serve from my website?

You may not store and serve copies of images generated using the Google Static Maps 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 Google Static Maps 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

Which Google Maps APIs have usage limits?

Google Maps APIs are free for a wide variety of use cases, with complimentary usage limits and predictable overage pricing for use of the standard APIs, and annual contracts available for enterprise deployments.

The following APIs do not have usage limits:

Usage limits apply to the following Maps APIs. Click the API to view its usage limits details:

The Maps APIs must be deployed in compliance with the standard Terms of Service.

What are the usage limits for the Google Maps APIs?

Most of the Google Maps APIs have a complimentary per-day quota that can be set in the Google Developers Console. The daily default and maximum queries vary by API. You can increase the complimentary daily limits by enabling billing, or purchasing a premium license.

  • Web Services APIs:

    Google Maps Web Services APIs include 2,500 free requests per day. To access higher daily quotas (up to 100,000 per day), we offer pay-as-you-go pricing.

    to opt in to pay-as-you-go.

  • Web APIs:

    The Google Maps JavaScript API, Google Static Maps API, and Google Street View Image API have a default daily limit of 25,000 map loads per day. If your site or application generates 25,000 map loads or more each day, for more than 90 consecutive days, we’ll attempt to get in touch with you to talk about payment. Don’t worry, if you go over the limits, we won't immediately shut off your API access or display error messages on your site.

Please refer to specific questions for a precise definition of:

Note: Applications deemed in the public interest (as determined by Google at its discretion) are not subject to these usage limits. For example, a disaster relief map is not subject to the usage limits even if it has been developed and/or is hosted by a commercial entity. In addition, qualifying nonprofit organizations who demonstrate a need for increased geocoding limits or internal usage of the Google Maps API may apply for a Google Maps API for Work license through the Google Earth Outreach grants program.

How is quota usage calculated?

The calculation of quota usage varies by API. The Web Services APIs use requests (note that the Google Maps Distance Matrix API uses elements). The Web APIs use Map Loads to calculate quota usage.

For the Google Maps Distance Matrix API, each query sent to the API is limited by the number of allowed elements, where the number of origins times the number of destinations defines the number of elements.

Note: There are two types of quotas that limit the usage of Google Maps API Web Services: long term (per day quota) and short term (request rate quota). There may also be additional limits set on the APIs, such as the locations per request limit in the Elevation API. In addition to a per-day quota, the Image APIs include a maximum image resolution. View the usage limits pages for each of the Google Maps APIs for details.

What constitutes a 'map load' in the context of the usage limits that apply to the Google Maps Web APIs?

A single map load occurs when:

  1. a map is displayed using the Google Maps JavaScript API when loaded by a web page or application;
  2. a Street View panorama is displayed using the Google Maps JavaScript API by a web page or application that has not also displayed a map;
  3. a single request is made for a map image from the Google Static Maps API; or
  4. a single request is made for a panorama image from the Google Street View Image API.

The degree to which a user interacts with a map once it has been loaded has no impact on the usage limits. Note that the display of a Street View panorama using the Google Maps JavaScript API by an application that has already displayed a Map using the Maps API on the same page does not incur an additional map load.

Google Maps API for Work applications are limited by page views, which are slightly different than map loads. Please refer to the Google Maps API for Work FAQ for more information.

How do I monitor my quota usage?

You can monitor the quota usage of individual APIs in the Google Developers Console.

  1. From the Project dropdown, select the project that contains the API you want to review.
  2. From the list of enabled APIs, click the name of the API.
  3. Near the top of the page, click Quota or Usage.

Note: To see a traffic report and billing information for an entire project, enable billing first.

What happens if I exceed the usage limits?

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

  • Web Services APIs

    For Google Maps API Web Services there are two types of quotas that limit usage: long term (per day quota) and short term (request rate quota). If you exceed the usage limits or otherwise abuse the service, the web service will return a specific error message. If you continue to exceed limits, your access to the web service may be blocked.

    You can exceed the Google Maps API Web Services usage limits by:

    • Sending too many requests per day.
    • Sending requests too fast, i.e. too many requests per second.
    • Sending requests too fast for too long or otherwise abusing the web service.
    • Exceeding other usage limits, e.g. locations per request in the Elevation API.

    Note: Four of the Web Services APIs have an equivalent client-side service available in the JavaScript API: Directions, Distance Matrix, Elevation, and Geocoding. Different limits apply to client-side APIs. JavaScript APIs are rate limited per map session, so that requests are distributed across users. This makes the browser based usage scalable as your user count grows.

  • Web APIs

    For the Google Maps JavaScript API v3, Google Static Maps API, and Google Street View Image API, if your site or application surpasses 25,000 map loads per day for 90 consecutive days, Google will attempt to contact you with information about payment options. At this time, we will specify a purchase deadline; until this deadline, your website will continue to work as expected with no change to how maps appear.

    Once the deadline has passed, if you have neither enabled billing nor purchased a Google Maps API for Work license, the maps on your website will continue to work, but only for the first 25,000 map loads each day. Beyond this number, the API will cease to function.

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.
  • Within the next 24 hours, if the error was received because your application sent too many requests per day. The daily quotas are reset at midnight, Pacific Time.

If you regularly exceed your per-day usage limits, consider:

My site gets a lot of traffic. Can I use the Maps API?

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

Should I purchase the Google Maps APIs Premium Plan?

You should purchase the Google Maps APIs Premium Plan if your business or organization requires any of the following:

  • An SLA with 24-hour technical support
  • Ability to sell a product or service with embedded Google Maps
  • Ability to use Google Maps APIs for an internal application or website
  • A specific amount of quota
  • Premium features available with your existing Maps API for Work license

How do I purchase the Google Maps APIs Premium Plan?

Contact your Google sales representative for details on purchasing the Google Maps APIs Premium Plan and to receive a price quote based on an estimate of your application's usage.

If you are using Web Services APIs, we allow 2,500 free requests per day. If you exceed the free quota, you have access to pay-as-you-go quota up to 100,000 requests in a day, if you enroll for automated billing.

If you are using the Google Maps JavaScript API, Google Static Maps API, or Google Street View Image API, then no. Your maps will continue to function. In order to accommodate sites that experience short term spikes in usage, the usage limits will only apply to a site once that site has exceeded the usage limits for 90 consecutive days.

How will excess usage be calculated and billed?

Excess usage over the complimentary quota for each Google Maps API service is calculated at the end of each day.

Web Services APIs offer 2,500 free requests per day. If you enable billing to access higher quotas, once you exceed 2,500 requests in a day, you will be billed $0.50 USD / 1,000 additional requests, up to 100,000 daily.

The Google Maps JavaScript API, Google Static Maps API, and Google Street View Image API offer 25,000 free map loads per day. If your site generates excess usage every day for 90 consecutive days, Google will attempt to contact you with information about payment options.

Learn more about what happens if you exceed the usage limits.

If you chose to enable billing you will need to provide your credit card details. Your excess 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 below.

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

Applications generating requests or map load volumes below the usage limits can use the Google Maps APIs at no cost providing the application meets the requirements of the Google Maps API Terms of Service.

For Web Services APIs, if your Maps API service exceeds the daily usage limits, and you choose to purchase excess quota online using the Google Developers Console, your excess usage will be charged at the rates shown below for the service concerned.

For the Google Maps JavaScript API v3, Google Static Maps API, and Google Street View Image API, if your use of a Maps API service exceeds the daily usage limits for 90 consecutive days, and you choose to purchase excess map loads online using the Google Developers Console, your excess usage will be charged at the rates shown below for the service concerned.

Note that if your site consistently generates a high volume of map loads per day a Google Maps API for Work license may be more cost effective. We recommend that you contact the Google Maps API for Work Sales team for more information.

Web Services APIs Usage limit
(per day)
1000 excess requests
(in U.S. dollars)
Directions API 2,500 $0.50
Distance Matrix API 1 2,500 $0.50
Elevation API 2,500 $0.50
Geocoding API 2,500 $0.50
Geolocation API 2,500 $0.50
Roads API 2,500 $0.50
Time Zone API 2,500 $0.50
1 Google Maps Distance Matrix API usage is measured in number of elements per day
Web APIs Usage limit
(per day)
1000 excess map loads
(in U.S. dollars)
Google Maps JavaScript API 25,000* $0.50
Google Static Maps API 25,000* $0.50
Google Street View Image API 25,000* $0.50
* Billing only occurs once you exceed usage limits for 90 consecutive days.

Note that the purchase of excess quota online does not confer any additional rights or benefits other than the right to continue using the Google Maps APIs under the existing Terms of Service.

Is pricing available in other currencies?

Pricing is currently only available in U.S. dollars.

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.

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

The Google Maps APIs provide complimentary daily quota and set maximum daily billable limits. You can cap the maximum daily limit on usage to protect against unexpected increases.

  • For the Web Services APIs:

    The standard Web Services APIs support up to 100,000 requests or elements daily. A project will be restricted to the complimentary 2,500 per-day-limit until you've enabled billing on the project. Once billing has been enabled, if you exceed 2,500 requests in a day, you will be billed at $0.50 USD / 1,000 additional requests, up to 100,000 daily.

    To avoid a large bill, you can set a daily cap on usage to protect against unexpected increases in use. Currently, the maximum billable limit defaults to 100,000 requests per day. You can change this limit by clicking the edit icon next to the Total quota on the Quotas page of the API in the Google Developers Console.

    Note: If your API usage reaches your billable limit on any given day, your application will not be able to access the API for the remainder of that day. See What happens if I exceed the usage limits? for more details.

  • For the Web APIs:

    For Google Maps JavaScript API v3, Google Static Maps API, and Google Street View Image API, the API usage limits do not take effect until a site has exceeded the complimentary daily usage limit of 25,000 map loads for 90 consecutive days. If your use of the standard Google Maps Web APIs exceeds the free usage limits, you can purchase excess map loads online by enabling billing on the project. Once billing has been enabled, if you exceed the free usage limits, you will be billed at $0.50 USD / 1000 additional requests, up to 1,000,000 daily.

    To avoid a large bill, you can set a daily cap on usage to protect against unexpected increases in use after billing has begun. Currently, the maximum billable limit defaults to 1,000,000 requests per day. You can change this limit by clicking the edit icon next to the Total quota on the Quotas page of the API in the Google Developers Console.

    Note: If your API usage reaches your billable limit on any given day, your application will not be able to access the API for the remainder of that day. See What happens if I exceed the usage limits? for more details.

Recommendation: If your site consistently generates a high volume of requests or map loads per day a Google Maps API for Work license may be more cost effective. We recommend that you contact the Google Maps API for Work Sales team for more information.

Enabling billing

To enable billing and unlock higher quotas for the Google Maps APIs, we'll guide you through the Google Developers Console to complete a few tasks:

  1. Create or choose a project
  2. Set up or choose your billing profile
  3. Enable billing on your project
Continue

Using the Google Maps APIs

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

Each time you use the Google Maps APIs you must include a key, or other credentials, to validate your request. The type of credential required will vary depending upon the API, and whether you have a standard or premium license.

Google Maps APIs are available for Android, iOS or Web apps, and via HTTP Web services. The Maps family of APIs uses various credentials that must be passed when loading or using certain products. The credential to use varies by product.

  • API Key: An API key is a unique identifier that you generate using the Google Developers Console. API keys are generally used with the standard APIs. Premium customers typically use a client ID instead of an API key.

    APIs in each platform require a specific type of key. Four types of keys are available:

    APIs of the same platform can use the same key.

    Note: Google Maps API for Work and Premium users must make sure to select the project that was generated for them upon signup. This project will include the word Business or Work in the name.

    Example of loading an API with a key: &key=AIzaSyBjsINSH5x39Ks6c0_CoS1yr1Mb3cB3cVo

  • Client ID: A client ID is given to you when you sign up as a Google Maps API for Work or Premium customer.

    Example of loading an API with a client ID: &client=gme-companyname

  • Digital Signature: A digital signature is used only by Google Maps API for Work and Premium customers. It must be generated using a cryptographic key provided to you by Google. For more information, please read the Google Maps API for Work Web Services document.

The table below indicates which key/credential should be used with each Maps product.

API Standard Users Premium Users
Google Maps Android API Android Key Android Key
Google Places API for Android Android Key unavailable
Google Maps SDK for iOS iOS Key iOS Key
Google Places API for iOS iOS Key unavailable
Google Maps JavaScript API Browser Key Client ID
Google Static Maps API Browser Key Client ID + Digital Signature
Google Street View Image API Browser Key Client ID + Digital Signature
Google Maps Embed API Browser Key unavailable
Google Maps Directions API Server Key Client ID + Digital Signature
Google Maps Distance Matrix API Server Key Client ID + Digital Signature
Google Maps Elevation API Server Key Client ID + Digital Signature
Google Maps Geocoding API Server Key Client ID + Digital Signature
Google Maps Geolocation API Server Key Server Key
Google Maps Roads API Server Key Server Key
Google Maps Time Zone API Server Key Client ID + Digital Signature
Google Places API Web Service Server Key Server Key

Note: The following Maps APIs previously did not require an API console key: Google Maps JavaScript API, Google Static Maps API, Google Street View Image API, Google Maps Geocoding API, Google Maps Directions API, Google Maps Distance Matrix API, Google Maps Elevation API, and Google Maps Time Zone API. This is still supported for legacy applications to ensure backwards compatibility, but is no longer recommended for new applications.

How do I switch my key type from a Browser key to a Server key?

Important: If you are using any of the Web Services APIs with a browser key, your requests may start failing on 1st September 2015 with the following error message: "This IP, site or mobile application is not authorized to use this API key." You should switch to using server keys.

To switch API key types, you’ll need at least one Server key. APIs of the same platform can use the same key. An API key is obtained from the Google Developers Console.

To obtain a Server key for your Web Services API, do the following:

  1. Go to the Google Developers Console.
  2. Select or create a project.
  3. To generate a new API key, click the Add credentials button.
  4. Select API key from the list of credential types.
  5. In the Create a new key pop-up, select the Server key button.
  6. Give your Server key a name, and set any desired IP address restrictions (optional), then click Create.
  7. A new Server key is generated and listed on the credentials page. Note that keys in the list are identified by type.

Specify the Server Key in your Web Services API requests

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

Examples:

For the Elevation API:

https://maps.googleapis.com/maps/api/elevation/json?locations=39.739,-104.984&key=API_KEY

For the Geolocation API:

https://www.googleapis.com/geolocation/v1/geolocate?key=API_KEY

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 are using any of the Web Services APIs with a Browser key.

    Web Services APIs need to use a Server key. Switch your key type from a Browser key to a Server key.

  • You've enabled IP address restrictions on your Server key, and an unauthorized IP address is attempting a request.
  • You've enabled HTTP referrer restrictions on your Browser 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.

View and Edit your API Key Credentials

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

  1. Go to the Google Developers Console.
  2. From the Project dropdown, 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 deleted or updated as needed.

How can I find out the changes introduced in each version of the Google Maps APIs?

We maintain a list of changes between Google Maps JavaScript API versions at:

https://developers.google.com/maps/documentation/javascript/releases

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

http://code.google.com/p/gmaps-api-issues/issues/list

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 API documentation.

How can I get the Google Maps APIs 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 explicitely 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 kn Kannada
bg Bulgarian ko Korean
bn Bengali lt Lithuanian
ca Catalan lv Latvian
cs Czech ml Malayalam
da Danish mr Marathi
de German nl Dutch
el Greek no Norwegian
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
eu Basque ru Russian
fa Farsi sk Slovak
fi Finnish sl Slovenian
fil Filipino sr Serbian
fr French sv Swedish
gl Galician ta Tamil
gu Gujarati te Telugu
hi Hindi th Thai
hr Croatian tl Tagalog
hu Hungarian tr Turkish
id Indonesian uk Ukrainian
it Italian vi Vietnamese
iw Hebrew zh-CN Chinese (Simplified)
ja Japanese zh-TW Chinese (Traditional)

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

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

The Google Maps JavaScript API, Google Static Maps API, and Google Maps API Web Services can be accessed over secure (HTTPS) connections by developers using either the free version of these APIs or Google Maps API for Work. Please see the documentation for the API concerned for information on how to access the API over SSL.

Note that the Google Static Maps 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 APIs?

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 can not be met by the existing functionality of the Google Maps APIs, please report your bug or feature request using the Google Maps API 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.

What does this error mean?

If you encounter an error while loading the Google Maps JavaScript API, please see Error Messages to find explanations for the error codes.

I have a different question/problem. 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.

Google Maps API for Work customers may also contact Google for Work Support.

Google Maps API Services

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

Yes, this process is called "geocoding." each of the Google Maps APIs includes a class for performing geocoding. The classes are:

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

Please be aware of the usage limits that apply to geocoder requests, and note that use of the geocoder for any purpose other than obtaining locations that will be displayed using the Google Maps APIs is a violation of the Terms of Service. You may use the HTTP geocoder to geocode addresses outside of your Google Maps API application so that they may be cached and later displayed using one of the Google Maps APIs, but locations obtained using the Geocoding Web 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 APIs 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.

For geocoding in countries not currently supported by the Google Maps APIs, please browse this list of other geocoding services.

Why do the Google Maps APIs 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 maximise 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.
  • 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 APIs 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 article: Geocoding Strategies, which details the pros and cons of different geocoding strategies.

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

The Google Maps JavaScript API allows you to provide driving directions via the google.maps.DirectionsService class. This class provides you with step-by-step access to basic and multi-point driving directions. The DirectionsRenderer class can automatically create the overlays and directions panel for you. Additional examples are provided in the documentation.

You can also easily link to Google Maps for driving directions. We suggest you use the following format for driving directions on Google Maps:

http://maps.google.com/maps?saddr={start_address}&daddr={destination_address}

What countries is driving directions available in?

To see countries currently supported by Driving Directions in the Maps API, 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 supports all of the transit providers listed in the Transit Coverage List, except for those in Japan.

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

The KmlLayer class in the Javascript API enables developers to overlay KML/KMZ and GeoRSS files on top of the map. Examples are here.

The KML features currently supported by the KmlLayer class are documented at:

https://developers.google.com/kml/documentation/mapsSupport

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

The size and complexity limits on the display of KML using the KmlLayer class are documented at:

https://developers.google.com/kml/documentation/mapsSupport

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

There is no limit to the number of markers or path vertices supported by the Google Static Maps 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 Google Static Maps API URLs can contain a maximum of approximately 2,000 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 APIs from China?

The Google Maps APIs are served within China from the domain maps.google.cn. This domain does not support https. When making requests to the Google Maps APIs from China, please replace https://maps.googleapis.com with http://maps.google.cn.

For example:

https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA

would become:

http://maps.google.cn/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA

The Google Maps JavaScript API can be loaded with the following bootstrap:

<script src="http://maps.google.cn/maps/api/js?key=API_KEY"
type="text/javascript">
</script>

Send feedback about...

Google Maps APIs