CINXE.COM
Place Autocomplete (New) | Places SDK for iOS | Google for Developers
<!doctype html> <html lang="en" dir="ltr"> <head> <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 for Developers"> <meta property="og:type" content="website"><meta name="theme-color" content="#fff"><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="/_pwa/developers/manifest.json" crossorigin="use-credentials"> <link rel="preconnect" href="//www.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.gstatic.com" crossorigin> <link rel="preconnect" href="//fonts.googleapis.com" crossorigin> <link rel="preconnect" href="//apis.google.com" crossorigin> <link rel="preconnect" href="//www.google-analytics.com" crossorigin><link rel="stylesheet" href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"> <link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Material+Icons&family=Material+Symbols+Outlined&display=block"><link rel="stylesheet" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/css/app.css"> <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png"> <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/touchicon-180-new.png"><link rel="canonical" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete"><link rel="search" type="application/opensearchdescription+xml" title="Google for Developers" href="https://developers.google.com/s/opensearch.xml"> <link rel="alternate" hreflang="en" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete" /><link rel="alternate" hreflang="x-default" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete" /><link rel="alternate" hreflang="ar" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=ar" /><link rel="alternate" hreflang="bn" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=bn" /><link rel="alternate" hreflang="zh-Hans" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=zh-cn" /><link rel="alternate" hreflang="zh-Hant" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=zh-tw" /><link rel="alternate" hreflang="fa" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=fa" /><link rel="alternate" hreflang="fr" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=fr" /><link rel="alternate" hreflang="de" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=de" /><link rel="alternate" hreflang="he" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=he" /><link rel="alternate" hreflang="hi" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=hi" /><link rel="alternate" hreflang="id" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=id" /><link rel="alternate" hreflang="it" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=it" /><link rel="alternate" hreflang="ja" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=ja" /><link rel="alternate" hreflang="ko" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=ko" /><link rel="alternate" hreflang="pl" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=pl" /><link rel="alternate" hreflang="pt-BR" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=pt-br" /><link rel="alternate" hreflang="ru" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=ru" /><link rel="alternate" hreflang="es-419" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=es-419" /><link rel="alternate" hreflang="th" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=th" /><link rel="alternate" hreflang="tr" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=tr" /><link rel="alternate" hreflang="vi" href="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete?hl=vi" /><title>Place Autocomplete (New) | Places SDK for iOS | Google for Developers</title> <meta property="og:title" content="Place Autocomplete (New) | Places SDK for iOS | Google for Developers"><meta property="og:url" content="https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete"><meta property="og:image" content="https://developers.google.com/static/maps/images/google-maps-platform-1200x675.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"><meta name="twitter:site" content="@GMapsPlatform"><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "headline": "Place Autocomplete (New)" } </script><script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Google Maps Platform", "item": "https://developers.google.com/maps" },{ "@type": "ListItem", "position": 2, "name": "iOS", "item": "https://developers.google.com/maps/ios" },{ "@type": "ListItem", "position": 3, "name": "Places SDK for iOS", "item": "https://developers.google.com/maps/documentation/places/ios-sdk" },{ "@type": "ListItem", "position": 4, "name": "Place Autocomplete (New)", "item": "https://developers.google.com/maps/documentation/places/ios-sdk/place-autocomplete" }] } </script> <link rel="stylesheet" href="/extras.css"></head> <body class="" template="page" theme="white" type="article" layout="docs" concierge='closed' display-toc pending> <devsite-progress type="indeterminate" id="app-progress"></devsite-progress> <section class="devsite-wrapper"> <devsite-cookie-notification-bar></devsite-cookie-notification-bar><devsite-header role="banner"> <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://developers.google.com/maps"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Maps Platform" src="https://developers.google.com/static/maps/images/maps-icon.svg" srcset=" /static/maps/images/maps-icon.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="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://mapsplatform.google.com/" track-metadata-eventdetail="https://mapsplatform.google.com/" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="home" data-label="navTopMenu" track-name="overview" data-action="tabClick" > Overview </a> </tab> <tab > <a href="https://mapsplatform.google.com/maps-products/" track-metadata-eventdetail="https://mapsplatform.google.com/maps-products/" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - products" track-metadata-module="primary nav" data-category="products" data-label="navTopMenu" track-name="products" data-action="tabClick" > Products </a> </tab> <tab > <a href="https://mapsplatform.google.com/pricing/" track-metadata-eventdetail="https://mapsplatform.google.com/pricing/" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - pricing" track-metadata-module="primary nav" data-category="pricing" data-label="navTopMenu" track-name="pricing" data-action="tabClick" > Pricing </a> </tab> <tab class="devsite-dropdown devsite-dropdown-full devsite-active "> <a href="https://developers.google.com/maps/documentation" track-metadata-eventdetail="https://developers.google.com/maps/documentation" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - documentation" track-metadata-module="primary nav" aria-label="Documentation, selected" data-category="documentation" data-label="navTopMenu" track-name="documentation" data-action="tabClick" > Documentation </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Documentation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation" track-metadata-position="nav - documentation" track-metadata-module="primary nav" data-category="documentation" data-label="navTopMenu" track-name="documentation" 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://developers.google.com/maps/get-started" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/get-started" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="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://developers.google.com/maps/documentation/api-picker" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/api-picker" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> API Picker </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/billing-and-pricing/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/billing-and-pricing/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> Billing & Pricing </div> </a> </li> <li class="devsite-nav-item"> <a href="https://mapsplatform.google.com/resources/trust-center" track-type="nav" track-metadata-eventdetail="https://mapsplatform.google.com/resources/trust-center" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> Security & Compliance </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/reporting-and-monitoring/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/reporting-and-monitoring/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> Reporting & Monitoring </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/faq" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/faq" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> FAQ </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/support" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/support" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> Support and Resources </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/support/care" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/support/care" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" tooltip > <div class="devsite-nav-item-title"> Customer Care </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/incident-management" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/incident-management" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="get started" 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://developers.google.com/maps/documentation/javascript" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/javascript" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps JavaScript API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/android-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/android-sdk" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps SDK for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/ios-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/ios-sdk" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps SDK for iOS </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/flutter-package/overview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/flutter-package/overview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Google Maps for Flutter </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/embed" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/embed" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps Embed API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/maps-static" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/maps-static" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps Static API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/streetview" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/streetview" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Street View Static API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/urls" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/urls" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps URLs </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/aerial-view" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/aerial-view" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Aerial View API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/elevation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/elevation" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Elevation API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/tile" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/tile" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Map Tiles API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/datasets" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/datasets" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Maps Datasets API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/web-components" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/web-components" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="maps" tooltip > <div class="devsite-nav-item-title"> Web Components (Preview) </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://developers.google.com/maps/documentation/routes" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/routes" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Routes API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/navigation/android-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/navigation/android-sdk" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Navigation SDK for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/navigation/ios-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/navigation/ios-sdk" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Navigation SDK for iOS </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/cross-platform/navigation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/cross-platform/navigation" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Navigation for Flutter </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/cross-platform/navigation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/cross-platform/navigation" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Navigation for React Native </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/roads" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/roads" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Roads API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/directions" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/directions" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Directions API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/distance-matrix" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/distance-matrix" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Distance Matrix API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/route-optimization" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/route-optimization" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Route Optimization 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://developers.google.com/maps/solutions" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/solutions" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Industry solutions </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/mobility" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/mobility" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="routes" tooltip > <div class="devsite-nav-item-title"> Mobility 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://developers.google.com/maps/documentation/places/web-service" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/web-service" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Places API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/places/android-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/android-sdk" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Places SDK for Android </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/places/ios-sdk" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/ios-sdk" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Places SDK for iOS </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/javascript/places" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/javascript/places" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Places Library, Maps JavaScript API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/geocoding" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/geocoding" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Geocoding API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/geolocation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/geolocation" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Geolocation API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/address-validation" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/address-validation" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Address Validation API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/timezone" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/timezone" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Time Zone API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/places-insights" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places-insights" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Places Insights API (Preview) </div> </a> </li> </ul> <ul class="devsite-tabs-dropdown-section "> <li class="devsite-nav-title" role="heading" tooltip>Environment</li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/air-quality" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/air-quality" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Air Quality API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/pollen" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/pollen" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Pollen API </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/documentation/solar" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/documentation/solar" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="places" tooltip > <div class="devsite-nav-item-title"> Solar 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://developers.google.com/maps/api-security-best-practices" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/api-security-best-practices" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> API Security Best Practices </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/digital-signature" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/digital-signature" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Digital Signature Guide </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/coverage" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/coverage" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Map Coverage Details </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/optimization-guide" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/optimization-guide" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Optimization Guide </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/software-support" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/software-support" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Mobile OS and software support </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/launch-stages" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/launch-stages" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Launch stages </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/deprecations" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/deprecations" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Deprecations </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/asset-tracking-plan" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/asset-tracking-plan" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> Asset Tracking Plan </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/url-encoding" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/url-encoding" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> URL Encoding </div> </a> </li> <li class="devsite-nav-item"> <a href="https://developers.google.com/maps/third-party-platforms/wordpress" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/third-party-platforms/wordpress" track-metadata-position="nav - documentation" track-metadata-module="tertiary nav" track-metadata-module_headline="additional resources" tooltip > <div class="devsite-nav-item-title"> WordPress Users </div> </a> </li> </ul> </div> </div> </div> </tab> <tab > <a href="https://mapsplatform.google.com/resources/blog" track-metadata-eventdetail="https://mapsplatform.google.com/resources/blog" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - blog" track-metadata-module="primary nav" data-category="blog" data-label="navTopMenu" track-name="blog" data-action="tabClick" > Blog </a> </tab> <tab class="devsite-dropdown "> <a href="https://developers.google.com/maps/developer-community" track-metadata-eventdetail="https://developers.google.com/maps/developer-community" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="community" data-label="navTopMenu" track-name="community" data-action="tabClick" > Community </a> <a href="#" role="button" aria-haspopup="true" aria-expanded="false" aria-label="Dropdown menu for Community" track-type="nav" track-metadata-eventdetail="https://developers.google.com/maps/developer-community" track-metadata-position="nav - community" track-metadata-module="primary nav" data-category="community" data-label="navTopMenu" track-name="community" 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-item"> <a href="https://stackoverflow.com/questions/tagged/google-maps" track-type="nav" track-metadata-eventdetail="https://stackoverflow.com/questions/tagged/google-maps" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> StackOverflow </div> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/googlemaps/" track-type="nav" track-metadata-eventdetail="https://github.com/googlemaps/" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> GitHub </div> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/c/GoogleMapsPlatform" track-type="nav" track-metadata-eventdetail="https://www.youtube.com/c/GoogleMapsPlatform" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> YouTube </div> </a> </li> <li class="devsite-nav-item"> <a href="https://discord.gg/f4hvx8Rp2q" track-type="nav" track-metadata-eventdetail="https://discord.gg/f4hvx8Rp2q" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Discord </div> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/GMapsPlatform" track-type="nav" track-metadata-eventdetail="https://twitter.com/GMapsPlatform" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> X (Twitter) </div> </a> </li> <li class="devsite-nav-item"> <a href="https://issuetracker.google.com/bookmark-groups/76561" track-type="nav" track-metadata-eventdetail="https://issuetracker.google.com/bookmark-groups/76561" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Issue Tracker </div> </a> </li> <li class="devsite-nav-item"> <a href="https://devlibrary.withgoogle.com/products/maps" track-type="nav" track-metadata-eventdetail="https://devlibrary.withgoogle.com/products/maps" track-metadata-position="nav - community" track-metadata-module="tertiary nav" tooltip > <div class="devsite-nav-item-title"> Google Dev Library </div> </a> </li> </ul> </div> </div> </div> </tab> </nav> </devsite-tabs> </div> <devsite-search enable-signin enable-search enable-suggestions enable-query-completion project-name="Places SDK for iOS" tenant-name="Google for Developers" project-scope="/maps/documentation/places/ios-sdk" url-scoped="https://developers.google.com/s/results/maps/documentation/places/ios-sdk" > <form class="devsite-search-form" action="https://developers.google.com/s/results" method="GET"> <div class="devsite-search-container"> <button type="button" search-open class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button> <div class="devsite-searchbox"> <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-expanded="false" aria-haspopup="listbox" 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 class="devsite-search-shortcut-icon-container" aria-hidden="true"> <kbd class="devsite-search-shortcut-icon">/</kbd> </div> </div> </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> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> <devsite-user enable-profiles fp-auth id="devsite-user"> <span class="button devsite-top-button" aria-hidden="true" visually-hidden>Sign in</span> </devsite-user> </div> </div> </div> <div class="devsite-collapsible-section "> <div class="devsite-header-background"> <div class="devsite-product-id-row" > <div class="devsite-product-description-row"> <ul class="devsite-breadcrumb-list" aria-label="Lower header breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="https://developers.google.com/maps/ios" 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="Google Maps APIs for iOS" > iOS </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/maps/documentation/places/ios-sdk" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="Places SDK for iOS" > Places SDK for iOS </a> </li> </ul> </div> <div class="devsite-product-button-row"> <a href="https://console.cloud.google.com/google/maps-apis/start?utm_source=Docs_GS_Button&ref=https://developers.google.com/maps/&utm_content=Docs_places-backend" class="button button-primary " data-action="buttonClick" data-label="nav" data-category="GMPgetStarted" >Get Started</a> <a href="https://mapsplatform.google.com/contact-us/" class="button " >Contact sales</a> </div> </div> <div class="devsite-doc-set-nav-row"> <devsite-tabs class="lower-tabs"> <nav class="devsite-tabs-wrapper" aria-label="Lower tabs"> <tab class="devsite-active"> <a href="https://developers.google.com/maps/documentation/places/ios-sdk" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/ios-sdk" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" > Guides </a> </tab> <tab > <a href="https://developers.google.com/maps/documentation/places/ios-sdk/reference/overview" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/ios-sdk/reference/overview" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" > Reference </a> </tab> <tab > <a href="https://developers.google.com/maps/documentation/places/ios-sdk/examples" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/ios-sdk/examples" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" > Samples </a> </tab> <tab > <a href="https://developers.google.com/maps/documentation/places/ios-sdk/support" track-metadata-eventdetail="https://developers.google.com/maps/documentation/places/ios-sdk/support" class="devsite-tabs-content gc-analytics-event " track-type="nav" track-metadata-position="nav - support" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" > Support </a> </tab> </nav> </devsite-tabs> </div> </div> </div> </div> </devsite-header> <devsite-book-nav scrollbars > <div class="devsite-book-nav-filter" > <span class="filter-list-icon material-icons" aria-hidden="true"></span> <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox"> <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span> </div> <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://developers.google.com/maps"> <div class="devsite-product-logo-container" size="medium" > <picture> <img class="devsite-product-logo" alt="Google Maps Platform" src="https://developers.google.com/static/maps/images/maps-icon.svg" srcset=" /static/maps/images/maps-icon.svg" sizes="64px" loading="lazy" > </picture> </div> </a> <span class="devsite-product-name"> <ul class="devsite-breadcrumb-list" > <li class="devsite-breadcrumb-item devsite-has-google-wordmark"> <a href="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://mapsplatform.google.com/" class="devsite-nav-title gc-analytics-event " data-category="home" data-label="navTopMenu" track-name="overview" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Overview" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Overview </span> </a> </li> <li class="devsite-nav-item"> <a href="https://mapsplatform.google.com/maps-products/" class="devsite-nav-title gc-analytics-event " data-category="products" data-label="navTopMenu" track-name="products" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Products" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Products </span> </a> </li> <li class="devsite-nav-item"> <a href="https://mapsplatform.google.com/pricing/" class="devsite-nav-title gc-analytics-event " data-category="pricing" data-label="navTopMenu" track-name="pricing" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Pricing" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Pricing </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="documentation" data-label="navTopMenu" track-name="documentation" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Documentation" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Documentation </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="documentation" data-label="navTopMenu" track-name="documentation" data-action="tabClick" > <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> <ul class="devsite-nav-responsive-tabs"> <li class="devsite-nav-item"> <a href="/maps/documentation/places/ios-sdk" class="devsite-nav-title gc-analytics-event devsite-nav-has-children devsite-nav-active" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Guides" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip menu="_book"> Guides </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book"> </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/places/ios-sdk/reference/overview" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reference" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reference </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/places/ios-sdk/examples" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Samples" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Samples </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/places/ios-sdk/support" class="devsite-nav-title gc-analytics-event devsite-nav-has-children " data-category="Site-Wide Custom Events" data-label="Tab: Support" track-name="support" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Support" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Support </span> <span class="devsite-nav-icon material-icons" data-icon="forward" > </span> </a> </li> </ul> </li> <li class="devsite-nav-item"> <a href="https://mapsplatform.google.com/resources/blog" class="devsite-nav-title gc-analytics-event " data-category="blog" data-label="navTopMenu" track-name="blog" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Blog" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Blog </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/developer-community" class="devsite-nav-title gc-analytics-event " data-category="community" data-label="navTopMenu" track-name="community" data-action="tabClick" data-category="Site-Wide Custom Events" data-label="Responsive Tab: Community" track-type="globalNav" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Community </span> </a> <ul class="devsite-nav-responsive-tabs devsite-nav-has-menu "> <li class="devsite-nav-item"> <span class="devsite-nav-title" tooltip data-category="community" data-label="navTopMenu" track-name="community" data-action="tabClick" > <span class="devsite-nav-text" tooltip menu="Community"> More </span> <span class="devsite-nav-icon material-icons" data-icon="forward" menu="Community"> </span> </span> </li> </ul> </li> </ul> </div> <div class="devsite-mobile-nav-bottom"> <ul class="devsite-nav-list" menu="_book"> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk" ><span class="devsite-nav-text" tooltip>Places SDK for iOS</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/overview" ><span class="devsite-nav-text" tooltip>Overview</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/choose-sdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/choose-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/choose-sdk" ><span class="devsite-nav-text" tooltip>Choose your SDK version</span></a></li> <li class="devsite-nav-item devsite-nav-preview"><a href="/maps/documentation/places/ios-sdk/google-places-swift" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/google-places-swift" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/google-places-swift" ><span class="devsite-nav-text" tooltip>Places Swift SDK for iOS (Preview)</span><span class="devsite-nav-icon material-icons" data-icon="preview" data-title="Preview" aria-hidden="true"></span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-id" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-id" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-id" ><span class="devsite-nav-text" tooltip>Place IDs</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/icons" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/icons" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/icons" ><span class="devsite-nav-text" tooltip>Place Icons</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>Setup</span> </div></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/cloud-setup" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/cloud-setup" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/cloud-setup" ><span class="devsite-nav-text" tooltip>Set up your Google Cloud project</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/get-api-key" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/get-api-key" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/get-api-key" ><span class="devsite-nav-text" tooltip>Use API Keys</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/config" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/config" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/config" ><span class="devsite-nav-text" tooltip>Set up an Xcode project</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/versions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/versions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/versions" ><span class="devsite-nav-text" tooltip>Versions</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 API (New) in the Places SDK for iOS</span> </div></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-autocomplete" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-autocomplete" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-autocomplete" ><span class="devsite-nav-text" tooltip>Place Autocomplete (New)</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/details-place" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/details-place" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/details-place" ><span class="devsite-nav-text" tooltip>Place Details (New)</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-photos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-photos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-photos" ><span class="devsite-nav-text" tooltip>Place Photos (New)</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/text-search" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/text-search" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/text-search" ><span class="devsite-nav-text" tooltip>Text Search (New)</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/nearby-search" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/nearby-search" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/nearby-search" ><span class="devsite-nav-text" tooltip>Nearby Search (New)</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Work with place data (new)</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-types" ><span class="devsite-nav-text" tooltip>Place Types (New)</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/data-fields" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/data-fields" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/data-fields" ><span class="devsite-nav-text" tooltip>Place Data Fields (New)</span></a></li></ul></div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Use session tokens</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-session-tokens" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-session-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-session-tokens" ><span class="devsite-nav-text" tooltip>About session tokens</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/use-session-tokens" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/use-session-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/use-session-tokens" ><span class="devsite-nav-text" tooltip>Use session tokens</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/session-pricing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/session-pricing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/session-pricing" ><span class="devsite-nav-text" tooltip>Autocomplete (New) and session pricing</span></a></li></ul></div></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 API in the Places SDK for iOS</span> </div></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-details" ><span class="devsite-nav-text" tooltip>Place Details</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/photos" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/photos" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/photos" ><span class="devsite-nav-text" tooltip>Place Photos</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/current-place" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/current-place" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/current-place" ><span class="devsite-nav-text" tooltip>Current Place</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/autocomplete" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/autocomplete" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/autocomplete" ><span class="devsite-nav-text" tooltip>Place Autocomplete</span></a></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Work with place data</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/supported_types" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/supported_types" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/supported_types" ><span class="devsite-nav-text" tooltip>Place Types</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/place-data-fields" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/place-data-fields" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/place-data-fields" ><span class="devsite-nav-text" tooltip>Place Data Fields</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/session-tokens" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/session-tokens" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/session-tokens" ><span class="devsite-nav-text" tooltip>Session Tokens</span></a></li></ul></div></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>Migration Guides</span> </div></li> <li class="devsite-nav-item devsite-nav-expandable"><div class="devsite-expandable-nav"> <a class="devsite-nav-toggle" aria-hidden="true"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button"> <span class="devsite-nav-text" tooltip>Migrate to Places APIs (New)</span> </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/migrate-overview" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/migrate-overview" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/migrate-overview" ><span class="devsite-nav-text" tooltip>Migration overview</span></a></li><li class="devsite-nav-item devsite-nav-preview"><a href="/maps/documentation/places/ios-sdk/migrate-places-sdk" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/migrate-places-sdk" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/migrate-places-sdk" ><span class="devsite-nav-text" tooltip>Migrate to Places Swift SDK for iOS (Preview)</span><span class="devsite-nav-icon material-icons" data-icon="preview" data-title="Preview" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/migrate-details" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/migrate-details" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/migrate-details" ><span class="devsite-nav-text" tooltip>Migrate to Place Details (New)</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/migrate-photo" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/migrate-photo" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/migrate-photo" ><span class="devsite-nav-text" tooltip>Migrate to Place Photo (New)</span></a></li><li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/migrate-autocomplete" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/migrate-autocomplete" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/migrate-autocomplete" ><span class="devsite-nav-text" tooltip>Migrate to Autocomplete (New)</span></a></li></ul></div></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/migrate-nsoptions" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/migrate-nsoptions" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/migrate-nsoptions" ><span class="devsite-nav-text" tooltip>Migrating to GMSPlaceField as NS_OPTIONS</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>Open-source libraries</span> </div></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/combine" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/combine" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/combine" ><span class="devsite-nav-text" tooltip>Combine library</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>Policies and Terms</span> </div></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/policies" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/policies" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/policies" ><span class="devsite-nav-text" tooltip>Policies and attribution</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/usage-and-billing" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/usage-and-billing" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/usage-and-billing" ><span class="devsite-nav-text" tooltip>Usage and Billing</span></a></li> <li class="devsite-nav-item"><a href="/maps/documentation/places/ios-sdk/report-monitor" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: /maps/documentation/places/ios-sdk/report-monitor" track-type="bookNav" track-name="click" track-metadata-eventdetail="/maps/documentation/places/ios-sdk/report-monitor" ><span class="devsite-nav-text" tooltip>Reporting and Monitoring</span></a></li> <li class="devsite-nav-item"><a href="https://cloud.google.com/maps-platform/terms" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Book nav link, pathname: https://cloud.google.com/maps-platform/terms" track-type="bookNav" track-name="click" track-metadata-eventdetail="https://cloud.google.com/maps-platform/terms" ><span class="devsite-nav-text" tooltip>Terms of Service</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="/maps/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"> <span class="devsite-nav-text" tooltip > Get Started with Google Maps Platform </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > API Picker </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/billing-and-pricing/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Billing & Pricing" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Billing & Pricing </span> </a> </li> <li class="devsite-nav-item"> <a href="https://mapsplatform.google.com/resources/trust-center" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Security & Compliance" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Security & Compliance </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/reporting-and-monitoring/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Reporting & Monitoring" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Reporting & Monitoring </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > FAQ </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Support and Resources </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/support/care" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Customer Care" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Customer Care </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/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"> <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="/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"> <span class="devsite-nav-text" tooltip > Maps JavaScript API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Maps SDK for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Maps SDK for iOS </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/flutter-package/overview" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Maps for Flutter" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Maps for Flutter </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Maps Embed API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Maps Static API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Street View Static API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Maps URLs </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/aerial-view" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Aerial View API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Aerial View API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/elevation" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Elevation API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Elevation API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/tile" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Map Tiles API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Map Tiles API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/datasets" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Maps Datasets API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Maps Datasets API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/web-components" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Web Components (Preview)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Web Components (Preview) </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="/maps/documentation/routes" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Routes API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Routes API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/navigation/android-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Navigation SDK for Android" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Navigation SDK for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/navigation/ios-sdk" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Navigation SDK for iOS" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Navigation SDK for iOS </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/cross-platform/navigation" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Navigation for Flutter" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Navigation for Flutter </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/cross-platform/navigation" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Navigation for React Native" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Navigation for React Native </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Roads API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Directions API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Distance Matrix API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/route-optimization" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Route Optimization API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Route Optimization 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="/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"> <span class="devsite-nav-text" tooltip > Industry solutions </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/mobility" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Mobility services" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Mobility 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="/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"> <span class="devsite-nav-text" tooltip > Places API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Places SDK for Android </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Places SDK for iOS </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Places Library, Maps JavaScript API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Geocoding API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Geolocation API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/address-validation" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Address Validation API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Address Validation API </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Time Zone API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/places-insights" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Places Insights API (Preview)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Places Insights API (Preview) </span> </a> </li> <li class="devsite-nav-item devsite-nav-heading"> <span class="devsite-nav-title" tooltip > <span class="devsite-nav-text" tooltip > Environment </span> </span> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/air-quality" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Air Quality API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Air Quality API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/pollen" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Pollen API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Pollen API </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/documentation/solar" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Solar API" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Solar 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="/maps/api-security-best-practices" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: API Security Best Practices" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > API Security Best Practices </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/digital-signature" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Digital Signature Guide" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Digital Signature Guide </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Map Coverage Details </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Optimization Guide </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/software-support" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Mobile OS and software support" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Mobile OS and software support </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/launch-stages" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Launch stages" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Launch stages </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Deprecations </span> </a> </li> <li class="devsite-nav-item"> <a href="/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"> <span class="devsite-nav-text" tooltip > Asset Tracking Plan </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/url-encoding" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: URL Encoding" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > URL Encoding </span> </a> </li> <li class="devsite-nav-item"> <a href="/maps/third-party-platforms/wordpress" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: WordPress Users" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > WordPress Users </span> </a> </li> </ul> <ul class="devsite-nav-list" menu="Community" aria-label="Side menu" hidden> <li class="devsite-nav-item"> <a href="https://stackoverflow.com/questions/tagged/google-maps" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: StackOverflow" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > StackOverflow </span> </a> </li> <li class="devsite-nav-item"> <a href="https://github.com/googlemaps/" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: GitHub" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > GitHub </span> </a> </li> <li class="devsite-nav-item"> <a href="https://www.youtube.com/c/GoogleMapsPlatform" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: YouTube" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > YouTube </span> </a> </li> <li class="devsite-nav-item"> <a href="https://discord.gg/f4hvx8Rp2q" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Discord" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Discord </span> </a> </li> <li class="devsite-nav-item"> <a href="https://twitter.com/GMapsPlatform" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: X (Twitter)" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > X (Twitter) </span> </a> </li> <li class="devsite-nav-item"> <a href="https://issuetracker.google.com/bookmark-groups/76561" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Issue Tracker" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Issue Tracker </span> </a> </li> <li class="devsite-nav-item"> <a href="https://devlibrary.withgoogle.com/products/maps" class="devsite-nav-title gc-analytics-event " data-category="Site-Wide Custom Events" data-label="Responsive Tab: Google Dev Library" track-type="navMenu" track-metadata-eventDetail="globalMenu" track-metadata-position="nav"> <span class="devsite-nav-text" tooltip > Google Dev Library </span> </a> </li> </ul> </div> </div> </nav> </devsite-book-nav> <section id="gc-wrapper"> <main role="main" class="devsite-main-content" has-book-nav > <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(/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: 35%; padding: 20px 20px 0 20px; margin-left: 30px; margin-bottom: 30px; background-color: #ceead6; border-color: #e8eaed; border-style: solid; } #sb-box { float: right; position: relative; width: 25%; padding: 20px 20px 0 20px; margin-left: 30px; margin-bottom: 30px; background-color: #d2e3fc; border-color: #e8eaed; border-style: solid; } /** Table formatting used in the How to use, How to access, and Inputs and * outputs sections of the API overviews. You can leave the first column blank, * as shown in the How to access sections. For questions, contact @wildwood **/ .implementation-path tr td:first-of-type { background: var(--tenant-background-1) !important; max-width: 48px; vertical-align: top; } .implementation-path tr td:nth-of-type(2) { background: var(--tenant-background-1) !important; color: var(--tenant-primary-text-color); min-width: 200px; text-align: left; vertical-align: top; } .implementation-path tr td { color: var(--tenant-secondary-text-color); padding: 24px; } .implementation-path tr { border-top: var(--tenant-primary-border); vertical-align: top; } /** From docs-intro.css - This forms the bubbles with numbers in the above table. **/ .implementation-path .numbered { background: var(--tenant-numbered-row-background-color, #BDBDBD); border-radius: 50%; color: var(--tenant-inverted-text-color); display: inline-block; font-size: 20px; height: 36px; line-height: 36px; margin-right: 20px; text-align: center; vertical-align: top; width: 36px; position: relative; top:-8px; } </style> <div class="devsite-article-meta nocontent" role="navigation"> <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb"> <li class="devsite-breadcrumb-item "> <a href="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://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://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://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> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/maps/ios" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="5" track-type="globalNav" track-name="breadcrumb" track-metadata-position="5" track-metadata-eventdetail="Google Maps APIs for iOS" > iOS </a> </li> <li class="devsite-breadcrumb-item "> <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div> <a href="https://developers.google.com/maps/documentation/places/ios-sdk" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="6" track-type="globalNav" track-name="breadcrumb" track-metadata-position="6" track-metadata-eventdetail="Places SDK for iOS" > Places SDK for iOS </a> </li> </ul> <devsite-thumb-rating position="header"> </devsite-thumb-rating> </div> <devsite-feedback position="header" project-name="Places SDK for iOS" product-id="81777" bucket="" context="Places API Docs" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="header" class="nocontent" project-icon-name="location_on" > <button> Send feedback </button> </devsite-feedback> <h1 class="devsite-page-title" tabindex="-1"> Place Autocomplete (New) </h1> <devsite-feature-tooltip ack-key="AckCollectionsBookmarkTooltipDismiss" analytics-category="Site-Wide Custom Events" analytics-action-show="Callout Profile displayed" analytics-action-close="Callout Profile dismissed" analytics-label="Create Collection Callout" class="devsite-page-bookmark-tooltip nocontent" dismiss-button="true" id="devsite-collections-dropdown" dismiss-button-text="Dismiss" close-button-text="Got it"> <devsite-bookmark></devsite-bookmark> <span slot="popout-heading"> Stay organized with collections </span> <span slot="popout-contents"> Save and categorize content based on your preferences. </span> </devsite-feature-tooltip> <div class="devsite-page-title-meta"><devsite-view-release-notes></devsite-view-release-notes></div> <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded > </devsite-toc> <div class="devsite-article-body clearfix "> <style> .center { text-align: center } </style> <p> <style> .page_switcher { margin: 16px -40px; border-top: 1px solid #dadce0; border-bottom: 1px solid #dadce0; padding: 16px 40px; background-color: rgb(241, 243, 244); } </style> <div class="page_switcher"> <span style="margin-right:16px;font-weight:bold">Select platform:</span> <a class="button" class="gc-analytics-event" data-category="GMPPlatformSwitch" data-label="places_autocomplete_new_android" style="border-radius: 16px;height: 32px; line-height:30px;" title="View this page for the Android platform docs." href="/maps/documentation/places/android-sdk/place-autocomplete">Android</a> <a class="button button-primary" class="gc-analytics-event" data-category="GMPPlatformSwitch" data-label="places_autocomplete_new_ios" style="border-radius: 16px;height: 32px; line-height:30px;" title="View this page for the iOS platform docs." href="/maps/documentation/places/ios-sdk/place-autocomplete">iOS</a> <a class="button" class="gc-analytics-event" data-category="GMPPlatformSwitch" data-label="places_autocomplete_new_js" style="border-radius: 16px;height: 32px; line-height:30px;" title="View this page for the JavaScript platform docs." href="/maps/documentation/javascript/place-autocomplete-overview">JavaScript</a> <a class="button" class="gc-analytics-event" data-category="GMPPlatformSwitch" data-label="places_autocomplete_new_web" style="border-radius: 16px;height: 32px; line-height:30px;" title="View this page for the Web Service platform docs." href="/maps/documentation/places/web-service/place-autocomplete">Web Service</a> </div> </p> <p>The Autocomplete (New) service is an iOS API that returns place suggestions in response to a request. In the request, specify a text search string and geographic bounds that controls the search area.</p> <p>The Autocomplete (New) service can match on full words and substrings of the input, resolving place names, addresses, and <a href="https://plus.codes">plus codes</a>. Applications can therefore send queries as the user types, to provide on-the-fly place suggestions.</p> <p><strong>Place suggestions</strong> are places, such as businesses, addresses, and points of interest, based on the specified input text string and search area.</p> <p>For example, you call the API using as input a string that contains a partial user input, "Spagh", with the search area limited to New York City. The response then contains a list of <strong>place suggestions</strong> that match the search string and search area, such as the restaurant named "Cafe Spaghetti", along with details about the place.</p> <p>The returned <strong>place suggestions</strong> are designed to be presented to the user so that they can select the desired place. You can make a <a href="/maps/documentation/places/ios-sdk/details-place">Place Details (New)</a> request to get more information about any of the returned place suggestions.</p> <aside class="note"><strong>Note:</strong><span> You must enable the <a href="/maps/documentation/places/ios-sdk/autocomplete">original autocomplete API</a> to use the <a href="/maps/documentation/places/ios-sdk/autocomplete#adding_an_autocomplete_ui_control">widget functionality</a>. Both the original and the new API can be enabled at the same time. See the <a href="/maps/documentation/places/ios-sdk/migrate-autocomplete">Places Autocomplete (New) migration guide</a> for more information.</span></aside> <h2 id="autocomplete_new_requests" data-text="Autocomplete (New) requests" tabindex="-1">Autocomplete (New) requests</h2> <p>Create an autocomplete request by calling a method on the <a href="/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSPlacesClient"><code translate="no" dir="ltr">GMSPlaceClient</code></a>. You can pass parameters in the <a href="/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSAutocompleteRequest"><code translate="no" dir="ltr">GMSAutocompleteRequest</code></a> object. The response provides Autocomplete suggestions within a <a href="/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSAutocompleteSuggestion"><code translate="no" dir="ltr">GMSAutocompletePlaceSuggestion</code></a> object.</p> <p>The API key and <code translate="no" dir="ltr">query</code> parameters are required. You can also include <a href="/maps/documentation/places/ios-sdk/reference/objc/Classes#/c:objc(cs)GMSAutocompleteSessionToken"><code translate="no" dir="ltr">GMSAutocompleteSessionToken</code></a> to associate requests with a billing session and <a href="/maps/documentation/places/ios-sdk/reference/objc/Classes/GMSAutocompleteFilter"><code translate="no" dir="ltr">GMSAutocompleteFilter</code></a> to apply to the results.</p> <p>For more information about required and optional parameters, see <a href="/maps/documentation/places/ios-sdk/place-autocomplete#required_parameters">the parameters section of this document</a>.</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">northWestBounds</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.921628</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">73.700051</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">southEastBounds</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.477398</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">74.259087</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">types</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-n">kGMSPlaceTypeRestaurant</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSPlaceRectangularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">northWestBounds</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">southEastBounds</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">request</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s">"Spagh"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">token</span> <span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">shared</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">callback</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">error</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Autocomplete error: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteResults</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">results</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteResults</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Result </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">placeID</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s"> with </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">attributedFullText</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">})</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">northEast</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.388162</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-122.088137</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">southWest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.395804</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-122.077023</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">types</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@[</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">kGMSPlaceTypeRestaurant</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">]</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">GMSPlaceRectangularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">northEast</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">southWest</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithQuery</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"Sicilian piz"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sharedClient</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fetchAutocompleteSuggestionsFromRequest</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-o">:^</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">NSArray<GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span>><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Handle response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}];</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.3913916</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.0879074</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">northEast</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.388162</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.088137</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">southWest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.395804</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.077023</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">bias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">RectangularCoordinateRegion</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">northEast</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">northEast</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">southWest</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">southWest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">types</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">restaurant</span> <span class="devsite-syntax-p">],</span> <span class="devsite-syntax-n">origin</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">coordinateRegionBias</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">bias</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteRequest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"Sicilian piz"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">placesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">autocompleteRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">success</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteSuggestions</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-c1">// Handle suggestions.</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">failure</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">placesError</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-c1">// Handle error.</span> <span class="devsite-syntax-p">}</span></pre></devsite-code> </section> </div> <h2 id="autocomplete_new_responses" data-text="Autocomplete (New) responses" tabindex="-1">Autocomplete (New) responses</h2> <p>Autocomplete returns an array of up to five <code translate="no" dir="ltr">GMSAutocompleteSuggestion</code> instances. The array contains:</p> <ul> <li><code translate="no" dir="ltr">placeID</code></li> <li><code translate="no" dir="ltr">types</code>: Types that apply to this place.</li> <li><code translate="no" dir="ltr">distanceMeters</code>: Distance from origin.</li> <li><code translate="no" dir="ltr">attributedFullText</code>: Full human-readable text of a suggestion.</li> <li><code translate="no" dir="ltr">attributedPrimaryText</code>: Human-readable primary text of a suggestion.</li> <li><code translate="no" dir="ltr">attributedSecondaryText</code>: Human-readable secondary text of a suggestion.</li> <li><code translate="no" dir="ltr">structuredFormat</code>: The specific name and disambiguating text, like city or region.</li> </ul> <h2 id="required_parameters" data-text="Required parameters" tabindex="-1">Required parameters</h2> <h3 id="query" data-text="query" tabindex="-1">query</h3> <p>The text string on which to search. Specify full words and substrings, place names, addresses, and <a href="https://plus.codes">plus codes</a>. The Autocomplete (New) service returns candidate matches based on this string and orders results based on their perceived relevance.</p> <h2 id="optional_parameters" data-text="Optional parameters" tabindex="-1">Optional parameters</h2> <h3 id="types" data-text="types" tabindex="-1">types</h3> <p>A place can only have a <strong>single primary type</strong> from types <a href="/maps/documentation/places/ios-sdk/place-types#table-a">Table A</a> or <a href="/maps/documentation/places/ios-sdk/place-types#table-b">Table B</a> associated with it. For example, the primary type might be <code translate="no" dir="ltr">mexican_restaurant</code> or <code translate="no" dir="ltr">steak_house</code>.</p> <p>By default, the API returns all places based on the <code translate="no" dir="ltr">input</code> parameter, regardless of the primary type value associated with the place. Restrict results to be of a certain primary type or primary types by passing the <code translate="no" dir="ltr">types</code> parameter.</p> <p>Use this parameter to specify up to five type values from <a href="/maps/documentation/places/ios-sdk/place-types#table-a">Table A</a> or <a href="/maps/documentation/places/ios-sdk/place-types#table-b">Table B</a>. A place must match one of the specified primary type values to be included in the response.</p> <p>The request is rejected with an <code translate="no" dir="ltr">INVALID_REQUEST</code> error if:</p> <ul> <li>More than five types are specified.</li> <li>Any unrecognized types are specified.</li> </ul> <h3 id="countries" data-text="countries" tabindex="-1">countries</h3> <p>Only include results from the list of specified regions, specified as an array of up to 15 <a href="https://en.wikipedia.org/wiki/Country_code_top-level_domain#Latin_Character_ccTLDs">ccTLD ("top-level domain")</a> two-character values. If omitted, no restrictions are applied to the response. For example, to limit the regions to Germany and France:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_1" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">countries</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"DE"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s">"FR"</span><span class="devsite-syntax-p">]</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_1" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">countries</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@[</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">@"DE"</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">@"FR"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">]</span><span class="devsite-syntax-p">;</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_1" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">countries</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"DE"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-s">"FR"</span><span class="devsite-syntax-p">])</span> </pre></devsite-code> </section> </div> <p>If you specify both <code translate="no" dir="ltr">locationRestriction</code> and <code translate="no" dir="ltr">countries</code>, the results are located in the area of intersection of the two settings.</p> <h3 id="inputoffset" data-text="inputOffset" tabindex="-1">inputOffset</h3> <p>The zero-based Unicode character offset indicating the cursor position in <code translate="no" dir="ltr">input</code>. The cursor position can influence what predictions are returned. If empty, it defaults to the length of <code translate="no" dir="ltr">input</code>.</p> <h3 id="locationbias_or_locationrestriction" data-text="locationBias or locationRestriction" tabindex="-1">locationBias or locationRestriction</h3> <p>You can specify <code translate="no" dir="ltr">locationBias</code> or <code translate="no" dir="ltr">locationRestriction</code>, but not both, to define the search area. Think of <code translate="no" dir="ltr">locationRestriction</code> as specifying the region which the results must be within, and <code translate="no" dir="ltr">locationBias</code> as specifying the region that the results must be near but can be outside of the area.</p> <aside class="note"><strong>Note:</strong><span> If you omit both <code translate="no" dir="ltr">locationBias</code> and <code translate="no" dir="ltr">locationRestriction</code>, then the API uses IP biasing by default. With IP biasing, the API uses the IP address of the device to bias the results.</span></aside> <ul> <li><p><code translate="no" dir="ltr">locationBias</code> specifies an area to search. This location serves as a bias, which means results around the specified location can be returned, including results outside the specified area.</p></li> <li><p><code translate="no" dir="ltr">locationRestriction</code> specifies an area to search. Results outside the specified area are not returned.</p></li> </ul> <p>Specify the <code translate="no" dir="ltr">locationBias</code> or <code translate="no" dir="ltr">locationRestriction</code> region as a rectangular viewport or as a circle.</p> <p>A circle is defined by center point and radius in meters. The radius must be between 0.0 and 50000.0, inclusive. The default value is 0.0. For <code translate="no" dir="ltr">locationRestriction</code>, you must set the radius to a value greater than 0.0. Otherwise, the request returns no results.</p> <p>For example:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_2" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.730610</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">73.935242</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">radius</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-mf">1000.0</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSPlaceCircularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">)</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_2" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.730610</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-73.935242</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">1000.0</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">GMSPlaceCircularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">);</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_2" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.477398</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">74.259087</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">bias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CircularCoordinateRegion</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-mf">1000.0</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">coordinateRegionBias</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">bias</span><span class="devsite-syntax-p">)</span> </pre></devsite-code> </section> </div> <p>A rectangle is a latitude-longitude viewport, represented as two diagonally opposite <code translate="no" dir="ltr">low</code> and <code translate="no" dir="ltr">high</code> points. A viewport is considered a closed region, meaning it includes its boundary. The latitude bounds must range between -90 to 90 degrees inclusive, and the longitude bounds must range between -180 to 180 degrees inclusive:</p> <ul> <li>If <code translate="no" dir="ltr">low</code> = <code translate="no" dir="ltr">high</code>, the viewport consists of that single point.</li> <li>If <code translate="no" dir="ltr">low.longitude</code> > <code translate="no" dir="ltr">high.longitude</code>, the longitude range is inverted (the viewport crosses the 180 degree longitude line).</li> <li>If <code translate="no" dir="ltr">low.longitude</code> = -180 degrees and <code translate="no" dir="ltr">high.longitude</code>= 180 degrees, the viewport includes all longitudes.</li> <li>If <code translate="no" dir="ltr">low.longitude</code> = 180 degrees and <code translate="no" dir="ltr">high.longitude</code> = -180 degrees, the longitude range is empty.</li> </ul> <p>Both <code translate="no" dir="ltr">low</code> and <code translate="no" dir="ltr">high</code> must be populated, and the represented box cannot be empty. An empty viewport results in an error.</p> <p>For example, this viewport fully encloses New York City:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_3" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">high</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.921628</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">73.700051</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">low</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.477398</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">74.259087</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSPlaceRectangularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">high</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">low</span><span class="devsite-syntax-p">)</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_3" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">high</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.477398</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-74.259087</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">low</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">440.921628</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-73.700051</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">GMSPlaceRectangularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">high</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">low</span><span class="devsite-syntax-p">);</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_3" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">northEast</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.477398</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">74.259087</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">southWest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">40.921628</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">73.700051</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">coordinateRegionBias</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">bias</span><span class="devsite-syntax-p">)</span> </pre></devsite-code> </section> </div> <h3 id="origin" data-text="origin" tabindex="-1">origin</h3> <p>The origin point from which to calculate straight-line distance to the destination (returned as <code translate="no" dir="ltr">distanceMeters</code>). If this value is omitted, straight-line distance won't be returned. Must be specified as latitude and longitude coordinates:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_4" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">origin</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">CLLocation</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">latitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-mf">37.395804</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">longitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.077023</span><span class="devsite-syntax-p">)</span> </pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_4" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">origin</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-bp">CLLocation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithLatitude</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-mf">37.395804</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">longitude</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-122.077023</span><span class="devsite-syntax-p">];</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_4" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">origin</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">CLLocation</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">latitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-mf">37.395804</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">longitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.077023</span><span class="devsite-syntax-p">))</span> </pre></devsite-code> </section> </div> <h3 id="regioncode" data-text="regionCode" tabindex="-1">regionCode</h3> <p>The region code used to format the response, specified as a <a href="https://en.wikipedia.org/wiki/Country_code_top-level_domain#Latin_Character_ccTLDs">ccTLD ("top-level domain")</a> two-character value. Most ccTLD codes are identical to ISO 3166-1 codes, with some notable exceptions. For example, the United Kingdom's ccTLD is "uk" (.co.uk) while its ISO 3166-1 code is "gb" (technically for the entity of "The United Kingdom of Great Britain and Northern Ireland").</p> <p>If you specify an invalid region code, the API returns an <code translate="no" dir="ltr">INVALID_ARGUMENT</code> error. The parameter can affect results based on applicable law.</p> <h3 id="sessiontoken" data-text="sessionToken" tabindex="-1">sessionToken</h3> <p>Session tokens are user-generated strings that track Autocomplete (New) calls as "sessions." Autocomplete (New) uses session tokens to group the query and selection phases of a user autocomplete search into a discrete session for billing purposes. For more information, see <a href="/maps/documentation/places/ios-sdk/place-session-tokens">Session tokens</a>.</p> <h2 id="new_examples" data-text="Autocomplete (New) examples" tabindex="-1">Autocomplete (New) examples</h2> <h3 id="use_locationrestriction_and_locationbias" data-text="Use locationRestriction and locationBias" tabindex="-1">Use locationRestriction and locationBias</h3> <p>Autocomplete (New) uses IP biasing by default to control the search area. With IP biasing, the API uses the IP address of the device to bias the results. You can optionally use <a href="#locationbias_or_locationrestriction"><code translate="no" dir="ltr">locationRestriction</code> or <code translate="no" dir="ltr">locationBias</code></a>, but not both, to specify an area to search.</p> <p>Location restriction specifies the area to search. Results outside the specified area are not returned. The following example uses location restriction to limit the request to a circular location restriction with a 5000-meter radius centered on San Francisco:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_5" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.775061</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.419400</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">radius</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-mf">5000.0</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationRestriction</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSPlaceCircularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">request</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s">"Piz"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">token</span> <span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">shared</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">callback</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">error</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Autocomplete error: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteResults</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">results</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteResults</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Result </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">placeID</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s"> with </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">attributedFullText</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">})</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_5" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.775061</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-122.419400</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">5000.0</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationRestriction</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">GMSPlaceCircularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithQuery</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"Sicilian piz"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sharedClient</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fetchAutocompleteSuggestionsFromRequest</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-o">:^</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">NSArray<GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span>><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Handle response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}];</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_5" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.775061</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.419400</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">radius</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-mf">5000.0</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">restriction</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CircularCoordinateRegion</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">coordinateRegionRestriction</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">restriction</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteRequest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"Sicilian piz"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">placesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">autocompleteRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">success</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteSuggestions</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteSuggestions</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">place</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">failure</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">placesError</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-c1">// Handle error.</span> <span class="devsite-syntax-p">}</span> </pre></devsite-code> </section> </div> <p>With location bias, the location serves as a bias, which means results around the specified location can be returned, including results outside the specified area. The next example changes the previous request to use location bias:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_6" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.775061</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.419400</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">radius</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-mf">5000.0</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSPlaceCircularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">request</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s">"Piz"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">token</span> <span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">shared</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">callback</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">error</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Autocomplete error: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteResults</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">results</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteResults</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Result </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">placeID</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s"> with </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">attributedFullText</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">})</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_6" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-bp">CLLocationCoordinate2D</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">CLLocationCoordinate2DMake</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.775061</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">-122.419400</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-mf">5000.0</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">locationBias</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">GMSPlaceCircularLocationOption</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">);</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithQuery</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"Sicilian piz"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sharedClient</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fetchAutocompleteSuggestionsFromRequest</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-o">:^</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">NSArray<GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span>><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Handle response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}];</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_6" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">center</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">(</span><span class="devsite-syntax-mf">37.775061</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.419400</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">radius</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-mf">5000.0</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">bias</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">CircularCoordinateRegion</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">center</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">radius</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">coordinateRegionBias</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">bias</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteRequest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"Sicilian piz"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">placesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">autocompleteRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">success</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteSuggestions</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteSuggestions</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">place</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">failure</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">placesError</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-c1">// Handle error.</span> <span class="devsite-syntax-p">}</span> </pre></devsite-code> </section> </div> <h3 id="use_types" data-text="Use types" tabindex="-1">Use types</h3> <p>Use the types parameter to restrict results from a request to be of a certain type as listed in <a href="/maps/documentation/places/ios-sdk/place-types#table-a">Table A</a> and <a href="/maps/documentation/places/ios-sdk/place-types#table-b">Table B</a>. You can specify an array of up to five values. If omitted, all types are returned.</p> <p>The following example specifies a query string of "Soccer" and uses the types parameter to restrict results to establishments of type <code translate="no" dir="ltr">"sporting_goods_store"</code>:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_7" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">types</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-p">[</span><span class="devsite-syntax-s">"sporting_goods_store"</span><span class="devsite-syntax-p">]</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">request</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s">"Soccer"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">token</span> <span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">shared</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">callback</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">error</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Autocomplete error: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteResults</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">results</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteResults</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Result </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">placeID</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s"> with </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">attributedFullText</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">})</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_7" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">types</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">@[</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-s">"sporting_goods_store"</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-l">]</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithQuery</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"Soccer"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sharedClient</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fetchAutocompleteSuggestionsFromRequest</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-o">:^</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">NSArray<GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span>><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Handle response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}];</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_7" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">types</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">[</span> <span class="devsite-syntax-n">PlaceType</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">rawValue</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"sporting_goods_store"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">])</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteRequest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"Soccer"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">placesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">autocompleteRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">success</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteSuggestions</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteSuggestions</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">place</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">failure</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">placesError</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-c1">// Handle error.</span> <span class="devsite-syntax-p">}</span> </pre></devsite-code> </section> </div> <h3 id="use_origin" data-text="Use origin" tabindex="-1">Use origin</h3> <p>When you include the <a href="#origin"><code translate="no" dir="ltr">origin</code></a> parameter in the request, specified as latitude and longitude coordinates, the API includes the straight-line distance from the origin to the destination in the response. The response returns the distance as <code translate="no" dir="ltr">distanceMeters</code>.</p> <p>This example sets the origin to the center of San Francisco:</p> <div class="ds-selector-tabs" data-ds-scope="code"> <section data-ds-value="Swift"> <h3 id="swift_8" data-text="Swift" tabindex="-1">Swift</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">origin</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">CLLocation</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">latitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-mf">37.7749</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">longitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.4194</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">origin</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">origin</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">request</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s">"Amoeba"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-bp">filter</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">token</span> <span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">shared</span><span class="devsite-syntax-p">().</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">from</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">callback</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-p">(</span> <span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">error</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">error</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Autocomplete error: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-si">)</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">return</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">if</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteResults</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">results</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">result</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteResults</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-bp">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s">"Result </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">placeID</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s"> with </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">attributedFullText</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s"> and distance: </span><span class="devsite-syntax-si">\(</span><span class="devsite-syntax-nb">String</span><span class="devsite-syntax-si">(</span><span class="devsite-syntax-n">describing</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">result</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">?.</span><span class="devsite-syntax-n">distanceMeters</span><span class="devsite-syntax-si">))</span><span class="devsite-syntax-s">"</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">})</span></pre></devsite-code> </section> <section data-ds-value="Objective-C"> <h3 id="objective-c_8" data-text="Objective-C" tabindex="-1">Objective-C</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Objective-C"><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteFilter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">init</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">origin</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-bp">CLLocation</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithLatitude</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-mf">37.395804</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">longitude</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-mf">-122.077023</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSAutocompleteRequest</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">alloc</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">initWithQuery</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-s">@"Amoeba"</span><span class="devsite-syntax-p">];</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-n">request</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">filter</span><span class="devsite-syntax-p">;</span> <span class="devsite-syntax-p">[[</span><span class="devsite-syntax-n">GMSPlacesClient</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">sharedClient</span><span class="devsite-syntax-p">]</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">fetchAutocompleteSuggestionsFromRequest</span><span class="devsite-syntax-o">:</span><span class="devsite-syntax-n">request</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">callback</span><span class="devsite-syntax-o">:^</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">NSArray<GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span>><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">,</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-bp">NSError</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">error</span><span class="devsite-syntax-p">){</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Handle response</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">for</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">GMSAutocompleteSuggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-o">*</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">in</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-n">results</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-k">if</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">suggestion</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">placeSuggestion</span><span class="devsite-syntax-p">)</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">{</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-w"> </span><span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}];</span></pre></devsite-code> </section> <section data-ds-value="Places Swift SDK for iOS (Preview)"> <h3 class="two-line-tab" tab-label="(Preview)" id="places-swift-sdk-for-ios-preview_8" data-text="Places Swift SDK for iOS (Preview)" tabindex="-1">Places Swift SDK for iOS (Preview)</h3> <div></div><devsite-code><pre class="devsite-click-to-copy notranslate" dir="ltr" is-upgraded syntax="Swift"><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">filter</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteFilter</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">origin</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">CLLocation</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">latitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-mf">37.7749</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">longitude</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-o">-</span><span class="devsite-syntax-mf">122.4194</span><span class="devsite-syntax-p">))</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">token</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteSessionToken</span><span class="devsite-syntax-p">()</span> <span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteRequest</span> <span class="devsite-syntax-p">=</span> <span class="devsite-syntax-n">AutocompleteRequest</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">query</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-s">"Amoeba"</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">sessionToken</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">token</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-bp">filter</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">placesClient</span><span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">fetchAutocompleteSuggestions</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">with</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-n">autocompleteRequest</span><span class="devsite-syntax-p">)</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">success</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">autocompleteSuggestions</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-k">for</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-k">in</span> <span class="devsite-syntax-n">autocompleteSuggestions</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">switch</span> <span class="devsite-syntax-n">suggestion</span> <span class="devsite-syntax-p">{</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">place</span><span class="devsite-syntax-p">:</span> <span class="devsite-syntax-c1">// Show place suggestion data.</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-p">}</span> <span class="devsite-syntax-k">case</span> <span class="devsite-syntax-p">.</span><span class="devsite-syntax-n">failure</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-kd">let</span> <span class="devsite-syntax-nv">placesError</span><span class="devsite-syntax-p">):</span> <span class="devsite-syntax-c1">// Handle error.</span> <span class="devsite-syntax-p">}</span> </pre></devsite-code> </section> </div> <h2 id="attributions" data-text="Attributions" tabindex="-1">Attributions</h2> <p>You can use Autocomplete (New) even without a map. If you do show a map, it must be a Google map. When you display suggestions from the Autocomplete (New) service without a map, you must include the Google logo displayed inline with the search field/results. For more information, see <a href="/maps/documentation/places/ios-sdk/policies#logo">Displaying the Google logo and attributions</a>.</p> </div> <devsite-recommendations display="in-page" hidden yield> </devsite-recommendations> <devsite-thumb-rating position="footer"> </devsite-thumb-rating> <devsite-feedback position="footer" project-name="Places SDK for iOS" product-id="81777" bucket="" context="Places API Docs" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="footer" class="nocontent" project-icon-name="location_on" > <button> Send feedback </button> </devsite-feedback> <devsite-recommendations id="recommendations-link" yield></devsite-recommendations> <div class="devsite-floating-action-buttons"> </div> </article> <devsite-content-footer class="nocontent"> <p>Except as otherwise noted, the content of this page is licensed under the <a href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 License</a>, and code samples are licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0 License</a>. For details, see the <a href="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 2024-11-14 UTC.</p> </devsite-content-footer> <devsite-notification > </devsite-notification> <div class="devsite-content-data"> <template class="devsite-thumb-rating-feedback"> <devsite-feedback position="thumb-rating" project-name="Places SDK for iOS" product-id="81777" bucket="" context="Places API Docs" version="t-devsite-webserver-20241114-r00-rc02.464922260396498922" data-label="Send Feedback Button" track-type="feedback" track-name="sendFeedbackLink" track-metadata-position="thumb-rating" class="nocontent" project-icon-name="location_on" > <button> Need to tell us more? </button> </devsite-feedback> </template> <template class="devsite-content-data-template"> [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-11-14 UTC."],[],[]] </template> </div> </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://stackoverflow.com/search?q=google-places-api+ios" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 1)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-stack-overflow.svg" loading="lazy" alt="Stack Overflow"> </picture> <span class="devsite-footer-promo-label"> Stack Overflow </span> </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://github.com/googlemaps/" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 2)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/logo-github.svg" loading="lazy" alt="GitHub"> </picture> <span class="devsite-footer-promo-label"> GitHub </span> </a> <div class="devsite-footer-promo-description">Fork our samples and try them yourself.</div> </li> <li class="devsite-footer-promo"> <a href="https://discord.gg/f4hvx8Rp2q" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 3)" > <picture> <img class="devsite-footer-promo-icon" src="/static/maps/images/discord-color.png" loading="lazy" alt="Discord"> </picture> <span class="devsite-footer-promo-label"> Discord </span> </a> <div class="devsite-footer-promo-description">Chat with fellow developers about Google Maps Platform.</div> </li> <li class="devsite-footer-promo"> <a href="https://issuetracker.google.com/issues/new?component=188842&template=788908" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Promo Link (index 4)" > <picture> <img class="devsite-footer-promo-icon" src="/static/site-assets/developers_64dp.png" loading="lazy" alt="Issue Tracker"> </picture> <span class="devsite-footer-promo-label"> Issue Tracker </span> </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="/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="/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="/maps/documentation/javascript/examples/places-placeid-finder" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" > Place ID Finder </a> </li> <li class="devsite-footer-linkbox-item"> <a href="/maps/documentation/ios-sdk" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" > Maps SDK for iOS </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="/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="/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="/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="/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="/maps/pricing-and-plans" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="footerMenu"data-category="pricingAndPlans"data-action="linkClick"> Pricing and Plans </a> </li> <li class="devsite-footer-linkbox-item"> <a href="https://mapsplatform.google.com/contact-us/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="footerMenu"data-category="contactSales"data-action="linkClick"> Contact Sales </a> </li> <li class="devsite-footer-linkbox-item"> <a href="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://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://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link"> <picture> <img class="devsite-footer-sites-logo" src="https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/lockup-google-for-developers.svg" loading="lazy" alt="Google Developers"> </picture> </a> <ul class="devsite-footer-sites-list"> <li class="devsite-footer-sites-item"> <a href="//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="//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="//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="//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="//ai.google.dev/" class="devsite-footer-sites-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google AI Link" > Google AI </a> </li> <li class="devsite-footer-sites-item"> <a href="/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="/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="//policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" > Privacy </a> </li> <li class="devsite-footer-utility-item glue-cookie-notification-bar-control"> <a class="devsite-footer-utility-link gc-analytics-event" href="#" data-category="Site-Wide Custom Events" data-label="Footer Manage cookies link" aria-hidden="true" > Manage cookies </a> </li> <li class="devsite-footer-utility-item devsite-footer-utility-button"> <span class="devsite-footer-utility-description">Sign up for the Google for Developers newsletter</span> <a class="devsite-footer-utility-link gc-analytics-event" href="/newsletter/subscribe" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" > Subscribe </a> </li> </ul> <devsite-language-selector> <ul role="presentation"> <li role="presentation"> <a role="menuitem" lang="en" >English</a> </li> <li role="presentation"> <a role="menuitem" lang="de" >Deutsch</a> </li> <li role="presentation"> <a role="menuitem" lang="es" >Español</a> </li> <li role="presentation"> <a role="menuitem" lang="es_419" >Español – América Latina</a> </li> <li role="presentation"> <a role="menuitem" lang="fr" >Français</a> </li> <li role="presentation"> <a role="menuitem" lang="id" >Indonesia</a> </li> <li role="presentation"> <a role="menuitem" lang="it" >Italiano</a> </li> <li role="presentation"> <a role="menuitem" lang="pl" >Polski</a> </li> <li role="presentation"> <a role="menuitem" lang="pt_br" >Português – Brasil</a> </li> <li role="presentation"> <a role="menuitem" lang="vi" >Tiếng Việt</a> </li> <li role="presentation"> <a role="menuitem" lang="tr" >Türkçe</a> </li> <li role="presentation"> <a role="menuitem" lang="ru" >Русский</a> </li> <li role="presentation"> <a role="menuitem" lang="he" >עברית</a> </li> <li role="presentation"> <a role="menuitem" lang="ar" >العربيّة</a> </li> <li role="presentation"> <a role="menuitem" lang="fa" >فارسی</a> </li> <li role="presentation"> <a role="menuitem" lang="hi" >हिंदी</a> </li> <li role="presentation"> <a role="menuitem" lang="bn" >বাংলা</a> </li> <li role="presentation"> <a role="menuitem" lang="th" >ภาษาไทย</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_cn" >中文 – 简体</a> </li> <li role="presentation"> <a role="menuitem" lang="zh_tw" >中文 – 繁體</a> </li> <li role="presentation"> <a role="menuitem" lang="ja" >日本語</a> </li> <li role="presentation"> <a role="menuitem" lang="ko" >한국어</a> </li> </ul> </devsite-language-selector> </nav> </div> </devsite-footer-utility> <devsite-panel></devsite-panel> <devsite-concierge data-info-panel data-ai-panel data-api-explorer-panel > </devsite-concierge> </section></section> <devsite-sitemask></devsite-sitemask> <devsite-snackbar></devsite-snackbar> <devsite-tooltip ></devsite-tooltip> <devsite-heading-link></devsite-heading-link> <devsite-analytics> <script type="application/json" analytics>[{"dimensions": {"dimension3": false, "dimension5": "en", "dimension4": "Places SDK for iOS", "dimension6": "en", "dimension1": "Signed out", "dimension11": false}, "gaid": "UA-24532603-1", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}, "purpose": 1}]</script> <script type="application/json" tag-management>{"at": "True", "ga4": [{"id": "G-272J68FCRF", "purpose": 1}], "ga4p": [{"id": "G-272J68FCRF", "purpose": 1}], "gtm": [{"id": "GTM-W2H69MN", "purpose": 0}], "parameters": {"internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Places SDK for iOS", "signedIn": "False", "tenant": "developers", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}, "experiment": {"ids": ""}}}</script> </devsite-analytics> <devsite-badger></devsite-badger> <script nonce="+z5cB/pYn19XkeAHHm79FlaPwJqMQ0"> (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://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/js/app_loader.js', '[1,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers","https://developers-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/developers/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v870e399c64f7c43c99a3043db4b3a74327bb93d0914e84a0c3dba90bbfd67625/developers/images/favicon-new.png","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developers.google.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY",null,null,null,["Concierge__enable_pushui","Search__enable_suggestions_from_borg","MiscFeatureFlags__developers_footer_dark_image","Cloud__enable_cloudx_ping","Search__enable_dynamic_content_confidential_banner","Search__enable_ai_search_summaries","DevPro__enable_developer_subscriptions","Concierge__enable_concierge","EngEduTelemetry__enable_engedu_telemetry","Cloud__enable_cloud_shell_fte_user_flow","MiscFeatureFlags__developers_footer_image","Profiles__enable_release_notes_notifications","Profiles__enable_dashboard_curated_recommendations","Profiles__enable_public_developer_profiles","TpcFeatures__enable_required_headers","DevPro__enable_cloud_innovators_plus","Significatio__enable_by_tenant","Profiles__enable_completecodelab_endpoint","MiscFeatureFlags__enable_view_transitions","MiscFeatureFlags__enable_explain_this_code","Profiles__enable_complete_playlist_endpoint","Cloud__enable_legacy_calculator_redirect","CloudShell__cloud_code_overflow_menu","Cloud__enable_cloud_shell","Analytics__enable_clearcut_logging","Profiles__enable_developer_profiles_callout","Experiments__reqs_query_experiments","Profiles__enable_awarding_url","Search__enable_ai_eligibility_checks","MiscFeatureFlags__enable_variable_operator","Profiles__enable_recognition_badges","MiscFeatureFlags__emergency_css","CloudShell__cloud_shell_button","BookNav__enable_tenant_cache_key","Cloud__enable_cloud_facet_chat","Search__enable_page_map","MiscFeatureFlags__enable_project_variables","Profiles__enable_profile_collections","MiscFeatureFlags__enable_firebase_utm","Concierge__enable_concierge_restricted","Cloud__enable_llm_concierge_chat","Profiles__require_profile_eligibility_for_signin","Search__enable_ai_search_summaries_restricted","Cloud__enable_cloud_dlp_service","Cloud__enable_cloudx_experiment_ids","TpcFeatures__enable_mirror_tenant_redirects","Profiles__enable_page_saving","Cloud__enable_free_trial_server_call"],null,null,"AIzaSyBLEMok-5suZ67qRPzx0qUtbnLmyT_kCVE","https://developerscontentserving-pa.clients6.google.com","AIzaSyCM4QpTRSqP5qI4Dvjt4OAScIN8sOUlO-k","https://developerscontentsearch-pa.clients6.google.com",1,4,null,"https://developerprofiles-pa.clients6.google.com",[1,"developers","Google for Developers","developers.google.com",null,"developers-dot-devsite-v2-prod.appspot.com",null,null,[1,1,[1],null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],[1,null,null,[1,20],"/recommendations/information"],null,null,null,[1,1,1],[1,1,null,1,1]],null,[null,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,null,1,null,null,null,null,null,null,null,null,1,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[6,1,14,15,20,22,23,29,32,36],null,[[null,null,null,[3,7,10,2,39,17,4,32,24,11,12,13,34,15,25],null,null,[1,[["docType","Choose a content type",[["Tutorial",null,null,null,null,null,null,null,null,"Tutorial"],["Guide",null,null,null,null,null,null,null,null,"Guide"],["Sample",null,null,null,null,null,null,null,null,"Sample"]]],["product","Choose a product",[["Android",null,null,null,null,null,null,null,null,"Android"],["ARCore",null,null,null,null,null,null,null,null,"ARCore"],["ChromeOS",null,null,null,null,null,null,null,null,"ChromeOS"],["Firebase",null,null,null,null,null,null,null,null,"Firebase"],["Flutter",null,null,null,null,null,null,null,null,"Flutter"],["Assistant",null,null,null,null,null,null,null,null,"Google Assistant"],["GoogleCloud",null,null,null,null,null,null,null,null,"Google Cloud"],["GoogleMapsPlatform",null,null,null,null,null,null,null,null,"Google Maps Platform"],["GooglePay",null,null,null,null,null,null,null,null,"Google Pay & Google Wallet"],["GooglePlay",null,null,null,null,null,null,null,null,"Google Play"],["Tensorflow",null,null,null,null,null,null,null,null,"TensorFlow"]]],["category","Choose a topic",[["AiAndMachineLearning",null,null,null,null,null,null,null,null,"AI and Machine Learning"],["Data",null,null,null,null,null,null,null,null,"Data"],["Enterprise",null,null,null,null,null,null,null,null,"Enterprise"],["Gaming",null,null,null,null,null,null,null,null,"Gaming"],["Mobile",null,null,null,null,null,null,null,null,"Mobile"],["Web",null,null,null,null,null,null,null,null,"Web"]]]]]],[1,1],null,1],[[["UA-24532603-1"],["UA-22084204-5"],null,null,["UA-24532603-5"],null,null,[["G-272J68FCRF"],null,null,[["G-272J68FCRF",2]]],[["UA-24532603-1",2]],null,[["UA-24532603-5",2]],null,1],[[3,2],[16,13],[4,3],[5,4],[11,8],[1,1],[14,11],[13,10],[15,12],[6,5],[12,9]],[[2,2],[1,1]]],null,4,null,null,null,null,null,null,null,null,null,null,null,null,null,"developers.devsite.google"],null,"pk_live_5170syrHvgGVmSx9sBrnWtA5luvk9BwnVcvIi7HizpwauFG96WedXsuXh790rtij9AmGllqPtMLfhe2RSwD6Pn38V00uBCydV4m"]') </script> <devsite-a11y-announce></devsite-a11y-announce> </body> </html>