CINXE.COM

Google Maps Platform FAQ  |  Google Developers

<!doctype html> <html lang="en" dir="ltr"> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("https://developers.google.com/maps/faq","20210513114133","https://web.archive.org/","web","/_static/", "1620906093"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com"> <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award"> <meta property="og:site_name" content="Google Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#ffffff"><meta charset="utf-8"> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="/web/20210513114133/https://developers.google.com/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//web.archive.org/web/20210513114133/https://www.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210513114133/https://fonts.gstatic.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210513114133/https://fonts.googleapis.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210513114133/https://apis.google.com/" crossorigin> <link rel="preconnect" href="//web.archive.org/web/20210513114133/https://www.google-analytics.com/" crossorigin><link rel="preload" href="https://web.archive.org/web/20210513114133/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/js/app_loader.js" as="script"><link rel="stylesheet" href="//web.archive.org/web/20210513114133cs_/https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700|Material+Icons&amp;display=swap"><link rel="stylesheet" href="https://web.archive.org/web/20210513114133cs_/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/css/app.css"><link rel="shortcut icon" href="https://web.archive.org/web/20210513114133im_/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/images/favicon.png"> <link rel="apple-touch-icon" href="https://web.archive.org/web/20210513114133im_/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/images/touchicon-180.png"><link rel="canonical" href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/faq"><link rel="search" type="application/opensearchdescription+xml" title="Google Developers" href="https://web.archive.org/web/20210513114133/https://developers.google.com/s/opensearch.xml"> <title>Google Maps Platform FAQ &nbsp;|&nbsp; Google Developers</title> <meta property="og:title" content="Google Maps Platform FAQ  |  Google Developers"><meta property="og:url" content="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/faq"><meta property="og:image" content="https://web.archive.org/web/20210513114133im_/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/images/opengraph/white.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image"><script type="application/ld+json"> { "@context": "https://web.archive.org/web/20210513114133/https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Maps Platform", "item": "https://web.archive.org/web/20210513114133/https://developers.google.com/maps" },{ "@type": "ListItem", "position": 2, "name": "Google Maps Platform FAQ", "item": "https://web.archive.org/web/20210513114133/https://developers.google.com/maps/faq" }] } </script> </head> <body class="" template="page" theme="white" type="article" layout="docs" pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"><devsite-header> <div class="devsite-header--inner nocontent"> <div class="devsite-top-logo-row-wrapper-wrapper"> <div class="devsite-top-logo-row-wrapper"> <div class="devsite-top-logo-row"> <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" visually-hidden aria-label="Open menu"> </button> <div class="devsite-product-name-wrapper"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps"> <div class="devsite-product-logo-container" size="medium"> <img class="devsite-product-logo" alt="Google Maps Platform" src="https://web.archive.org/web/20210513114133im_/https://developers.google.com/maps/images/maps-icon.svg" srcset="" sizes="64px" loading="lazy"> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Maps Platform"> <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Maps Platform </a> </li> </ul> </span> </div> <div class="devsite-top-logo-row-middle"> <div class="devsite-header-upper-tabs"> <devsite-tabs class="upper-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Upper tabs"> <tab> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="overview" data-category="home" data-label="navTopMenu" data-action="tabClick"> Overview </a> </tab> <tab> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/#products" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="products" data-category="products" data-label="navTopMenu" data-action="tabClick"> Products </a> </tab> <tab> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/pricing/" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="pricing" data-category="pricing" data-label="navTopMenu" data-action="tabClick"> Pricing </a> </tab> <tab dropdown dropdown-full active> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="documentation" aria-label="Documentation, selected" data-category="documentation" data-label="navTopMenu" data-action="tabClick"> Documentation </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Documentation" track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="documentation" data-category="documentation" data-label="navTopMenu" data-action="tabClick" class="devsite-tabs-dropdown-toggle devsite-icon devsite-icon-arrow-drop-down"></a> <div class="devsite-tabs-dropdown" aria-label="submenu" hidden> <div class="devsite-tabs-dropdown-content"> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Get Started</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/gmp-get-started" track-type="navMenu" track-name="Get Started with Google Maps Platform" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/gmp-get-started" tooltip> <div class="devsite-nav-item-title"> Get Started with Google Maps Platform </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/api-picker" track-type="navMenu" track-name="API Picker" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/api-picker" tooltip> <div class="devsite-nav-item-title"> API Picker </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/billing-credits" track-type="navMenu" track-name="Billing Account Credits" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/billing-credits" tooltip> <div class="devsite-nav-item-title"> Billing Account Credits </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/billing/gmp-billing" track-type="navMenu" track-name="Billing" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/billing/gmp-billing" tooltip> <div class="devsite-nav-item-title"> Billing </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/reporting/gmp-reporting" track-type="navMenu" track-name="Reporting" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/reporting/gmp-reporting" tooltip> <div class="devsite-nav-item-title"> Reporting </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/faq" track-type="navMenu" track-name="FAQ" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/faq" tooltip> <div class="devsite-nav-item-title"> FAQ </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/support" track-type="navMenu" track-name="Support and Resources" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/support" tooltip> <div class="devsite-nav-item-title"> Support and Resources </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/gmp-incident-management" track-type="navMenu" track-name="Incident Management" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/gmp-incident-management" tooltip> <div class="devsite-nav-item-title"> Incident Management </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Maps</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/javascript" track-type="navMenu" track-name="Maps JavaScript API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/javascript" tooltip> <div class="devsite-nav-item-title"> Maps JavaScript API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk" track-type="navMenu" track-name="Maps SDK for Android" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/android-sdk" tooltip> <div class="devsite-nav-item-title"> Maps SDK for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk" track-type="navMenu" track-name="Maps SDK for iOS" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/ios-sdk" tooltip> <div class="devsite-nav-item-title"> Maps SDK for iOS </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/maps-static" track-type="navMenu" track-name="Maps Static API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/maps-static" tooltip> <div class="devsite-nav-item-title"> Maps Static API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/streetview" track-type="navMenu" track-name="Street View Static API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/streetview" tooltip> <div class="devsite-nav-item-title"> Street View Static API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/embed" track-type="navMenu" track-name="Maps Embed API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/embed" tooltip> <div class="devsite-nav-item-title"> Maps Embed API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/urls" track-type="navMenu" track-name="Maps URLs" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/urls" tooltip> <div class="devsite-nav-item-title"> Maps URLs </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/elevation" track-type="navMenu" track-name="Maps Elevation API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/elevation" tooltip> <div class="devsite-nav-item-title"> Maps Elevation API </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Routes</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/directions" track-type="navMenu" track-name="Directions API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/directions" tooltip> <div class="devsite-nav-item-title"> Directions API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix" track-type="navMenu" track-name="Distance Matrix API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/distance-matrix" tooltip> <div class="devsite-nav-item-title"> Distance Matrix API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/roads" track-type="navMenu" track-name="Roads API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/roads" tooltip> <div class="devsite-nav-item-title"> Roads API </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Solutions</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/solutions" track-type="navMenu" track-name="Industry Solutions" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/solutions" tooltip> <div class="devsite-nav-item-title"> Industry Solutions </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/solutions" track-type="navMenu" track-name="Retail" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/solutions" tooltip> <div class="devsite-nav-item-title"> Retail </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/gaming" track-type="navMenu" track-name="Gaming Services" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/gaming" tooltip> <div class="devsite-nav-item-title"> Gaming Services </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Places</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service" track-type="navMenu" track-name="Places API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/places/web-service" tooltip> <div class="devsite-nav-item-title"> Places API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk" track-type="navMenu" track-name="Places SDK for Android" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/places/android-sdk" tooltip> <div class="devsite-nav-item-title"> Places SDK for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk" track-type="navMenu" track-name="Places SDK for iOS" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/places/ios-sdk" tooltip> <div class="devsite-nav-item-title"> Places SDK for iOS </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/javascript/places" track-type="navMenu" track-name="Places Library, Maps JavaScript API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/javascript/places" tooltip> <div class="devsite-nav-item-title"> Places Library, Maps JavaScript API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/geocoding" track-type="navMenu" track-name="Geocoding API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/geocoding" tooltip> <div class="devsite-nav-item-title"> Geocoding API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/geolocation" track-type="navMenu" track-name="Geolocation API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/geolocation" tooltip> <div class="devsite-nav-item-title"> Geolocation API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation/timezone" track-type="navMenu" track-name="Time Zone API" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/documentation/timezone" tooltip> <div class="devsite-nav-item-title"> Time Zone API </div> </a> </li> </ul> </div> <div class="devsite-tabs-dropdown-column "> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Additional Resources</li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/api-key-best-practices" track-type="navMenu" track-name="API Key Best Practices" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/api-key-best-practices" tooltip> <div class="devsite-nav-item-title"> API Key Best Practices </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/coverage" track-type="navMenu" track-name="Map Coverage Details" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/coverage" tooltip> <div class="devsite-nav-item-title"> Map Coverage Details </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/optimization-guide" track-type="navMenu" track-name="Optimization Guide" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/optimization-guide" tooltip> <div class="devsite-nav-item-title"> Optimization Guide </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/deprecations" track-type="navMenu" track-name="Deprecations" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/deprecations" tooltip> <div class="devsite-nav-item-title"> Deprecations </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/asset-tracking-plan" track-type="navMenu" track-name="Asset Tracking Plan" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/asset-tracking-plan" tooltip> <div class="devsite-nav-item-title"> Asset Tracking Plan </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/root-ca-faq" track-type="navMenu" track-name="Root CA Migration FAQ" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/root-ca-faq" tooltip> <div class="devsite-nav-item-title"> Root CA Migration FAQ </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/billing/public-programs" track-type="navMenu" track-name="Public Programs" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/billing/public-programs" tooltip> <div class="devsite-nav-item-title"> Public Programs </div> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/premium" track-type="navMenu" track-name="Premium Plan" track-metadata-position="nav" track-metadata-href="https://developers.google.com/maps/premium" tooltip> <div class="devsite-nav-item-title"> Premium Plan </div> </a> </li> </ul> </div> </div> </div> </tab> <tab> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/blog/products/maps-platform" class="gc-analytics-event " track-type="globalNav" track-metadata-position="nav" track-metadata-eventdetail="nav" track-name="blog" data-category="blog" data-label="navTopMenu" data-action="tabClick"> Blog </a> </tab> </nav> </devsite-tabs> </div> <devsite-search aria-expanded="false" aria-haspopup="listbox" enable-signin enable-search enable-suggestions enable-query-completion project-name="Google Maps Platform" tenant-name="Google Developers" project-scope="/maps" url-scoped="https://developers.google.com/s/results/maps" role="combobox"> <form class="devsite-search-form" action="https://web.archive.org/web/20210513114133/https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-haspopup="false" aria-multiline="false" aria-label="Search box" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="combobox" type="text" value=""> <div class="devsite-search-image material-icons" aria-hidden="true"></div> </div> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> </div> </form> <button type="button" search-close class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button> </devsite-search> </div> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="id" lang="id" track-metadata-original-language="en" track-metadata-selected-language="id" track-name="changed" track-type="languageSelector"> Bahasa Indonesia </option> <option value="de" lang="de" track-metadata-original-language="en" track-metadata-selected-language="de" track-name="changed" track-type="languageSelector"> Deutsch </option> <option value="es" lang="es" track-metadata-original-language="en" track-metadata-selected-language="es" track-name="changed" track-type="languageSelector"> Español </option> <option value="es_419" lang="es_419" track-metadata-original-language="en" track-metadata-selected-language="es_419" track-name="changed" track-type="languageSelector"> Español – América Latina </option> <option value="fr" lang="fr" track-metadata-original-language="en" track-metadata-selected-language="fr" track-name="changed" track-type="languageSelector"> Français </option> <option value="pt_br" lang="pt_br" track-metadata-original-language="en" track-metadata-selected-language="pt_br" track-name="changed" track-type="languageSelector"> Português – Brasil </option> <option value="ru" lang="ru" track-metadata-original-language="en" track-metadata-selected-language="ru" track-name="changed" track-type="languageSelector"> Русский </option> <option value="zh_cn" lang="zh_cn" track-metadata-original-language="en" track-metadata-selected-language="zh_cn" track-name="changed" track-type="languageSelector"> 中文 – 简体 </option> <option value="zh_tw" lang="zh_tw" track-metadata-original-language="en" track-metadata-selected-language="zh_tw" track-name="changed" track-type="languageSelector"> 中文 – 繁體 </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> <option value="ko" lang="ko" track-metadata-original-language="en" track-metadata-selected-language="ko" track-name="changed" track-type="languageSelector"> 한국어 </option> </select> </devsite-select> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"></devsite-user> </div> </div> </div> <div class="devsite-collapsible-section devsite-header-no-lower-tabs "> <div class="devsite-header-background"> <div class="devsite-product-id-row"> <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail=""> Documentation </a> </li> </ul> </div> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars> <nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu"> <div class="devsite-mobile-header"> <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation"> </button> <div class="devsite-product-name-wrapper"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps"> <div class="devsite-product-logo-container" size="medium"> <img class="devsite-product-logo" alt="Google Maps Platform" src="https://web.archive.org/web/20210513114133im_/https://developers.google.com/maps/images/maps-icon.svg" srcset="" sizes="64px" loading="lazy"> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list"> <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Upper Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Google Maps Platform"> <svg class="devsite-google-wordmark" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 148 48"> <title>Google</title> <path class="devsite-google-wordmark-svg-path" d="M19.58,37.65c-9.87,0-18.17-8.04-18.17-17.91c0-9.87,8.3-17.91,18.17-17.91c5.46,0,9.35,2.14,12.27,4.94l-3.45,3.45c-2.1-1.97-4.93-3.49-8.82-3.49c-7.21,0-12.84,5.81-12.84,13.02c0,7.21,5.64,13.02,12.84,13.02c4.67,0,7.34-1.88,9.04-3.58c1.4-1.4,2.32-3.41,2.66-6.16H19.58v-4.89h16.47c0.18,0.87,0.26,1.92,0.26,3.06c0,3.67-1.01,8.21-4.24,11.44C28.93,35.9,24.91,37.65,19.58,37.65z M61.78,26.12c0,6.64-5.1,11.53-11.36,11.53s-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53S61.78,19.43,61.78,26.12z M56.8,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C53.84,33.11,56.8,30.22,56.8,26.12z M87.25,26.12c0,6.64-5.1,11.53-11.36,11.53c-6.26,0-11.36-4.89-11.36-11.53c0-6.68,5.1-11.53,11.36-11.53C82.15,14.59,87.25,19.43,87.25,26.12zM82.28,26.12c0-4.15-2.96-6.99-6.39-6.99c-3.43,0-6.39,2.84-6.39,6.99c0,4.11,2.96,6.99,6.39,6.99C79.32,33.11,82.28,30.22,82.28,26.12z M112.09,15.29v20.7c0,8.52-5.02,12.01-10.96,12.01c-5.59,0-8.95-3.76-10.22-6.81l4.41-1.83c0.79,1.88,2.71,4.1,5.81,4.1c3.8,0,6.16-2.36,6.16-6.77v-1.66h-0.18c-1.14,1.4-3.32,2.62-6.07,2.62c-5.76,0-11.05-5.02-11.05-11.49c0-6.51,5.28-11.57,11.05-11.57c2.75,0,4.93,1.22,6.07,2.58h0.18v-1.88H112.09z M107.64,26.16c0-4.06-2.71-7.03-6.16-7.03c-3.49,0-6.42,2.97-6.42,7.03c0,4.02,2.93,6.94,6.42,6.94C104.93,33.11,107.64,30.18,107.64,26.16z M120.97,3.06v33.89h-5.07V3.06H120.97z M140.89,29.92l3.93,2.62c-1.27,1.88-4.32,5.11-9.61,5.11c-6.55,0-11.28-5.07-11.28-11.53c0-6.86,4.77-11.53,10.71-11.53c5.98,0,8.91,4.76,9.87,7.34l0.52,1.31l-15.42,6.38c1.18,2.31,3.01,3.49,5.59,3.49C137.79,33.11,139.58,31.84,140.89,29.92zM128.79,25.77l10.31-4.28c-0.57-1.44-2.27-2.45-4.28-2.45C132.24,19.04,128.66,21.31,128.79,25.77z"/> </svg>Maps Platform </a> </li> </ul> </span> </div> </div> <div class="devsite-book-nav-wrapper"> <div class="devsite-mobile-nav-top"> <ul class="devsite-nav-list"> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="overview"> <span class="devsite-nav-text" tooltip> Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/#products" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Products" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="products"> <span class="devsite-nav-text" tooltip> Products </span> </a> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/pricing/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Pricing" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="pricing"> <span class="devsite-nav-text" tooltip> Pricing </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="documentation"> <span class="devsite-nav-text" tooltip> Documentation </span> <span class="devsite-nav-icon material-icons" data-icon="forward"> </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip menu="Documentation"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Documentation"> </span> </span> </li> </ul> </li> <li class="devsite-nav-item"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/blog/products/maps-platform" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="blog"> <span class="devsite-nav-text" tooltip> Blog </span> </a> </li> </ul> </div> <div class="devsite-mobile-nav-bottom" role="navigation"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Google Maps Platform Documentation</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Get Started</span></div></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Get Started with Google Maps Platform</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/api-picker" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>API Picker</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/api-key-best-practices" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>API Key Best Practices</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/billing-credits" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Billing Account Credits</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/billing/gmp-billing" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Billing</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/reporting/gmp-reporting" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Reporting</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/faq" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>FAQ</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/support" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Support and Resources</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/gmp-incident-management" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Incident Management</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Maps</span></div></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Maps JavaScript API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Maps SDK for Android</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Maps SDK for iOS</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Maps Static API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/streetview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Street View Static API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/embed" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Maps Embed API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/urls" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Maps URLs</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Routes</span></div></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Directions API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Distance Matrix API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/roads" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Roads API</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Places</span></div></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Places API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Places SDK for Android</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Places SDK for iOS</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/places" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Places Library, Maps JavaScript API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Geocoding API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geolocation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Geolocation API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/timezone" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Time Zone API</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/elevation" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Elevation API</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Solutions</span></div></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/solutions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Industry Solutions</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/solutions" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Retail</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/documentation/gaming" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Gaming Services</span></a></li> <li class="devsite-nav-item devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path"><span class="devsite-nav-text" tooltip>Additional Resources</span></div></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/coverage" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Map Coverage Details</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/optimization-guide" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Optimization Guide</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/optimize-web-services" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Optimizing Web Service Usage</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/deprecations" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Deprecations</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/asset-tracking-plan" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Asset Tracking Plan</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/root-ca-faq" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Root CA Migration FAQ</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/billing/public-programs" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Public Programs</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/gmp-domains" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Domains</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/prelaunch-checklist" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Pre-Launch Checklist</span></a></li> <li class="devsite-nav-item"><a href="/web/20210513114133/https://developers.google.com/maps/premium/overview" class="devsite-nav-title"><span class="devsite-nav-text" tooltip>Premium Plan</span></a></li> </ul> <ul class="devsite-nav-list" menu="Documentation" aria-label="Side menu" hidden> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Get Started </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Get Started with Google Maps Platform" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="getStartedWithGoogleMapsPlatform"> <span class="devsite-nav-text" tooltip> Get Started with Google Maps Platform </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/api-picker" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: API Picker" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="aPIPicker"> <span class="devsite-nav-text" tooltip> API Picker </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/billing-credits" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Billing Account Credits" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="billingAccountCredits"> <span class="devsite-nav-text" tooltip> Billing Account Credits </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/billing/gmp-billing" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Billing" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="billing"> <span class="devsite-nav-text" tooltip> Billing </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/reporting/gmp-reporting" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reporting" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="reporting"> <span class="devsite-nav-text" tooltip> Reporting </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/faq" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: FAQ" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="fAQ"> <span class="devsite-nav-text" tooltip> FAQ </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/support" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support and Resources" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="supportAndResources"> <span class="devsite-nav-text" tooltip> Support and Resources </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/gmp-incident-management" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Incident Management" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="incidentManagement"> <span class="devsite-nav-text" tooltip> Incident Management </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Maps </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps JavaScript API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsJavaScriptAPI"> <span class="devsite-nav-text" tooltip> Maps JavaScript API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps SDK for Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsSDKForAndroid"> <span class="devsite-nav-text" tooltip> Maps SDK for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps SDK for iOS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsSDKForIOS"> <span class="devsite-nav-text" tooltip> Maps SDK for iOS </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps Static API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsStaticAPI"> <span class="devsite-nav-text" tooltip> Maps Static API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/streetview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Street View Static API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="streetViewStaticAPI"> <span class="devsite-nav-text" tooltip> Street View Static API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/embed" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps Embed API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsEmbedAPI"> <span class="devsite-nav-text" tooltip> Maps Embed API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/urls" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps URLs" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsURLs"> <span class="devsite-nav-text" tooltip> Maps URLs </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/elevation" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps Elevation API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapsElevationAPI"> <span class="devsite-nav-text" tooltip> Maps Elevation API </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Routes </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Directions API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="directionsAPI"> <span class="devsite-nav-text" tooltip> Directions API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Distance Matrix API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="distanceMatrixAPI"> <span class="devsite-nav-text" tooltip> Distance Matrix API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/roads" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Roads API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="roadsAPI"> <span class="devsite-nav-text" tooltip> Roads API </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Solutions </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/solutions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Industry Solutions" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="industrySolutions"> <span class="devsite-nav-text" tooltip> Industry Solutions </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/solutions" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Retail" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="retail"> <span class="devsite-nav-text" tooltip> Retail </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/gaming" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Gaming Services" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="gamingServices"> <span class="devsite-nav-text" tooltip> Gaming Services </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Places </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Places API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="placesAPI"> <span class="devsite-nav-text" tooltip> Places API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Places SDK for Android" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="placesSDKForAndroid"> <span class="devsite-nav-text" tooltip> Places SDK for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Places SDK for iOS" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="placesSDKForIOS"> <span class="devsite-nav-text" tooltip> Places SDK for iOS </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/places" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Places Library, Maps JavaScript API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="placesLibrary,MapsJavaScriptAPI"> <span class="devsite-nav-text" tooltip> Places Library, Maps JavaScript API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Geocoding API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="geocodingAPI"> <span class="devsite-nav-text" tooltip> Geocoding API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/geolocation" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Geolocation API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="geolocationAPI"> <span class="devsite-nav-text" tooltip> Geolocation API </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/timezone" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Time Zone API" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="timeZoneAPI"> <span class="devsite-nav-text" tooltip> Time Zone API </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip> <span class="devsite-nav-text" tooltip> Additional Resources </span> </span> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/api-key-best-practices" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: API Key Best Practices" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="aPIKeyBestPractices"> <span class="devsite-nav-text" tooltip> API Key Best Practices </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/coverage" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Map Coverage Details" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="mapCoverageDetails"> <span class="devsite-nav-text" tooltip> Map Coverage Details </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/optimization-guide" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Optimization Guide" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="optimizationGuide"> <span class="devsite-nav-text" tooltip> Optimization Guide </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/deprecations" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Deprecations" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="deprecations"> <span class="devsite-nav-text" tooltip> Deprecations </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/asset-tracking-plan" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Asset Tracking Plan" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="assetTrackingPlan"> <span class="devsite-nav-text" tooltip> Asset Tracking Plan </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/root-ca-faq" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Root CA Migration FAQ" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="rootCAMigrationFAQ"> <span class="devsite-nav-text" tooltip> Root CA Migration FAQ </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/billing/public-programs" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Public Programs" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="publicPrograms"> <span class="devsite-nav-text" tooltip> Public Programs </span> </a> </li> <li class="devsite-nav-item"> <a href="/web/20210513114133/https://developers.google.com/maps/premium" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Premium Plan" track-type="navMenu" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" track-name="premiumPlan"> <span class="devsite-nav-text" tooltip> Premium Plan </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav has-toc> <devsite-toc class="devsite-nav"></devsite-toc> <devsite-content> <article class="devsite-article"><style> /* Styles inlined from /maps/documentation/local_extensions.css */ .version { text-align: right; } .code { color: #006000; font-family: "Courier", monospace; font-size: 100%; } .grid td { padding: 4px; border-collapse: collapse; border: 1px solid gray; } .header td { font-weight: bold; background: #EEEEEE; } .encodeBox { width: 550px; height: 40px; font-size: 14px; font-family: Courier; } .inputField { width: 160px; } #pointList { width: 300px; font-size: 12px; } #txtAddress { width: 14em; } .welcome { border: none; } .welcome td{ border: none; padding:0 10px 0 10px; } .number { background-color: #E5ECF9; text-align:center; vertical-align:middle; padding: 0 5px; } .leftpadding { padding: 0 0 0 10px; } .identifier { color: black; } /* List the contents inline to save vertical space */ .summarylist { margin-right: 4em; } .summarylist li { display: inline; margin: 0em; margin-right: 0.2em; line-height: 1.5em; } /* Self-links for Maps API for Flash */ a.self-link:link { color: #0000cc; text-decoration: none; } a.self-link:active { color: #0000cc; text-decoration: none; } a.self-link:visited { color: #0000cc; text-decoration: none; } /* Self-links for Maps API */ .self-link { cursor: pointer; } .blackbg { background: #333; } </style><style> /* Styles inlined from /maps/styles/common.css */ /* Enable Billing Modal Dialog Styles */ .devsite-enable-billing-dialog { left: 50%; margin-left: -274px; top: 25%; width: 548px; } .devsite-dialog-close { color: #747474; } #devsite-dialog-onload-billing-enabled { padding: 0; } #devsite-dialog-onload-billing-enabled .get-key-check { background: no-repeat #8cc152 center/72px url(/web/20210513114133im_/https://developers.google.com/maps/images/lhimages/v2/check@2x.png); height: 150px; width: 100%; } #devsite-dialog-onload-billing-enabled .devsite-dialog-contents, #devsite-dialog-onload-billing-enabled .devsite-dialog-buttons { margin: 8px; } .devsite-enable-billing-dialog ol { list-style: none; margin: 40px 0; padding: 0; } .devsite-enable-billing-dialog li { counter-increment: step-counter; font-size: 14px; line-height: 16px; margin-bottom: 28px; } .devsite-enable-billing-dialog li::before { border-radius: 50%; border: 2px solid #ececec; color: #00bcd4; content: counter(step-counter); font-size: 14px; font-weight: 500; margin-right: 22px; padding: 6px 10px; } /* Style Wizard introduction */ .styleWizardIntroMain { border-radius: 3px; height: 500; width: 640; } .styleWizardIntroSixMapSamples { left: calc(50% - (500px / 2)); line-height: 1; position: relative; text-align: center; width: 500px; } .styleWizardIntroSample { border: 1px solid rgba(0,0,0,0.07); border-radius: 3px; box-shadow: 0 1px 12px 0 rgba(0,0,0,0.10); display: inline-block; height: 140px; margin: 10px; overflow: hidden; width: 140px; } .styleWizardIntroCaption { text-align: center; } /* TODO(cl/330601385) waiting on fix to be deployed */ .devsite-jsfiddle-hide { position:absolute; top: -99999px; left: -99999px; display:block; } /* Styles for /maps/solutions best practices content */ #bp-background { border-radius: 25px; background: #e8eaed; } #bp-heading span { float:left; margin-right:10px; position:relative; padding: 10px; } /* Use as <ul id="bp-bullet><li>{{ [bp|add]_bullet }}Text here... to have icons serve as the bullet symbol. */ #bp-bullet { list-style-type: none; text-indent: -20px; margin-left: 50px; } #platform-box { float: right; position: relative; width: 30%; padding: 20px; margin-left: 30px; margin-bottom: 30px; background-color: #ceead6; border-color: #e8eaed; border-style: solid; } </style><style> /* customize BG color in THs & TDs (columns) of Maps keys tables*/ .maps-keys td:nth-of-type(1), { background-color:#e4eaf2; } .maps-keys th:nth-of-type(2) { background-color:#3949ab; } .maps-keys td:nth-of-type(2) { background-color:#e5e7f4; } .maps-keys th:nth-of-type(3) { background-color:#7cb342; } .maps-keys td:nth-of-type(3) { background-color:#eef5e7; } tr.example td code { font-size: 80%; } table.usage td:nth-of-type(2), table.usage th:nth-of-type(2) { text-align: center; } table.usage td:nth-of-type(3), table.usage th:nth-of-type(3) { text-align: right; } .supnote { font-size:80%; margin-bottom: 3em; } dt { font-size: 120%; } h4 { border-bottom: 1px solid #ebebeb; } li.margin-top { margin-top:2em; } </style> <div class="devsite-article-meta" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail=""> Home </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/products" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail=""> Products </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="Google Maps Platform"> Google Maps Platform </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/documentation" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="4" track-type="globalNav" track-name="breadcrumb" track-metadata-position="4" track-metadata-eventdetail=""> Documentation </a> </li> </ul> <devsite-thumb-rating position="header"> <template class="thumb-down-categories"> [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples/Code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] </template> <template class="thumb-up-categories"> [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] </template> <template class="thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Google Maps Platform" product-id="81777" bucket="" context="Maps API Product Family" version="t-devsite-webserver-20210506-r01-rc00.435049445564484835" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" project-icon="https://developers.google.com/maps/images/maps-icon.svg" feedback-type="thumb-rating"> <button> Need to tell us more? </button> </devsite-feedback> </template> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Google Maps Platform" product-id="81777" bucket="" context="Maps API Product Family" version="t-devsite-webserver-20210506-r01-rc00.435049445564484835" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" project-icon="https://developers.google.com/maps/images/maps-icon.svg" feedback-type="thumb-rating"> <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title">Google Maps Platform FAQ<devsite-bookmark></devsite-bookmark></h1> <devsite-toc class="devsite-nav" devsite-toc-embedded> </devsite-toc> <div class="devsite-article-body clearfix "> <h4 id="getting-started_1" data-text="Getting Started">Getting Started</h4> <ul> <li> <a href="#whatis"> What is the Google Maps Platform? </a> </li> <li> <a href="#getstarted"> How do I get started with Google Maps Platform? </a> </li> <li> <a href="#whichapi"> Which API do I need? </a> </li> <li> <a href="#startapi"> How do I start using the APIs on my site? </a> </li> <li> <a href="#whatcountries"> Which countries does the Google Maps Platform cover? </a> </li> <li> <a href="#mapswithoutapi"> Can I put Google Maps on my site without using Google Maps Platform products? </a> </li> <li> <a href="#mapsformobile"> How do I deliver Maps applications on mobile devices? </a> </li> <li> <a href="#browsersupport"> Which web browsers does the Maps JavaScript API support? </a> </li> <li> <a href="#print"> Can I print maps from the Maps JavaScript API? </a> </li> <li> <a href="#notify"> How can I be notified when there are changes to Google Maps Platform products? </a> </li> <li> <a href="#support"> How do I contact technical support? </a> </li> <li> <a href="#support_available"> When is technical support available? </a> </li> <li> <a href="#recover-gaccount-access"> How do I recover access to my Google Account? </a> </li> <li> <a href="#recover-project-access"> How do I recover access to a specific project? </a> </li> <li> <a href="#arm-based-macs"> Can I use the Maps and Places SDK for iOS on Arm-based Macs? </a> </li> </ul> <h4 id="understanding-the-terms-of-service" data-text="Understanding the terms of service">Understanding the terms of service</h4> <ul> <li> <a href="#tos"> What are the terms of service for Google Maps Platform products? </a> </li> <li> <a href="#tos_mysite"> Does my site meet the Google Maps Platform Terms of Service? </a> </li> <li> <a href="#tos_tiles"> Can I directly access map tiles and satellite imagery? </a> </li> <li> <a href="#tos_tracking"> Can I use Google Maps Platform products for tracking applications? </a> </li> <li> <a href="#tos_nonweb"> Can I use Google Maps Platform products in my non-Web application? </a> </li> <li> <a href="#tos_password"> Can I use Google Maps Platform products on a site that is password protected? </a> </li> <li> <a href="#tos_export"> Can I create an application that includes Google Maps Platform data in a document? </a> </li> <li> <a href="#tos_screenshots"> As a user of a Google Maps Platform application, can I use screen shots of Google Maps imagery shown in the application in printed materials or offline media? </a> </li> <li> <a href="#tos_optout"> How can I opt out of including my content in Google search results? </a> </li> <li> <a href="#tos_staticmaps_reuse"> Can I generate a map image using the Maps Static API which I store and serve from my website? </a> </li> </ul> <h4 id="usage-limits-and-billing" data-text="Usage limits and billing">Usage limits and billing</h4> <ul> <li> <a href="#setup_billing"> How do I set up billing for my project? </a> </li> <li> <a href="#GCP_paid_account"> How do Google Cloud Platform Free Tier customers upgrade to a paid account? </a> </li> <li> <a href="#usage_apis"> Does the Google Maps Platform have usage limits? </a> </li> <li> <a href="#usage_quotacalc"> How is usage cost calculated? </a> </li> <li> <a href="#usage_mapload"> How are map loads counted on the Google Maps Platform? </a> </li> <li> <a href="#usage-monitor"> How do I monitor my quota usage? </a> </li> <li> <a href="#usage-exceed"> What happens if I exceed the usage limits? </a> </li> <li> <a href="#hightrafficsite"> My site gets a lot of traffic. Can I use Google Maps Platform products? </a> </li> <li> <a href="#usage_popular"> If my web site or application becomes suddenly popular, will my maps stop working? </a> </li> <li> <a href="#usage_calculated"> How will usage be calculated and billed? </a> </li> <li> <a href="#usage_pricing"> How much does it cost to use the Google Maps Platform? </a> </li> <li> <a href="#usage_currencies"> Is pricing available in other currencies? </a> </li> <li> <a href="#usage_viewbill"> I've set up billing. How do I view my bill? </a> </li> <li> <a href="#usage_cap"> How do I avoid a large bill if my usage unexpectedly increases? </a> </li> <li> <a href="#transition_account"> 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? </a> </li> <li> <a href="#limit_1"> Why is my quota limit set to 1 request per day? How can I raise this limit? </a> </li> <li> <a href="#billing-violation-notice"> I received a billing violation notice. How do I resolve this? </a> </li> </ul> <h4 id="using-the-google-maps-platform" data-text="Using the Google Maps Platform">Using the Google Maps Platform</h4> <ul> <li> <a href="#keysystem"> Which keys or credentials should I use for different Google Maps Platform products? </a> </li> <li> <a href="#switch-key-type"> How do I switch my key restriction type from an HTTP referer to an IP address restriction? </a> </li> <li> <a href="#new-key"> How do I get a new API key? </a> </li> <li> <a href="#versionchanges"> How can I find the changes introduced in each version of the Google Maps Platform? </a> </li> <li> <a href="#loadasync"> How can I load the API into a page asynchronously after the page has loaded? </a> </li> <li> <a href="#languagesupport"> How can I get Google Maps Platform products to display in a language other than English? </a> </li> <li> <a href="#ssl"> Can the Google Maps Platform be accessed over SSL (HTTPS)? </a> </li> <li> <a href="#reportissue"> How do I report a bug or request a new feature in the Google Maps Platform? </a> </li> <li> <a href="#api_cookies"> How do Google Maps Platform APIs use site cookies? </a> </li> <li> <a href="#morehelp"> I can't find the answer to my question. Who should I contact? </a> </li> </ul> <h4 id="errors-and-troubleshooting" data-text="Errors and troubleshooting">Errors and troubleshooting</h4> <ul> <li> <a href="#errorcodes"> What does this error mean? </a> </li> <li> <a href="#api-key-billing-errors"> My maps appear darker than usual. What's happening? </a> </li> <li> <a href="#over-limit-key-error"> How do I resolve the error codes <code translate="no" dir="ltr">OVER_DAILY_LIMIT</code> or <code translate="no" dir="ltr">OVER_QUERY_LIMIT</code>? </a> </li> <li> <a href="#rate-limit-exceeded-error"> How do I resolve the error codes: <code translate="no" dir="ltr">kGMSPlacesRateLimitExceeded</code> or <code translate="no" dir="ltr">9005 PLACES_API_RATE_LIMIT_EXCEEDED</code>? </a> </li> <li> <a href="#api-key-error"> How do I resolve the error: "This IP, site or mobile application is not authorized to use this API key."? </a> </li> <li> <a href="#browser-keys-blocked-error"> How do I resolve the error: "API keys with referer restrictions cannot be used with this API."? </a> </li> </ul> <h4 id="google-maps-platform-services" data-text="Google Maps Platform Services">Google Maps Platform Services</h4> <ul> <li> <a href="#geocoder_exists"> I need to convert addresses to latitude/longitude pairs. Can I do that with the Google Maps Platform? </a> </li> <li> <a href="#geocoder_countries"> Which countries is geocoding available in? </a> </li> <li> <a href="#geocoder_differences"> Why do the Google Maps Platform Geocoders provide different locations than Google Maps? </a> </li> <li> <a href="#geocoder_queryformat"> How should I format my geocoder queries to maximise the number of successful requests? </a> </li> <li> <a href="#geocoder_highways"> How should I format a U.S. address on a numbered highway for geocoding? </a> </li> <li> <a href="#geocoder_classorhttp"> When should I use an API geocoder class and when should I use the HTTP Geocoding Service? </a> </li> <li> <a href="#directions_exists"> How do I provide driving directions with the Google Maps Platform? </a> </li> <li> <a href="#directions_countries"> In which countries are driving directions available? </a> </li> <li> <a href="#transit_directions_countries"> In which countries are transit directions available? </a> </li> <li> <a href="#geoxmlsupport"> Which KML and GeoRSS features are supported in the Maps JavaScript API? </a> </li> <li> <a href="#geoxmllimits"> What are the limits on the size and complexity of KML that can be displayed using the KmlLayer class of the Maps JavaScript API? </a> </li> <li><a href="#intranet_kml">How do I render KML files that are hosted on intranet sites on a map?</a> </li> <li> <a href="#staticmap_limits"> What is the maximum number of markers or path vertices supported by the Maps Static API? </a> </li> <li> <a href="#prohibited_territories_ws_access"> Why can't I access Google Maps Platform products for certain countries? </a> </li> <li> <a href="#data-issues"> How do I report a problem on the Google basemap? </a> </li> </ul> <h4 id="google-maps-sdk-for-ios" data-text="Google Maps SDK for iOS">Google Maps SDK for iOS</h4> <ul> <li> <a href="#demoappxcode12">In Xcode 12, apps do not build correctly for the simulator. How can I fix this?</a> </li> <li> <a href="#rate-limit-error-ios"> How do I resolve the error: <code translate="no" dir="ltr">kGMSPlacesRateLimitExceeded</code>? </a> </li> <li> <a href="#ios8-debug"> I'm getting crashes when debugging with an iOS 8.x device. What should I do? </a> </li> <li> <a href="#iphone-x"> What's the impact of rounded and wider screens on the Google Maps iOS SDK? </a> </li> </ul> <h4 id="google-maps-sdk-for-android" data-text="Google Maps SDK for Android">Google Maps SDK for Android</h4> <ul> <li> <a href="#9005-error-android"> How do I resolve the error: <code translate="no" dir="ltr">9001 Operation failed due to exceeding the quota usage limit</code>? </a> </li> <h4 id="url-signing" data-text="URL signing">URL signing</h4> <ul> <li><a href="#signature_js">Can I sign URLs using JavaScript?</a></li> <li><a href="#signature_403">Why am I receiving a HTTP 403 Forbidden response to my Maps API web service requests?</a></li> </ul> <h2 id="getting-started" data-text="Getting Started">Getting Started</h2> <dl> <dt id="whatis"> What is the Google Maps Platform? </dt> <dd> <p> The Google Maps Platform is a set of APIs and SDKs that allows developers to embed Google Maps into mobile apps and web pages, or to retrieve data from Google Maps. There are several offerings. Depending on your needs, you may find yourself using one or a combination of these APIs and SDKs:</p> <p>Maps:</p> <ul> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript">Maps JavaScript API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk">Maps SDK for Android</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk">Maps SDK for iOS</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static">Maps Static API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/streetview">Street View Static API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/urls/guide">Maps URLs</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/embed">Maps Embed API</a></li> </ul> <p>Routes:</p> <ul> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions">Directions API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix">Distance Matrix API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/roads">Roads API</a></li> </ul> <p>Places:</p> <ul> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service">Places API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk">Places SDK for Android</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk">Places SDK for iOS</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/places">Places Library, Maps JavaScript API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding">Geocoding API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geolocation">Geolocation API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/timezone">Time Zone API</a></li> </ul> <dt id="getstarted"> How do I get started with Google Maps Platform? </dt> <dd> <p> See <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started">Get Started with Google Maps Platform</a>. </p> </dd> <dt id="whichapi"> Which API do I need? </dt> <dd> <p> For help in finding the right API based on your functional requirements, take a look at the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/api-picker">API picker</a>. </p> </dd> <dt id="startapi"> How do I start using the APIs on my site? </dt> <dd> <p> See the Overview, Developer, and Get Started guides for the specific API or SDK you are interested in. For example, check out the guides for <a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk/intro" target="_blank">Maps SDK for Android</a> or <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/tutorial" target="_blank">Maps JavaScript API</a>. </p> </dd> <dt id="whatcountries"> Which countries does the Google Maps Platform cover? </dt> <dd> <p> The Google Maps team is constantly pushing new map data out and increasing our international coverage. Consult the <a href="/web/20210513114133/https://developers.google.com/maps/coverage">Google Maps coverage data</a> 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. </p> <p>Also see:</p> <ul> <li><a href="#languagesupport">How can I get Google Maps Platform products to display in a language other than English?</a></li> <li><a href="#transit_directions_countries">In which countries are transit directions available?</a></li> </ul> </dd> <dt id="mapswithoutapi"> Can I put Google Maps on my site without using Google Maps Platform products? </dt> <dd> <p> Yes. <a href="https://web.archive.org/web/20210513114133/http://maps.google.com/" target="_blank" class="external">Google Maps</a> 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 <a href="https://web.archive.org/web/20210513114133/https://support.google.com/maps/answer/3544418" class="external"> here</a>. </p> </dd> <dt id="mapsformobile"> How do I deliver Maps applications on mobile devices? </dt> <dd> <p> To incorporate maps in an Android application, use the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk">Maps SDK for Android</a>. </p> <p> To incorporate maps in a native iOS application, use the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk">Maps SDK for iOS</a>. </p> <p> The <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript"> Maps JavaScript API</a> 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. </p> <p> For applications targeted at devices not suitable for using the Maps JavaScript API, the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static">Maps Static API</a> 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. </p> </dd> <dt id="browsersupport"> Which web browsers does the Maps JavaScript API support? </dt> <dd> <p>The Maps JavaScript API supports the following web browsers:</p> <strong>Desktop</strong> <ul> <li>The current version of Microsoft Edge (Windows)</li> <li>Internet Explorer 11 (Windows; Compatibility View is not supported.)</li> <li>The current and previous versions of Firefox (Windows, macOS, Linux)</li> <li>The current and previous versions of Chrome (Windows, macOS, Linux)</li> <li>The current and previous versions of Safari (macOS)</li> </ul> <strong>Android</strong> <ul> <li>The current version of Chrome on Android 4.1+.</li> <li>Chrome WebView on Android 4.4+.</li> </ul> <strong>iOS</strong> <ul> <li>Mobile Safari on the current and previous major versions of iOS.</li> <li>UIWebView and WKWebView on the current and previous major versions of iOS.</li> <li>Current version of Chrome for iOS.</li> </ul> </dd> <dt id="print"> Can I print maps from the Maps JavaScript API? </dt> <dd> <p> Printing from the Maps JavaScript API is not supported. This is because printing support is inconsistent across commonly used browsers. </p> </dd> <dt id="notify"> How can I be notified when there are changes to Google Maps Platform products? </dt> <dd> <p>You should subscribe to the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/blog/products/maps-platform" class="external">Google Maps Platform Blog</a> for news updates across the various Google Geo developer offerings. </p> </dd> </dl> <dt id="support"> How do I contact technical support? </dt> <dd> <p> See <a href="/web/20210513114133/https://developers.google.com/maps/support">Google Maps Platform Support and Resources</a> for information about available support options. </p> </dd> <dt id="support_available"> When is technical support available? </dt> <dd> The support team is available 24x5 (weekdays from Monday 9 a.m. Tokyo time to Friday 5 p.m. Pacific time) excluding <a href="https://web.archive.org/web/20210513114133/https://support.google.com/googlecloud/answer/6047804" class="external">regional holidays</a> for "service unusable" issues. </dd> <dt id="recover-gaccount-access"> How can I recover access to my Google Account? </dt> <dd> <p>If you lost access to your Google Account (e.g. joe@mycompany.com or joe@gmail.com), you can try restoring the account access by retrieving or resetting your password. Visit the <a href="https://web.archive.org/web/20210513114133/https://support.google.com/accounts/answer/7682439" class="external">How to recover your Google Account or Gmail</a> article in Google Account Help.</p> <ul> <li>Note: To restore access to a G Suite account, ask your <a href="https://web.archive.org/web/20210513114133/https://support.google.com/a/answer/1397578" class="external">Organization</a> admin to <a href="https://web.archive.org/web/20210513114133/https://support.google.com/a/answer/1397578" class="external">undelete the account</a>.</li> </ul> </dd> <dt id="recover-project-access"> How can I recover access to a specific project? </dt> <dd> <p>If you lost access to the project where you manage your Google Maps Platform implementation, you can try to recover it.</p> <p>If you have access to your project-associated Google Account:</p> <ul> <li><strong>If you know the Project Owner and have access to your Google Account:</strong> Ask the Project Owner to <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/iam/docs/granting-changing-revoking-access#granting-console" class="external">add you as a Project Owner or Project Editor</a>. <ul> <li><strong>If your project is part of an Organization:</strong> Contact your <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy" class="external">Organization</a> admins and ask them to <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/iam/docs/granting-changing-revoking-access#granting-console" class="external">add you as a Project Owner</a>.</li> </ul> </li> <li><strong>If you do not know any of the current Project Owners:</strong> If you don’t know who the Project Owner is, or the Project Owner is unavailable, <a href="/web/20210513114133/https://developers.google.com/maps/support?utm_source=faq&amp;utm_medium=contact_support" class="gc-analytics-event" data-category="GMPsupport" data-action="linkClick: body" data-label="contact-support-team">contact the support team</a> to explore additional options to recover the project.</li> </ul> <p>If you <strong>do not</strong> have access to your project-associated Google Account:</p> <ul> <li><strong>If you lost access to your Google Account:</strong> <a href="#recover-gaccount-access">try to recover your username or password</a> for your account.</li> <li><strong>If you cannot recover access to your Google Account:</strong> Create a new Google Account, then contact an existing project owner and ask them to <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/iam/docs/granting-changing-revoking-access#granting-console" class="external">add your new Google Account to the project</a>.</li> </ul> </dd> <dt id="arm-based-macs"> Can I use the Maps and Places SDK for iOS on Arm-based Macs? </dt> <dd> <p>Developing on the new Arm-based Macs is possible, however, it requires building and running on a physical iOS device. This is a temporary limitation while we look into adding more support for developing on simulators.</p> </dd> <h2 id="understanding-terms-of-service" data-text="Understanding the terms of service">Understanding the terms of service</h2> <dl> <dt id="tos"> What are the terms of service for Google Maps Platform products? </dt> <dd> <p> The Google Maps Platform Terms of Service are available at: </p> <p> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external"> https://cloud.google.com/maps-platform/terms</a> </p> </dd> <dt id="tos_mysite"> Does my site meet the Google Maps Platform Terms of Service? </dt> <dd> <p> You can use the Google Maps Platform within your applications as long as your site meets the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external">Google Maps Platform Terms of Service</a>. </p> <p> 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. </p> <p> You should use your own counsel to determine whether your application complies with the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external">Google Maps Platform Terms of Service</a> 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 <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external">Maps APIs Terms</a> carefully. </p> </dd> <dt id="tos_tiles"> Can I directly access map tiles and satellite imagery? </dt> <dd> <p> You may not access map tiles or satellite imagery 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 <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms#3-license" class="external">Google Maps Platform Terms of Service</a> for more details. </p> </dd> <dt id="tos_tracking"> Can I use Google Maps Platform products for tracking applications? </dt> <dd> <p> 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. </p> </dd> <dt id="tos_nonweb"> Can I use Google Maps in my non-Web application? </dt> <dd> <p> 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. </p> <p> The Maps JavaScript API is only supported when run in one of the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/browsersupport"> supported browsers</a>.</p> </dd> <dt id="tos_password"> Can I use Google Maps Platform products on a site that is password protected? </dt> <dd> <p> Yes, Google Maps, Routes, Places services can be used with private-access applications. See the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external">Google Maps Platform Terms of Service</a> for more details. </p> </dd> <dt id="tos_export"> Can I create an application that includes Google Maps Platform data in a document? </dt> <dd> <p> If your application generates a document, either in electronic or printed form, no data from Google Maps Platform may be included in the document. Please see the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms#3.-license." class="external">Google Maps Platform Terms of Service</a> "No Scraping" section for more details. </p> </dd> <dt id="tos_screenshots"> As a user of a Google Maps Platform application, can I use screen shots of Google Maps imagery shown in the application in printed materials or offline media? </dt> <dd> <p> Limited amounts Google Maps imagery may be included in printed materials, subject to both the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external">Google Maps Platform Terms of Service</a> and the <a href="https://web.archive.org/web/20210513114133/http://www.google.com/permissions/geoguidelines.html" class="external">Geo Permissions Guidelines</a>. </p> </dd> <dt id="tos_optout"> How can I opt out of including my content in Google search results? </dt> <dd> <p>We are no longer collecting this data. The use of the <code translate="no" dir="ltr">indexing</code> 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.</p> <p> To remove your page or site from search results, follow the <a href="https://web.archive.org/web/20210513114133/http://www.google.com/support/webmasters/bin/topic.py?topic=8459" class="external"> instructions</a> provided in our webmaster help center. </p> </dd> <dt id="tos_staticmaps_reuse"> Can I generate a map image using the Maps Static API which I store and serve from my website? </dt> <dd> <p> 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 <code translate="no" dir="ltr">src</code> attribute of an HTML <code translate="no" dir="ltr">img</code> tag or the CSS <code translate="no" dir="ltr">background-image</code> attribute of an HTML <code translate="no" dir="ltr">div</code> 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. </p> </dd> </dl> <h2 id="usage-limits" data-text="Usage limits and billing">Usage limits and billing</h2> <dl> <dt id="setup_billing"> How do I set up billing for my project? </dt> <dd> See <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started">Get Started with Google Maps Platform</a>. </dd> <dt id="GCP_paid_account"> How do Google Cloud Platform Free Tier customers upgrade to a paid account? </dt> <dd> The <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/free/docs/gcp-free-tier" class="external">Google Cloud Platform Free Tier</a> program provides customers a $300 credit free trial to use with any Google Cloud Platform (GCP) service, including the Google Maps Platform (GMP) APIs. When the free trial ends, you must <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade" class="external">upgrade to a paid account</a> to continue using these services. To upgrade to a paid account, visit the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/billing/enable" target="console" class="gc-analytics-event external" data-category="GMPFAQ" data-action="linkClick: link" data-label="GCPPaidAccount">Cloud Console</a>. </dd> <dt id="usage_apis"> Does the Google Maps Platform have usage limits? </dt> <dd> <p> 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: </p> <table> <tbody> <thead> <tr> <th>API</th> <th colspan="2">QPS limit</th> </tr> </thead> <tr> <td colspan="1" rowspan="1"> <p>Directions</p> </td> <td colspan="1" rowspan="1"> <p>50 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Distance Matrix</p> </td> <td colspan="1" rowspan="1"> <p>1000 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Elevation</p> </td> <td colspan="1" rowspan="1"> <p>100 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Geocoding</p> </td> <td colspan="1" rowspan="1"> <p>50 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Geolocation</p> </td> <td colspan="1" rowspan="1"> <p>100 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Dynamic Maps</p> </td> <td colspan="1" rowspan="1"> <p>500 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Static Maps</p> </td> <td colspan="1" rowspan="1"> <p>500 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Street View Image API</p> </td> <td colspan="1" rowspan="1"> <p>500 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Time Zone</p> </td> <td colspan="1" rowspan="1"> <p>500 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Places (JavaScript and web)</p> </td> <td colspan="1" rowspan="1"> <p>100 QPS</p> </td> </tr> <tr> <td colspan="1" rowspan="1"> <p>Roads</p> </td> <td colspan="1" rowspan="1"> <p>500 QPS</p> </td> </tr> </tbody> </table> <p>In order to govern expenditures, you can <a href="#usage-monitor">monitor your API usage</a>, and <a href="#usage_cap">set daily limits</a> to all requests to any billable API.</p> <p>Google Maps Platform products must be deployed in compliance with the standard <a href="#understanding-terms-of-service">Google Maps Platform Terms of Service</a>.</p> </dd> <dt id="usage_quotacalc"> How is usage cost calculated? </dt> <dd> <p> For an overview of pricing for the Google Maps Platform products, please see the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/pricing/sheet/" class="external">Pricing Sheet</a>. </p> <p>To learn more about how Google Maps Platform APIs are billed, please see <a href="/web/20210513114133/https://developers.google.com/maps/billing/understanding-cost-of-use">Understanding billing for Maps, Routes, and Places</a>.</p> </dd> <dt id="usage_mapload"> How are map loads counted on the Google Maps Platform? </dt> <dd> <p>A single map load is charged when any of the following occur: </p> <ul> <li>A web page or application displays a map using the Maps JavaScript API. </li> <li>An application requests a single map image from the Maps Static API. </li> </ul> <p>Street View panoramas are charged separately from map loads:</p> <ul> <li>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. </li> <li>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. </li> </ul> <p>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. </p> </dd> <dt id="usage-monitor"> How do I monitor my usage? </dt> <dd> <p> You can monitor the usage of individual APIs in the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/apiui/apis/enabled" target="console" class="gc-analytics-event external" data-category="GMPFAQ" data-action="linkClick: link" data-label="usageMonitor">Google Cloud Console</a>.</p> <ol> <li>Select the project that contains the API you want to review.</li> <li>From the list of APIs on the Dashboard, click the name of the API.</li> <li>Near the top of the page, click <strong>Metrics</strong> or <strong>Quotas</strong>.</li> </ol> <p> To see a traffic report and billing information for an entire project, follow these steps: </p> <ol> <li>If you haven't already done so, <a href="#setup_billing">set up billing</a>.</li> <li>Go to the Cloud Console <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/billing" target="console" class="gc-analytics-event external" data-category="GMPFAQ" data-action="linkClick: link" data-label="setupReportBilling">billing page</a>.</li> <li>Select a project.</li> <li>In the left sidebar, click <strong>Reports</strong>. Use the filters on the right sidebar to view reports on your billing account.</li> </ol> <p>To learn more, see <a href="/web/20210513114133/https://developers.google.com/maps/reporting/gmp-reporting">Google Maps Platform Reporting</a> as well as <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/apis/docs/monitoring" target="_blank" class="external">Monitoring your API Usage</a> and <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/apis/docs/capping-api-usage" target="_blank" class="external">Capping API Usage</a>. </p> </dd> <dt id="usage_exceed"> What happens if I exceed the request rate (QPS) limits? </dt> <dd> <p>If you exceed the <a href="#usage_apis">QPS limits</a> 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.</p> <p>If you exceed the request <a href="#usage_apis">QPS limits</a> 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.</p> <p><strong>Note:</strong> Four of the web service APIs have an equivalent client-side service available in the Maps JavaScript API: <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/directions">Directions</a>, <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/distancematrix">Distance Matrix</a>, <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/elevation">Elevation</a>, and <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/geocoding">Geocoding</a>.</p> <p><strong>Usage limits exceeded</strong></p> <p>If you exceed the usage limits you will get an <code translate="no" dir="ltr">OVER_QUERY_LIMIT</code> status code as a response.</p> <p>This means that the web service will stop providing normal responses and switch to returning only status code <code translate="no" dir="ltr">OVER_QUERY_LIMIT</code> 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.</p> <p>If you regularly exceed your QPS usage limits, consider lowering usage, by optimizing applications to use Google Maps Platform products more efficiently. See the <a href="/web/20210513114133/https://developers.google.com/maps/optimization-guide">Optimization Guide</a> for more information.</p> <dt id="hightrafficsite"> My site gets a lot of traffic. Can I use Google Maps Platform products? </dt> <dd> <p> Yes. However we recommend that you familiarize yourself with the <a href="#usage_apis">usage limits</a> for any of the Google Maps Platform that your application relies on. </p> </dd> <dt id="usage_popular"> If my web site or application becomes suddenly popular, will my maps stop working? </dt> <dd> <p>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.</p> </dd> <dt id="usage_calculated"> How will usage be calculated and billed? </dt> <dd> <p>Usage is calculated at the end of each day, and priced as shown in the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/pricing/sheet/" class="external">Pricing Sheet</a>. At the end of every month, the total usage is charged to the payment method associated with your billing account. For more information, see <a href="/web/20210513114133/https://developers.google.com/maps/billing/understanding-cost-of-use">Google Maps Platform Billing</a>.</p> </dd> <dt id="usage_pricing"> How much does it cost to use the Google Maps Platform? </dt> <dd> <p>See the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/pricing/sheet/" class="external"> Pricing Sheet</a> 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 <a href="/web/20210513114133/https://developers.google.com/maps/billing/understanding-cost-of-use">guide to understanding Google Maps Platform billing</a>.</p> </dd> <dt id="usage_currencies"> Is pricing available in other currencies? </dt> <dd> <p> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/resources/currency" class="external">Additional currencies</a> may be available within the console. When you select a different currency, rates will convert from the USD equivalent listed on our <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/pricing/sheet/" class="external">Pricing Sheet</a>. </p> </dd> <dt id="usage_viewbill"> I've set up billing. How do I view my bill? </dt> <dd> <p>Google charges you at the beginning of each month for the previous month's activity, using your <a href="https://web.archive.org/web/20210513114133/https://support.google.com/cloud/answer/6158867" class="external"> specified payment method</a>. For details about your bill, see our <a href="/web/20210513114133/https://developers.google.com/maps/billing/understanding-cost-of-use">guide to understanding Google Maps Platform billing</a>. </p> <p>Additional resources:</p> <ul> <li>Learn how to <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/view-history" class="external"> view your cost and payment history</a>. <li>Learn how to <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/get-invoice" class="external"> get an invoice or payment receipt</a>. <li>Learn how to <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/budgets" class="external"> set and manage billing alerts</a>. </ul> </dd> <a id="usage_cap_web"></a> <dt id="usage_cap"> How do I avoid a large bill if my usage unexpectedly increases? </dt> <dd> <p>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.</p> <p><strong>Capping the maximum daily billable limit:</strong></p> <p>To avoid a large bill, you can set a daily cap on usage to protect against unexpected increases in use. You can <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/apis/docs/capping-api-usage" class="external">change this limit</a> in the Cloud Console by taking the following steps:</p> <ol> <li>Go to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/apiui/apis/enabled" target="console" class="gc-analytics-event external" data-category="GMPMapsFAQ" data-action="linkClick: link" data-label="apiKeyRestrictions"> <strong>APIs &amp; Services Dashboard</strong></a>.</li> <li>Select a project if prompted.</li> <li>Select an API from the list, then click the <strong>Quotas</strong> tab.</li> <li>Click the <strong>edit icon</strong> next to the <strong>"requests per day"</strong> quota.</li> </ol> <p>Alternatively, you can edit multiple quotas for multiple APIs using the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/apis/docs/capping-api-usage#view_and_edit_all_quotas_for_apis_in_a_project" class="external"> IAM &amp; admin Quotas dashboard</a>.</p> <aside class="key-point"><b>Tip:</b> Use a simple equation to determine your daily cap depending on how much you want to spend. For example: (Monthly spend / <a href="/web/20210513114133/https://developers.google.com/maps/billing/understanding-cost-of-use#detailed-pricing-information-per-product-sku"> price per each</a>)/30 = requests per day cap (for one API). For instance, on the Maps JavaScript API, 28,000 calls can be made per month within the free tier. If you cap your Maps JavaScript API daily quota to 903 (ie 28,000 / 31), you will not be charged. Note that your implementation may use multiple billable APIs, so adjust your equation as needed. Remember, a <a href="/web/20210513114133/https://developers.google.com/maps/billing/understanding-cost-of-use#billing-overview"> $200 USD Google Maps Platform credit</a> is available each month, so be sure to factor that into your calculation.</aside> <p><strong>Setting and managing budget alerts:</strong></p> <p><a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/budgets" class="external">Set up budget alerts</a> 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.</p> <aside class="key-point"><b>Key Point:</b> Setting a budget does <i>not</i> cap API usage. The purpose of budgets is to allow you to create alerts so that you know how your spending is trending over time. Alerts prompt you to take action to control your costs, but do not prevent the use of your services when the budget is met or exceeded. If you prefer to set a hard cap on API usage to prevent accruing costs, see <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/apis/docs/capping-api-usage" class="external">Capping API Usage</a>.</aside> </dd> <a id="transition_account"></a> <dt>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?</dt> <dd> <p>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:</p> <ol> <li><a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/manage-billing-account#create_a_new_billing_account" class="external"> Create a new billing account</a> (if you already have a billing account, you can skip this step).</li> <li><a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/modify-project#change_the_billing_account_for_a_project" class="external"> Associate the billing account with your project</a>.</li> </ol> </dd> <a id="limit_1"></a> <dt>Why is my quota limit set to 1 request per day? How can I raise this limit?</dt> <dd> <p>If you have not created and attached a billing account to your project, your Maps Platform APIs will be limited to 1 request per day. You can get higher quota by creating and attaching a billing account. To do this, see <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started">Get Started with Google Maps Platform</a>. <p>Once you have created and attached a billing account, your daily quota limit will be removed. You can decide to <a href="/web/20210513114133/https://developers.google.com/maps/faq#usage_cap">set a limit to prevent unexpected spend, in the Cloud Console</a>.</p> </dd> <a id="billing-violation-notice"></a> <dt>I received a billing violation notice. How do I resolve this?</dt> <dd> <p>You have received this notice because Google has determined that your account has been using multiple billing accounts. This is a violation of Google's terms, as defined in <a href="/web/20210513114133/https://developers.google.com/maps-platform/terms#3.-license-.">section 3.2.4 of the Google Maps Platform Terms of Service</a>. Under these terms, it is forbidden to create multiple billing accounts. To learn more, see the <a href="/web/20210513114133/https://developers.google.com/maps/billing-account-violation">Billing Account Violation FAQ</a>.</p> </dd> <h2 id="using-google-maps-apis" data-text="Using the Google Maps Platform">Using the Google Maps Platform</h2> <dl> <dt id="keysystem">Which keys or credentials should I use for different Maps products?</dt> <dd> <p>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.</p> <p><strong>API Key:</strong></p> <ul> <li>An API key is a unique identifier that you generate using the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/docs/authentication/api-keys" class="external"> Cloud Console</a>. <li>Example of loading an API with a key: <code translate="no" dir="ltr">&amp;key=AIzaSyBjsINSH5x39Ks6c0_CoS1yr1Mb3cB3cVo</code></li> </ul> <p><strong>Digital Signature:</strong></p> <ul> <li> 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.</li> </ul> <p><strong>Restrictions:</strong></p> <ul> <li>API key restrictions are optional, but we strongly recommend you restrict all API keys for greater security.</li> <li>You can add an application restriction to the API key. Once restricted, a key will only work on platforms that support that type of restriction. Four types of application restrictions are available. APIs enforcing the same restriction type can use the same restricted key. <ul> <li>IP addresses (individual servers) - for use with the <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_service_apis">web service APIs</a>.</li> <li>HTTP referrers (web sites) - for use with the <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_apis/">web APIs</a>.</li> <li>Android app restriction (by package name and fingerprint) - for use with the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk">Maps SDK for Android</a>.</li> <li>iOS app restriction (by iOS bundle identifier) - for use with the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk">Maps SDK for iOS</a>.</li> </ul> </li> <li>You can also add an API restriction to the API key. For more information, see <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started#api-key">Get, add, and restrict an API key</a>.</li> </ul> </dd> <p id="api-key-restrictions">The table below indicates the key/credential and application restriction for each Google Maps Platform API/SDK.</p> <table id="key-maps" class="maps-keys"> <tr> <th width="30%">API/SDK</th> <th width="40%">Credential &amp; Application Restriction</th> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk"> Maps SDK for Android</a></strong></td> <td>API key with Android restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk"> Places SDK for Android</a></strong></td> <td>API key with Android restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk"> Maps SDK for iOS</a></strong></td> <td>API key with iOS restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk"> Places SDK for iOS</a></strong></td> <td>API key with iOS restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript"> Maps JavaScript API</a></strong></td> <td>API key with HTTP referer restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static"> Maps Static API</a></strong></td> <td>API key with HTTP referer restriction<a href="#restriction"><sup>1</sup></a> + Digital Signature<a href="#digsig"><sup>2</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/streetview"> Street View Static API</a></strong></td> <td>API key with HTTP referer restriction<a href="#restriction"><sup>1</sup></a> + Digital Signature<a href="#digsig"><sup>2</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/embed"> Maps Embed API</a></strong></td> <td>API key with HTTP referer restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions"> Directions API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix"> Distance Matrix API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/elevation"> Elevation API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding"> Geocoding API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geolocation"> Geolocation API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/roads"> Roads API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/timezone"> Time Zone API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> <tr> <td><strong><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service"> Places API</a></strong></td> <td>API key with IP address restriction<a href="#restriction"><sup>1</sup></a></td> </tr> </table> <div style="font-size: 80%; margin-top: 1.2em;" id="restriction"><sup>1</sup> API key restrictions are optional, but we strongly recommend you restrict all API keys for greater security. </div> <div style="font-size: 80%; margin-top: 1.2em;" id="digsig"><sup>2</sup> Depending on usage, a digital signature may be required for the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static/get-api-key#detailed-guide">Maps Static API</a> and <a href="/web/20210513114133/https://developers.google.com/maps/documentation/streetview/get-api-key#detailed-guide">Street View Static API</a>. Regardless of usage, we strongly recommend that you use both an API key and a digital signature to authenticate your requests. </div> </dd> <dt id="switch-key-type"> How do I switch my key restriction type from an HTTP referer to an IP address restriction? </dt> <dd> <p class="note"><strong>Important:</strong> If you are using any of the <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_service_apis">web service APIs</a> 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.</p> <p>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 <a href="/web/20210513114133/https://developers.google.com/maps/faq#new-key">add a new API key</a>.</p> <p>Learn more about <a href="#api-key-restrictions">API key restrictions associated with Google Maps Platform products</a>.</p> <p>To switch an API key with HTTP referer restriction to IP address restriction, do the following:</p> <ol> <li>Go to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/apiui/credential" target="console" class="gc-analytics-event external" data-category="GMPMapsFAQ" data-action="linkClick: link" data-label="apiKeyRestrictions">Credentials page</a> of the Cloud Console.</li> <li>Select the project that contains the API key you want to edit.</li> <li>On the <strong>Credentials</strong> page, from the list of API keys, select the name of the API key to edit the details of the key.</li> <li>In the <strong>Key restriction</strong> section of the page, select “IP addresses (web servers, cron jobs, etc.)” and insert the appropriate server IP addresses, then click Save.</li> </ol> </dd> <dt id="new-key"> How do I get a new API key? </dt> <dd> See <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started">Get Started with Google Maps Platform</a>. </dd> <dt id="versionchanges"> How can I find the changes introduced in each version of the Google Maps APIs? </dt> <dd> <p> Version change information for many of the Maps APIs are available at the following links: </p> <ul> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/releases">Maps JavaScript API</a> </li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions/releases">Directions API</a> </li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix/releases">Distance Matrix API</a> </li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/android-sdk/releases">Maps SDK for Android</a> </li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk/releases">Places SDK for Android</a> </li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk/releases">Maps SDK for iOS</a> </li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk/releases">Places SDK for iOS</a> </li> </ul> <p> 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: </p> <p> <a href="https://web.archive.org/web/20210513114133/https://issuetracker.google.com/bookmark-groups/76561" class="external"> https://issuetracker.google.com/bookmark-groups/76561</a> </p> </dd> <dt id="loadasync"> How can I load the API into a page asynchronously after the page has loaded? </dt> <dd> <p> Just specify the callback parameter when loading the API. More information and sample code can be found in the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API">Getting Started</a> chapter of the Maps JavaScript API documentation. </p> </dd> <dt id="languagesupport"> How can I get Google Maps Platform products to display in a language other than English? </dt> <dd> <p>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:</p> <ul> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/localization">Maps JavaScript API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding/intro#language-param">Geocoding API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions/intro#language-param">Directions API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix/intro#language-param">Distance Matrix API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service/search#language-param">Places API</a></li> </ul> <strong>Supported Languages:</strong> <p>Google often updates supported languages. This list may not be exhaustive and is subject to change.</p> <table> <thead> <th>Language Code</th> <th>Language</th> <th>Language Code</th> <th>Language</th> </thead> <tbody> <tr> <td>af</td> <td>Afrikaans</td> <td>ja</td> <td>Japanese</td> </tr> <tr> <td>sq</td> <td>Albanian</td> <td>kn</td> <td>Kannada</td> </tr> <tr> <td>am</td> <td>Amharic</td> <td>kk</td> <td>Kazakh</td> </tr> <tr> <td>ar</td> <td>Arabic</td> <td>km</td> <td>Khmer</td> </tr> <tr> <td>hy</td> <td>Armenian</td> <td>ko</td> <td>Korean</td> </tr> <tr> <td>az</td> <td>Azerbaijani</td> <td>ky</td> <td>Kyrgyz</td> </tr> <tr> <td>eu</td> <td>Basque</td> <td>lo</td> <td>Lao</td> </tr> <tr> <td>be</td> <td>Belarusian</td> <td>lv</td> <td>Latvian</td> </tr> <tr> <td>bn</td> <td>Bengali</td> <td>lt</td> <td>Lithuanian</td> </tr> <tr> <td>bs</td> <td>Bosnian</td> <td>mk</td> <td>Macedonian</td> </tr> <tr> <td>bg</td> <td>Bulgarian</td> <td>ms</td> <td>Malay</td> </tr> <tr> <td>my</td> <td>Burmese</td> <td>ml</td> <td>Malayalam</td> </tr> <tr> <td>ca</td> <td>Catalan</td> <td>mr</td> <td>Marathi</td> </tr> <tr> <td>zh</td> <td>Chinese</td> <td>mn</td> <td>Mongolian</td> </tr> <tr> <td>zh-CN</td> <td>Chinese (Simplified)</td> <td>ne</td> <td>Nepali</td> </tr> <tr> <td>zh-HK</td> <td>Chinese (Hong Kong)</td> <td>no</td> <td>Norwegian</td> </tr> <tr> <td>zh-TW</td> <td>Chinese (Traditional)</td> <td>pl</td> <td>Polish</td> </tr> <tr> <td>hr</td> <td>Croatian</td> <td>pt</td> <td>Portuguese</td> </tr> <tr> <td>cs</td> <td>Czech</td> <td>pt-BR</td> <td>Portuguese (Brazil)</td> </tr> <tr> <td>da</td> <td>Danish</td> <td>pt-PT</td> <td>Portuguese (Portugal)</td> </tr> <tr> <td>nl</td> <td>Dutch</td> <td>pa</td> <td>Punjabi</td> </tr> <tr> <td>en</td> <td>English</td> <td>ro</td> <td>Romanian</td> </tr> <tr> <td>en-AU</td> <td>English (Australian)</td> <td>ru</td> <td>Russian</td> </tr> <tr> <td>en-GB</td> <td>English (Great Britain)</td> <td>sr</td> <td>Serbian</td> </tr> <tr> <td>et</td> <td>Estonian</td> <td>si</td> <td>Sinhalese</td> </tr> <tr> <td>fa</td> <td>Farsi</td> <td>sk</td> <td>Slovak</td> </tr> <tr> <td>fi</td> <td>Finnish</td> <td>sl</td> <td>Slovenian</td> </tr> <tr> <td>fil</td> <td>Filipino</td> <td>es</td> <td>Spanish</td> </tr> <tr> <td>fr</td> <td>French</td> <td>es-419</td> <td>Spanish (Latin America)</td> </tr> <tr> <td>fr-CA</td> <td>French (Canada)</td> <td>sw</td> <td>Swahili</td> </tr> <tr> <td>gl</td> <td>Galician</td> <td>sv</td> <td>Swedish</td> </tr> <tr> <td>ka</td> <td>Georgian</td> <td>ta</td> <td>Tamil</td> </tr> <tr> <td>de</td> <td>German</td> <td>te</td> <td>Telugu</td> </tr> <tr> <td>el</td> <td>Greek</td> <td>th</td> <td>Thai</td> </tr> <tr> <td>gu</td> <td>Gujarati</td> <td>tr</td> <td>Turkish</td> </tr> <tr> <td>iw</td> <td>Hebrew</td> <td>uk</td> <td>Ukrainian</td> </tr> <tr> <td>hi</td> <td>Hindi</td> <td>ur</td> <td>Urdu</td> </tr> <tr> <td>hu</td> <td>Hungarian</td> <td>uz</td> <td>Uzbek</td> </tr> <tr> <td>is</td> <td>Icelandic</td> <td>vi</td> <td>Vietnamese</td> </tr> <tr> <td>id</td> <td>Indonesian</td> <td>zu</td> <td>Zulu</td> </tr> <tr> <td>it</td> <td>Italian</td> <td></td> <td></td> </tr> </tbody> </table> <p>You can see what the map will look like in any of the languages listed above in this <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/demos/localization">sample application</a>. </p> </dd> <dt id="ssl"> Can the Google Maps Platform be accessed over SSL (HTTPS)? </dt> <dd> <p> The Maps JavaScript API, Maps Static API, and <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_service_apis">Web Service APIs</a> 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. </p> <p> Note that the Maps Static API does not support custom icon URLs that use HTTPS; the default icon will be displayed. </p> </dd> <dt id="reportissue"> How do I report a bug or request a new feature in the Google Maps Platform? </dt> <dd> <p> If you experience behavior that you believe may be a bug, please begin by raising it in the <a href="/web/20210513114133/https://developers.google.com/maps/support">relevant forum</a>. This will allow other developers to validate the bug, and rule out any potential issues with your code. </p> <p> If you wish to request a feature, please also first raise it in the <a href="/web/20210513114133/https://developers.google.com/maps/support">relevant forum</a> to confirm that a solution that meets your requirements is not already available. </p> <p> 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 <a href="https://web.archive.org/web/20210513114133/https://issuetracker.google.com/dashboard/76561" class="external">Google Maps Platform Issue Tracker</a>. </p> <p> 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. </p> </dd> <dt id="api_cookies"> How do Google Maps Platform APIs use site cookies? </dt> <dd> <p>Maps SDK for Android and Maps SDK for iOS use cookies subject to Google's <a href="https://web.archive.org/web/20210513114133/https://policies.google.com/privacy">Privacy Policy</a>, such as calculating daily and 7-day active users and service abuse prevention. These cookies are not associated with any signed-in Google Account and are not logged with the rest of the information collected from the API calls. </p> </dd> <dt id="morehelp"> I can't find the answer to my question. Who should I contact? </dt> <dd> <p>Google's Developer Relations team maintains a presence on <a href="https://web.archive.org/web/20210513114133/http://stackoverflow.com/" class="external">Stack Overflow</a> &mdash; 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 <a href="/web/20210513114133/https://developers.google.com/maps/support">Support</a> page.</p> <p> For best results when requesting help, please keep the following in mind: </p> <ul> <li> Search the current discussions. Chances are someone else has experienced a similar issue and found a fix. </li> <li> Submit a link to your site if possible. Only post code snippets if the code is not easily viewable online. </li> <li> Provide all relevant information including browser versions, errors, and all other facts that may be useful in troubleshooting this problem. </li> </ul> </dd> </dl> <h2 id="troubleshooting" data-text="Errors and troubleshooting">Errors and troubleshooting</h2> <dt id="errorcodes"> What does this error mean? </dt> <dd> <p> 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: </p> <ul> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/error-messages">Maps JavaScript API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/maps-static/error-messages">Maps Static API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/streetview/error-messages">Street View Static API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/embed/error-messages">Maps Embed API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/elevation#ElevationStatus">Elevation API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding/intro#StatusCodes">Geocoding API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/geolocation/intro#errors">Geolocation API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions/intro#ErrorMessages">Directions API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix/intro#StatusCodes">Distance Matrix API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/roads/errors">Roads API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/timezone/intro#Responses">Time Zone API</a></li> <li><a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/web-service/search#PlaceSearchStatusCodes">Places API</a></li> </ul> </dd> <dt id="api-key-billing-errors"> My maps appear darker than usual. What's happening? </dt> <dd> <p>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. To use Google Maps Platform products, you must have a billing account and all requests must include a valid API key. The following flow will help troubleshoot this:</p> <style> /* Make inner expandables indent in a cascade manner. */ .expandable-inner { margin-left: 2em; } </style> <section class="expandable"> <h4 class="showalways" id="are-you-using-an-api-key" data-text="Are you using an API key?">Are you using an API key?</h4> <section class="expandable expandable-inner"> <h4 class="showalways" id="im-not-sure.-how-can-i-check-if-i-am-using-an-api-key" data-text="I'm not sure. How can I check if I am using an API key?">I'm not sure. How can I check if I am using an API key?</h4> <p>An API key is passed as the <code translate="no" dir="ltr">key</code> parameter in the URL that is used to load the Maps JavaScript API. Here are a few options to check if you are using an API key:</p> <ul> <li> Use the <a href="https://web.archive.org/web/20210513114133/https://chrome.google.com/webstore/detail/google-maps-platform-api/mlikepnkghhlnkgeejmlkfeheihlehne" class="external"> Google Maps Platform API Checker</a> Chrome extension. This allows you to determine if your website is properly implementing Google’s licensed Maps APIs. </li> <li>If you are using a library or plugin to load the Maps JavaScript API, check the settings for that library and look for an API key option.</li> <li>Check <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/error-messages#checking-errors">errors in your browser</a>. If you see the following messages, you are not using your API key correctly:</li> <ul> <li>Google Maps JavaScript API warning: <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/error-messages#no-api-keys">NoApiKeys</a></li> <li>Google Maps JavaScript API error: <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/error-messages#missing-key-map-error">MissingKeyMapError</a></li> </ul> </ul> <h4 id="for-web-developers:" data-text="For web developers:">For web developers:</h4> <ul> <li> If you have access to the source code of your application, look for the <code translate="no" dir="ltr">&lt;script&gt;</code> tag which is used to load the Maps JavaScript API. When loading the Maps JavaScript API, substitute <code translate="no" dir="ltr">YOUR_API_KEY</code> in the code below with your API key. <!-- Don't indent here to avoid actual content indenting. --> <pre class="prettyprint notranslate lang-html" id="api-code" dir="ltr"> &lt;script async defer src="https://maps.googleapis.com/maps/api/js?key=<span data-devsite-credential-type="api_key" class="replaceable-credential">YOUR_API_KEY</span>&amp;callback=initMap"&gt; &lt;/script&gt; </pre> </li> <li> Check the network traffic generated by your website in the browser. In Chrome, this can be viewed using the <a href="/web/20210513114133/https://developers.google.com/web/tools/chrome-devtools" class="external">DevTools</a> <strong>Network</strong> tab. Here you will see the network requests made by your website. Requests made using the Maps JavaScript API will be under the path <code translate="no" dir="ltr">maps/api/js</code>. Here you can confirm if the requests are using the <code translate="no" dir="ltr">key</code> parameter. It may be helpful to <a href="/web/20210513114133/https://developers.google.com/web/tools/chrome-devtools/console#filtering_the_console_output"> filter your network traffic</a> by <code translate="no" dir="ltr">maps/api/js</code> when viewing the <strong>Network</strong> tab. </li> </ul> </section> <section class="expandable expandable-inner"> <h4 class="showalways" id="no,-i-am-not-using-an-api-key." data-text="No, I am not using an API key.">No, I am not using an API key.</h4> <p>To get an API key, click the button below. If you do not see a guided setup, follow the full instructions at <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started#procedures">Get Started with Google Maps Platform</a>. <br/> <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started" class="gc-analytics-event button button-blue" data-category="GMPgetStartedPage" data-label="api-key-and-billing-errors-no-key" data-action="buttonClick: get-started" target="_blank">Get Started</a> </p> </section> <section class="expandable expandable-inner"> <h4 class="showalways" id="yes,-i-am-using-an-api-key." data-text="Yes, I am using an API key.">Yes, I am using an API key.</h4> <p>Great! Let’s move on and check if a billing account is attached to your project.</p> </section> </section> <section class="expandable"> <h4 class="showalways" id="is-a-billing-account-attached-to-your-project" data-text="Is a billing account attached to your project?">Is a billing account attached to your project?</h4> <section class="expandable expandable-inner"> <h4 class="showalways" id="im-not-sure.-how-can-i-check-if-billing-account-is-attached-to-my-project" data-text="I'm not sure. How can I check if billing account is attached to my project?">I'm not sure. How can I check if billing account is attached to my project?</h4> <p>Go to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/billing/enable" class="gc-analytics-event external" data-category="GMPBillingTroubleshoot" data-action="linkClick: link" data-label="isBillingAttachedToProject"> Billing page</a> in the Google Cloud Console and select the project under which your API key was created. To confirm the key is associated with the project:</p> <ol> <li>Go to the <strong>Credentials</strong> section, which can be accessed from the left side bar under <strong>APIs &amp; Services &gt; Credentials</strong>.</li> <li>Check that the API key you currently use on your website is listed. If that's not the case, switch to a different project, and check the credentials there.</li> <li>If you cannot locate the project for your API key, you may have lost access to this project. Ask others in your organization for help. If the original project cannot be located, you should: <ol> <li> Create a new project. This can be done by selecting <strong>New Project</strong> from the projects list, or by selecting <strong>Create Project</strong> via the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/cloud-resource-manager" class="gc-analytics-event external" data-category="GMPBillingTroubleshoot" data-action="linkClick: link" data-label="ResourceManagerPg">Resource Manager page</a>. </li> <li>Create a new API key. This can be done on the <strong>Credentials</strong> page. Once there click <strong>Create credentials</strong> and then select <strong>API key</strong>.</li> </ol> </ol> <p> Once you have located your project in the Cloud Console, check if a billing account is attached by navigating to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/billing" class="gc-analytics-event external" data-category="GMPBillingTroubleshoot" data-action="linkClick: link" data-label="isBillingAttachedToProject2">Billing</a> section in the left side menu. </p> </section> <section class="expandable expandable-inner"> <h4 class="showalways" id="no,-a-billing-account-is-not-attached-to-my-project." data-text="No, a billing account is not attached to my project.">No, a billing account is not attached to my project.</h4> <p>Go to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/billing/enable" class="gc-analytics-event external" data-category="GMPBillingTroubleshoot" data-action="linkClick: link" data-label="noBillingAcctOnProject">Enable Billing</a> page in the Cloud Console and add a billing account to your project. For additional information, see <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started">Get Started with Google Maps Platform</a>.</p> </section> <section class="expandable expandable-inner"> <h4 class="showalways" id="yes,-a-billing-account-is-attached-to-my-project." data-text="Yes, a billing account is attached to my project.">Yes, a billing account is attached to my project.</h4> <p>Great! Let’s make sure the provided billing method is valid.</p> </section> </section> <section class="expandable"> <h4 class="showalways" id="is-the-provided-billing-method-no-longer-valid-for-example-an-expired-credit-card" data-text="Is the provided billing method no longer valid (for example an expired credit card)?">Is the provided billing method no longer valid (for example an expired credit card)?</h4> <p>You <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/billing/docs/how-to/payment-methods" class="external"> can add, remove, or update a payment method</a> in the Cloud Console.</p> </section> <section class="expandable"> <h4 class="showalways" id="is-there-an-exceeded-self-imposed-daily-limit-on-the-api" data-text="Is there an exceeded self-imposed daily limit on the API?">Is there an exceeded self-imposed daily limit on the API?</h4> <p>If you have set a daily limit on any of your APIs, which is common to prevent unexpected increases, you can resolve this by <a href="/web/20210513114133/https://developers.google.com/maps/faq#usage_cap">increasing your daily limit</a>.</p> <p>You can check your daily limits by going to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/apiui/apis/enabled" class="gc-analytics-event external" data-category="GMPBillingTroubleshoot" data-action="linkClick: link" data-label="dailyLimit">APIs &amp; Services Dashboard</a> in the Cloud Console. Once there:</p> <ol> <li>Select a project if prompted.</li> <li>Select an API from the list, then click the <strong>Quotas</strong> tab.</li> </ol> </section> <section class="expandable"> <h4 class="showalways" id="does-your-api-key-have-an-ip-addresses-restriction" data-text="Does your API key have an IP addresses restriction?">Does your API key have an IP addresses restriction?</h4> <p>API keys with an <strong>IP addresses</strong> restriction can only be used with web services that are intended for use from the server side (such as the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding/start">Geocoding API</a> and other <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform">Web Service APIs</a>). Most of these web services have equivalent services within the Maps JavaScript API (for example, see the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/geocoding">Geocoding Service</a>). To use the Maps JavaScript API client side services, you will need to create a separate API key which can be secured with an <strong>HTTP referrers</strong> restriction (see <a href="/web/20210513114133/https://developers.google.com/maps/gmp-get-started#api-key" class="gc-analytics-event" data-category="maps-apis" data-label="api-key-and-billing-errors-restrictions" data-action="linkClick">Get, add, and restrict an API key</a>). </p> </section> <br/> </dd> <dt id="over-limit-key-error"> How do I resolve the error codes: <code translate="no" dir="ltr">OVER_DAILY_LIMIT</code> or <code translate="no" dir="ltr">OVER_QUERY_LIMIT</code>? </dt> <dd> These error codes can be returned for any of the following reasons: <ul> <li>An API key is missing from the request.</li> <li>The provided API key is invalid.</li> <li>The project does not have a billing account attached.</li> <li>A self-imposed <a href="#usage_cap">usage cap</a> has been exceeded.</li> <li>The provided method of payment is no longer valid (for example, a credit card has expired).</li> <li>You have <a href="#usage-exceed">exceeded the QPS limits</a> for a given API.</li> </ul> <p>To use Google Maps Platform products, you must have a billing account, and all requests must include a valid API key. To fix this, take the following steps:</p> <ul> <li><a href="#setup_billing">Set up a billing account</a>.</li> <li><a href="#new-key">Get a new API key</a>.</li> <li><a href="#usage-cap">Adjust your usage cap</a> to increase your daily limit (if applicable).</li> </ul> </dd> <dt id="rate-limit-exceeded-error"> How do I resolve the error codes: <code translate="no" dir="ltr">kGMSPlacesRateLimitExceeded</code> or <code translate="no" dir="ltr">9005 PLACES_API_RATE_LIMIT_EXCEEDED</code>? </dt> <dd> If you are seeing <code translate="no" dir="ltr">kGMSPlacesRateLimitExceeded</code> or <code translate="no" dir="ltr">9005 PLACES_API_RATE_LIMIT_EXCEEDED</code>, you may be using a deprecated version of the Places SDK for Android or Places SDK for iOS. Learn more and find the new SDKs at <a href="https://web.archive.org/web/20210513114133/https://goo.gle/places-sdk-deprecation" class="external">https://goo.gle/places-sdk-deprecation</a>. </dd> <dt id="api-key-error"> How do I resolve the error: "This IP, site or mobile application is not authorized to use this API key."? </dt> <dd> <p>There are various scenarios which may cause this error: <ul> <li>You've enabled IP address (server) restrictions on your API key, and an unauthorized IP address is attempting a request.</li> <li>You've enabled HTTP referrer (website) restrictions on your API key, and an unauthorized referrer is attempting a request.</li> <li>You've restricted usage to your Android apps by setting a package name and fingerprint, and an unauthorized Android app is attempting a request.</li> <li>You've restricted requests from iOS apps by specifying bundle indentifiers and an unrecognized iOS app is attemting to send a request.</li> <li>It used to be possible to get this error if you used any of the <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_service_apis">web service APIs</a>, with an API key with HTTP referer restrictions. Requests to those APIs should be identified with an API key with <strong>IP address</strong> restrictions. <a href="#switch-key-type">Switch your key restriction type from an HTTP referer restriction to an IP address restriction</a>. For more information about restricting API keys, see <a href="/web/20210513114133/https://developers.google.com/maps/api-key-best-practices">API Key Best Practices</a>.</li> </ul> <p><strong>View and Edit your API Key Credentials</strong></p> <p>To view your API keys and manage any restrictions, do the following:</p> <ol> <li>Go to the <a href="https://web.archive.org/web/20210513114133/https://console.cloud.google.com/project/_/apiui/credential" target="console" class="gc-analytics-event external" data-category="GMPMapsFAQ" data-action="linkClick: link" data-label="viewEditAPICredentials">Credentials page</a> of the Cloud Console.</li> <li>Select the project that contains the API key you want to review.</li> <li>To view credential details, including any restrictions set for the key, from the list of API keys, click the name of the key.</li> <li>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.</li> </ol> </dd> <dt id="browser-keys-blocked-error"> How do I resolve the error: "API keys with referer restrictions cannot be used with this API."? </dt> <dd> <p>You are using any of the <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_service_apis">web service APIs</a> with an API key restricted to an HTTP referer. For security reasons, web service APIs need to use API keys restricted to <strong>IP addresses</strong>. <a href="#switch-key-type">Switch your key restriction type from an HTTP referer restriction to an IP address restriction</a>, or create a new API key if your key is already used with the Maps JavaScript API.</p> </dd> <h2 id="google-maps-api-services" data-text="Google Maps Platform Services">Google Maps Platform Services</h2> <dl> <dt id="geocoder_exists"> I need to convert addresses to latitude/longitude pairs. Can I do that with the Google Maps Platform? </dt> <dd> <p> Yes, this process is called "geocoding." The Maps JavaScript API includes a class for performing a geocoding service. The class is: <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/geocoding">google.maps.Geocoder</a>. </p> <p> Alternatively, Google also provides the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding"> Geocoding API</a>, which offers a REST interface that can respond in JSON and XML formats. </p> </dd> <dt id="geocoder_countries"> Which countries is geocoding available in? </dt> <dd> <p> To see countries currently supported by the Google Maps Platform geocoders, please consult the <a href="/web/20210513114133/https://developers.google.com/maps/coverage">Google Maps coverage data</a>. </p> <p> The accuracy of geocoded locations may vary per country, so you should consider using the returned <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/reference#GeocoderGeometry"> location_type</a> 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 contracts with data providers, so it is subject to change. </p> </dd> <dt id="geocoder_differences"> Why do the Google Maps Platform Geocoders provide different locations than Google Maps? </dt> <dd> <p> 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. </p> </dd> <dt id="geocoder_queryformat"> How should I format my geocoder queries to maximise the number of successful requests? </dt> <dd> <p> 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: </p> <ul> <li> Specify addresses in accordance with the format used by the national postal service of the country concerned. </li> <li> 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 <code translate="no" dir="ltr">ZERO_RESULTS</code>. </li> <li> Format plus codes as shown here (plus signs are url-escaped to <code translate="no" dir="ltr">%2B</code> and spaces are url-escaped to <code translate="no" dir="ltr">%20</code>): <ul> <li><b>global code</b> is a 4 character area code and 6 character or longer local code (849VCWC8+R9 is <code translate="no" dir="ltr">849VCWC8%2BR9</code>).</li> <li><b>compound code</b> is a 6 character or longer local code with an explicit location (CWC8+R9 Mountain View, CA, USA is <code translate="no" dir="ltr">CWC8%2BR9%20Mountain%20View%20CA%20USA</code>).</li> </ul> </li> <li> Use the street number of a premise in preference to the building name where possible. </li> <li> Use street number addressing in preference to specifying cross streets where possible. </li> <li> Do not provide 'hints' such as nearby landmarks. </li> </ul> </dd> <dt id="geocoder_highways"> How should I format a U.S. address on a numbered highway for geocoding? </dt> <dd> <p> The Google Maps Platform geocoder requires that U.S. numbered highways be specified in addresses as follows:</p> <ul> <li> <b>County Roads:</b> <code translate="no" dir="ltr">"Co Road <i>NNN</i>"</code> where <i>NNN</i> is the road number. eg. <code translate="no" dir="ltr">"Co Road 82"</code> </li> <li> <b>State Highways:</b> <code translate="no" dir="ltr">"<i>State NNN</i>"</code> where <i>State</i> is the full name of the state and <i>NNN</i> is the highway number. eg. <code translate="no" dir="ltr">"California 82"</code> </li> <li> <b>U.S. Highways:</b> <code translate="no" dir="ltr">"U.S. <i>NNN</i>"</code> where <i>NNN</i> is the highway number. eg. <code translate="no" dir="ltr">"U.S. 101"</code> </li> <li> <b>U.S. Interstates:</b> <code translate="no" dir="ltr">"Interstate <i>NNN</i>"</code> where <i>NNN</i> is the interstate number. eg. <code translate="no" dir="ltr">"Interstate 280"</code> </li> </ul> </dd> <dt id="geocoder_classorhttp"> When should I use an API geocoder class and when should I use the HTTP Geocoding Service? </dt> <dd> <p> See the document: <a href="/web/20210513114133/https://developers.google.com/maps/documentation/geocoding/geocoding-strategies">Geocoding Strategies</a>, which details the pros and cons of different geocoding strategies. </p> </dd> <dt id="directions_exists"> How do I provide driving directions with the Google Maps Platform? </dt> <dd> <p>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:</p> <ul> <li><strong>HTTP request/response interface</strong> (used in mobile and other applications) is compatible with Maps SDK for Android and with other Google Maps web services. See the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions/intro">Directions API</a> for more information. </li> <li><strong>JavaScript API</strong>, for client-side applications, allows you to provide driving directions via the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/reference#DirectionsService"> google.maps.DirectionsService</a> class. The <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/reference#DirectionsRenderer">DirectionsRenderer</a> class can automatically create the overlays and directions panel for you. <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/directions"> Additional examples</a> are provided in the documentation. </li> <li><strong>Java, Python, go, and Node.js client interfaces</strong>, for server-side applications, provide the same functionality. Reference documentation is available at these links: <a href="https://web.archive.org/web/20210513114133/https://github.com/googlemaps/google-maps-services-java" class="external">Java Client for Google Maps Services</a>, <a href="https://web.archive.org/web/20210513114133/https://github.com/googlemaps/google-maps-services-python" class="external">Python Client for Google Maps Services</a>, <a href="https://web.archive.org/web/20210513114133/https://github.com/googlemaps/google-maps-services-go" class="external">Go Client for Google Maps Services</a>, and <a href="https://web.archive.org/web/20210513114133/https://github.com/googlemaps/google-maps-services-js" class="external">Node.js Client for Google Maps Services</a>. </ul> </dd> <dt id="directions_countries"> In which countries are driving directions available? </dt> <dd> <p> To see countries currently supported by Driving Directions in the Google Maps Platform products, consult the <a href="/web/20210513114133/https://developers.google.com/maps/coverage">Google Maps coverage data</a>. Please note that the availability of driving directions data depends on our contracts with data providers, and is subject to change. </p> </dd> <dt id="transit_directions_countries"> In which countries are transit directions available? </dt> <dd> <p>The Google Maps Directions Service, which includes the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/directions/intro">Directions API</a> and <a href="/web/20210513114133/https://developers.google.com/maps/documentation/distance-matrix/intro">Distance Matrix API</a>, supports all the transit providers in the <a href="https://web.archive.org/web/20210513114133/http://www.google.com/landing/transit/cities/index.html" class="external">transit coverage list</a>, except for those in Japan. </p> </dd> <dt id="geoxmlsupport"> Which KML and GeoRSS features are supported in the Maps JavaScript API? </dt> <dd> <p>The <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/reference#KmlLayer">KmlLayer</a> 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 <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/kmllayer">here</a>. </p> </dd> <dt id="geoxmllimits"> What are the limits on the size and complexity of KML that can be displayed using the KmlLayer class of the Maps JavaScript API? </dt> <dd> <p> The size and complexity limits on the display of KML using the <code translate="no" dir="ltr">KmlLayer</code> class are documented <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/kmllayer#overview">here</a>. </p> </dd> <dl> <dt id="intranet_kml">How do I render KML files that are hosted on intranet sites on a map?</dt> <dd> <p>The <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/reference#KmlLayer"> <code translate="no" dir="ltr">KmlLayer</code></a> class that generates KML overlays in the Maps JavaScript API uses a Google hosted service to retrieve and parse KML files for rendering. Consequently it is not possible to display KML files that are not hosted at a URL that is available publicly accessible, or that require authentication to access.</p> <p>If you need to develop applications that use KML files hosted on intranet sites we recommend that you render the KML on the client side by using third-party JavaScript libraries. As the KML file is analyzed by the browser, performance may be lower than by using the <code translate="no" dir="ltr">KmlLayer</code> class.</p> </dd> </dl> <dt id="staticmap_limits">What is the maximum number of markers or path vertices supported by the Maps Static API? </dt> <dd> <p>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.</p> <p>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 <a href="https://web.archive.org/web/20210513114133/http://en.wikipedia.org/wiki/Decimal_degrees" class="external"> Decimal Degrees</a>.</p> </dd> <dt id="prohibited_territories_ws_access">Why can't I access Google Maps Platform products for certain countries?</dt> <dd> <p>Maps APIs may not be used in <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms/maps-prohibited-territories" class="external">Prohibited Territories</a>. Refer also to the <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms#3.-license." class="external">Terms of Service</a>.</p> </dd> <dt id="data-issues">How do I report a problem on the Google basemap?</dt> <dd> <a href="https://web.archive.org/web/20210513114133/https://support.google.com/maps/answer/3094045" class="external">Send feedback</a> through Google Maps for wrong or missing map information such as: <ul> <li>Wrong addresses or marker locations</li> <li>Incorrect road names</li> <li>Wrong information about one-way and two-way roads</li> <li>Incorrectly drawn road</li> <li>Closed roads</li> <li>Roads that don't exist</li> </ul> <p>For correction of a place or business listing, <a href="https://web.archive.org/web/20210513114133/https://support.google.com/maps/answer/7084895" class="external">suggest an edit</a>.</p> <p>If Maps content needs to be removed for legal reasons, submit a <a href="https://web.archive.org/web/20210513114133/https://support.google.com/legal/troubleshooter/1114905#ts=9723198" class="external">legal request.</a></p> <p class="note">For critical or time-sensitive requests, file a <a href="/web/20210513114133/https://developers.google.com/maps/support#creating-a-support-case">support case</a> with specific details on what needs to be fixed.</p> </dd> </dl> <h2 id="maps-sdk-ios" data-text="Google Maps SDK for iOS">Google Maps SDK for iOS</h2> <dl> <dt id="demoappxcode12">In Xcode 12, apps do not build correctly for the simulator. How can I fix this?</dt> <dd> <p>To fix this issue, open your Xcode project Build Settings, and add <code translate="no" dir="ltr">arm64</code> to the <code translate="no" dir="ltr">Excluded Architectures</code> for "iOS Simulator" builds only.</p> <p>For more information, see the following <a href="https://web.archive.org/web/20210513114133/https://stackoverflow.com/questions/63607158/xcode-12-building-for-ios-simulator-but-linking-in-object-file-built-for-ios?page=1" class="external">StackOverflow thread</a>.</p> </dd> </dl> <dl> <dt id="rate-limit-error-ios"> How do I resolve the error: <code translate="no" dir="ltr">kGMSPlacesRateLimitExceeded</code>? </dt> <dd> If you are seeing this error, you may be using a deprecated version of the Places SDK for iOS. Version 2.7.0 of the Places SDK for iOS has been turned off, and is no longer available. Please update your app to use the latest version as soon as possible. See the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/ios-sdk/client-migration">migration guide</a> for details. </dd> <dt id="ios8-debug"> I'm getting crashes when debugging with an iOS 8.x device. What should I do? </dt> <dd> <p>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:</p> <ol> <li>In XCode, choose <b>Product</b>, <b>Scheme</b>, <b>Manage Schemes</b>.</li> <li>Select a scheme and choose <b>Edit...</b>.</li> <li>Set the <b>GPU Frame Capture</b> option to <b>Disabled</b>. Note that this option may not be present for all devices.</li> </ol> <img src="/web/20210513114133im_/https://developers.google.com/maps/images/GPU-frame-option.png"/> </dd> <dt id="iphone-x">What's the impact of rounded and wider screens on the Google Maps iOS SDK?</dt> <dd> <p>Beginning with the <a href="https://web.archive.org/web/20210513114133/https://www.apple.com/iphone-x/" class="external">iPhone X</a>, iPhones have a screen shape featuring 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. As of iOS 11.0 SDK, Apple added the <a href="https://web.archive.org/web/20210513114133/https://developer.apple.com/documentation/uikit/uiview/positioning_content_relative_to_the_safe_area" class="external">Safe Area API</a> allowing developers to position elements in an area which is safe from being clipped by the new screen shape.</p> <p>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. </p> <p>With the Google Maps iOS SDK 2.5 release these layout issues are fixed automatically. When your app is used on an iPhone X or later, the padding on <a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_map_view">GMSMapView</a> and <a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_panorama_view">GMSPanoramaView</a> are increased so that the visual elements aren't clipped.</p> <p>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.</p> <p>If you have designed an interface which doesn't work with our default adjustment, we have introduced a new property to GMSMapView, called <a href="/web/20210513114133/https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_map_view#a426424d1b8b139a7fde2681790a657ad"> paddingAdjustmentBehavior</a>. GMSMapView now allows you to pick from one of three padding adjustments behaviors: 'Always' (default), 'Automatic', and 'Never'.</p> <p>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.</p> <p>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.</p> <p>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 <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="external">Google Maps Platform Terms of Service</a>. </p> <p>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.</p> </dd> </dl> <h2 id="maps-sdk-android" data-text="Google Maps SDK for Android">Google Maps SDK for Android</h2> <dl> <dt id="9005-error-android"> How do I resolve the error: <code translate="no" dir="ltr">9005 PLACES_API_RATE_LIMIT_EXCEEDED</code>? </dt> <dd> If you are seeing this error, you may be using a deprecated version of the Places SDK for Android. The Google Play services version of the Places SDK for Android has been turned off, and is no longer available. Please update your app to use the latest version as soon as possible. See the <a href="/web/20210513114133/https://developers.google.com/maps/documentation/places/android-sdk/client-migration">migration guide</a> for details. </dd> <h2 id="url_signing" data-text="URL signing">URL signing</h2> <dl> <dt id="signature_js">Can I sign URLs using JavaScript?</dt> <dd> <p>We strongly recommend against signing URLs using JavaScript as this would expose your cryptographic key to end users. Therefore signatures should only be generated by server side components.</p> </dd> <dt id="signature_403">Why am I receiving a HTTP 403 Forbidden response to my Maps API web service requests?</dt> <dd> <p>An HTTP 403 response indicates a permission issue, likely because the signature could not be verified for this request. This could be because: <ol style="list-style-type: lower-alpha"> <li>A signature has been specified but is incorrect for this request.</li> <li>The request specifies a Google Maps Platform Premium Plan an API key but does not specify a signature, and the service being called requires that requests made using an API key include a valid signature.</li> <li>A signature has been specified but the associated Google Maps Platform Premium Plan API key has not been specified.</li> </ol> </dd> </dl> </div> <devsite-thumb-rating position="footer"> <template class="thumb-down-categories"> [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples/Code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] </template> <template class="thumb-up-categories"> [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] </template> <template class="thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Google Maps Platform" product-id="81777" bucket="" context="Maps API Product Family" version="t-devsite-webserver-20210506-r01-rc00.435049445564484835" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" project-icon="https://developers.google.com/maps/images/maps-icon.svg" feedback-type="thumb-rating"> <button> Need to tell us more? </button> </devsite-feedback> </template> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Google Maps Platform" product-id="81777" bucket="" context="Maps API Product Family" version="t-devsite-webserver-20210506-r01-rc00.435049445564484835" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" project-icon="https://developers.google.com/maps/images/maps-icon.svg" feedback-type="thumb-rating"> <button> Send feedback </button> </devsite-feedback> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://web.archive.org/web/20210513114133/https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://web.archive.org/web/20210513114133/https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/site-policies">Google Developers Site Policies</a>. Java is a registered trademark of Oracle and/or its affiliates.</p> <p>Last updated 2021-05-12 UTC.</p> </devsite-content-footer> </devsite-content> </main> <devsite-footer-promos class="devsite-footer"> <nav class="devsite-footer-promos nocontent" aria-label="Promotions"> <ul class="devsite-footer-promos-list"> <li class="devsite-footer-promo"> <a href="https://web.archive.org/web/20210513114133/http://stackoverflow.com/questions/tagged/google-maps" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 1)"> <img class="devsite-footer-promo-icon" src="/web/20210513114133im_/https://developers.google.com/site-assets/logo-stack-overflow.svg" loading="lazy" alt="Stack Overflow"> Stack Overflow </a> <div class="devsite-footer-promo-description">Ask a question under the google-maps tag.</div> </li> <li class="devsite-footer-promo"> <a href="https://web.archive.org/web/20210513114133/https://github.com/googlemaps/" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 2)"> <img class="devsite-footer-promo-icon" src="/web/20210513114133im_/https://developers.google.com/site-assets/logo-github.svg" loading="lazy" alt="GitHub"> GitHub </a> <div class="devsite-footer-promo-description">Fork our samples and try them yourself.</div> </li> <li class="devsite-footer-promo"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/blog/products/maps-platform" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 3)"> <img class="devsite-footer-promo-icon" src="/web/20210513114133im_/https://developers.google.com/maps/images/lhimages/api/icon_placesapi.svg" loading="lazy" alt="Blog"> Blog </a> <div class="devsite-footer-promo-description">Read about the latest updates, customer stories, and tips.</div> </li> <li class="devsite-footer-promo"> <a href="https://web.archive.org/web/20210513114133/https://issuetracker.google.com/bookmark-groups/76561" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 4)"> <img class="devsite-footer-promo-icon" src="/web/20210513114133im_/https://developers.google.com/site-assets/developers_64dp.png" loading="lazy" alt="Issue Tracker"> Issue Tracker </a> <div class="devsite-footer-promo-description">Something wrong? Send us a bug report!</div> </li> </ul> </nav> </devsite-footer-promos> <devsite-footer-linkboxes class="devsite-footer"> <nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links"> <ul class="devsite-footer-linkboxes-list"> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Learn More</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/faq" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> FAQ </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/api-picker" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> API Picker </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/documentation/javascript/tutorials" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Tutorials </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Platforms</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#android" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)"> Android </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#ios" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)"> iOS </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_apis" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Web </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/apis-by-platform#web_service_apis" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Web Services </a> </li> </ul> </li> <li class="devsite-footer-linkbox "> <h3 class="devsite-footer-linkbox-heading no-link">Product Info</h3> <ul class="devsite-footer-linkbox-list"> <li class="devsite-footer-linkbox-item"> <a href="/web/20210513114133/https://developers.google.com/maps/pricing-and-plans" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-action="linkClick" data-category="pricingAndPlans" data-label="footerMen"> Pricing and Plans </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/contact-maps/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-category="contactSales" data-action="linkClick" data-label="footerMenu"> Contact Sales </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/maps/support/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)"> Support </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://web.archive.org/web/20210513114133/https://cloud.google.com/maps-platform/terms" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)"> Terms of Service </a> </li> </ul> </li> </ul> </nav> </devsite-footer-linkboxes> <devsite-footer-utility class="devsite-footer"> <div class="devsite-footer-utility nocontent"> <nav class="devsite-footer-sites" aria-label="Other Google Developers websites"> <a href="https://web.archive.org/web/20210513114133/https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <img class="devsite-footer-sites-logo" src="https://web.archive.org/web/20210513114133im_/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/images/lockup-developers.svg" loading="lazy" alt="Google Developers"> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210513114133/https://developer.android.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link"> Android </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210513114133/https://developer.chrome.com/home" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link"> Chrome </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210513114133/https://firebase.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link"> Firebase </a> </li> <li class="devsite-footer-sites-item"> <a href="//web.archive.org/web/20210513114133/https://cloud.google.com/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link"> Google Cloud Platform </a> </li> <li class="devsite-footer-sites-item"> <a href="/web/20210513114133/https://developers.google.com/products" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link"> All products </a> </li> </ul> </nav> <nav class="devsite-footer-utility-links" aria-label="Utility links"> <ul class="devsite-footer-utility-list"> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="/web/20210513114133/https://developers.google.com/terms/site-terms" data-category="Site-Wide Custom Events" data-label="Footer Terms link"> Terms </a> </li> <li class="devsite-footer-utility-item "> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20210513114133/https://policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link"> Privacy </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="//web.archive.org/web/20210513114133/https://services.google.com/fb/forms/googledevelopersnewsletter/?utm_medium=referral&amp;utm_source=google-products&amp;utm_team=googledevs&amp;utm_campaign=201611-newsletter-launch" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link"> Subscribe </a> </li> </ul> <devsite-language-selector> <devsite-select class="devsite-language-selector-menu"> <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector"> <option>Language</option> <option value="en" lang="en" track-metadata-original-language="en" track-metadata-selected-language="en" track-name="changed" track-type="languageSelector"> English </option> <option value="id" lang="id" track-metadata-original-language="en" track-metadata-selected-language="id" track-name="changed" track-type="languageSelector"> Bahasa Indonesia </option> <option value="de" lang="de" track-metadata-original-language="en" track-metadata-selected-language="de" track-name="changed" track-type="languageSelector"> Deutsch </option> <option value="es" lang="es" track-metadata-original-language="en" track-metadata-selected-language="es" track-name="changed" track-type="languageSelector"> Español </option> <option value="es_419" lang="es_419" track-metadata-original-language="en" track-metadata-selected-language="es_419" track-name="changed" track-type="languageSelector"> Español – América Latina </option> <option value="fr" lang="fr" track-metadata-original-language="en" track-metadata-selected-language="fr" track-name="changed" track-type="languageSelector"> Français </option> <option value="pt_br" lang="pt_br" track-metadata-original-language="en" track-metadata-selected-language="pt_br" track-name="changed" track-type="languageSelector"> Português – Brasil </option> <option value="ru" lang="ru" track-metadata-original-language="en" track-metadata-selected-language="ru" track-name="changed" track-type="languageSelector"> Русский </option> <option value="zh_cn" lang="zh_cn" track-metadata-original-language="en" track-metadata-selected-language="zh_cn" track-name="changed" track-type="languageSelector"> 中文 – 简体 </option> <option value="zh_tw" lang="zh_tw" track-metadata-original-language="en" track-metadata-selected-language="zh_tw" track-name="changed" track-type="languageSelector"> 中文 – 繁體 </option> <option value="ja" lang="ja" track-metadata-original-language="en" track-metadata-selected-language="ja" track-name="changed" track-type="languageSelector"> 日本語 </option> <option value="ko" lang="ko" track-metadata-original-language="en" track-metadata-selected-language="ko" track-name="changed" track-type="languageSelector"> 한국어 </option> </select> </devsite-select> </devsite-language-selector> </nav> </div> </devsite-footer-utility> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics enable-analytics-iframe> <script type="application/json" analytics>[{"gaid": "UA-24532603-1", "dimensions": {"dimension8": null, "dimension11": false, "dimension6": "en", "dimension1": "Signed out", "dimension5": "en", "dimension3": false, "dimension4": "Google Maps Platform"}, "metrics": {"ratings_value": "metric1", "ratings_count": "metric2"}}]</script> <script type="application/json" gtm>{"parameters": {"freeTrialEligibleUser": "False", "internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Google Maps Platform", "scriptsafe": null, "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}}, "tags": ["GTM-5CVQBG"]}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="sIafZacYuwbUmVWreB17kQIzpmPtD3"> (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i; t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0]; E.parentNode.insertBefore(t,E);})(window, document, 'script', 'https://web.archive.org/web/20210513114133/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://web.archive.org/web/20210513114133/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218","https://web.archive.org/web/20210513114133/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers","https://web.archive.org/web/20210513114133/https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://web.archive.org/web/20210513114133/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/images/video-placeholder.svg","https://web.archive.org/web/20210513114133/https://www.gstatic.com/devrel-devsite/prod/va16bb1b8e431a4d4f63ff4fba8ff7086a1107b3790bb14961ea206ea5eda2218/developers/images/favicon.png","https://web.archive.org/web/20210513114133/https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700|Material+Icons"],1,null,[1,6,8,12,14,17,21,25,40,45,50,63,70,75,76,80,87,88,91,92,93,97,98,100,101,102,103,105,107,108,111,112,113,115,116,117,118,120,122,123,124,125,127,129,131,132,133,134,135,136],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html><!-- FILE ARCHIVED ON 11:41:33 May 13, 2021 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 21:19:53 Dec 02, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.595 exclusion.robots: 0.027 exclusion.robots.policy: 0.015 esindex: 0.012 cdx.remote: 16.504 LoadShardBlock: 50.95 (3) PetaboxLoader3.datanode: 60.577 (4) load_resource: 258.928 PetaboxLoader3.resolve: 207.745 -->

Pages: 1 2 3 4 5 6 7 8 9 10