<!DOCTYPE html>



































































































<html>
<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width" />

<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />
<title>AddPlaceRequest | Android Developers</title>

<!-- STYLESHEETS -->
<link rel="stylesheet"
href="//fonts.googleapis.com/css?family=Roboto+Condensed">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold"
  title="roboto">
<link href="/assets/css/default.css?v=5" rel="stylesheet" type="text/css">



<!-- JAVASCRIPT -->
<script src="//www.google.com/jsapi" type="text/javascript"></script>
<script src="/assets/js/android_3p-bundle.js" type="text/javascript"></script>
<script type="text/javascript">
  var toRoot = "/";
  var metaTags = [];
  var devsite = false;
</script>
<script src="/assets/js/docs.js?v=3" type="text/javascript"></script>



<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-5831155-1', 'android.com');
  ga('create', 'UA-49880327-2', 'android.com', {'name': 'universal'});  // New tracker);
  ga('send', 'pageview');
  ga('universal.send', 'pageview'); // Send page view for new tracker.
</script>

</head>

<body class="gc-documentation google
  develop reference" itemscope itemtype="http://schema.org/Article">
  <div id="doc-api-level" class="" style="display:none"></div>
  <a name="top"></a>


<a name="top"></a>

<!-- dialog to prompt lang pref change when loaded from hardcoded URL
<div id="langMessage" style="display:none">
  <div>
    <div class="lang en">
      <p>You requested a page in English, would you like to proceed with this language setting?</p>
    </div>
    <div class="lang es">
      <p>You requested a page in Spanish (Español), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ja">
      <p>You requested a page in Japanese (日本語), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ko">
      <p>You requested a page in Korean (한국어), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang ru">
      <p>You requested a page in Russian (Русский), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang zh-cn">
      <p>You requested a page in Simplified Chinese (简体中文), would you like to proceed with this language setting?</p>
    </div>
    <div class="lang zh-tw">
      <p>You requested a page in Traditional Chinese (繁體中文), would you like to proceed with this language setting?</p>
    </div>
    <a href="#" class="button yes" onclick="return false;">
      <span class="lang en">Yes</span>
      <span class="lang es">Sí</span>
      <span class="lang ja">Yes</span>
      <span class="lang ko">Yes</span>
      <span class="lang ru">Yes</span>
      <span class="lang zh-cn">是的</span>
      <span class="lang zh-tw">没有</span>
    </a>
    <a href="#" class="button" onclick="$('#langMessage').hide();return false;">
      <span class="lang en">No</span>
      <span class="lang es">No</span>
      <span class="lang ja">No</span>
      <span class="lang ko">No</span>
      <span class="lang ru">No</span>
      <span class="lang zh-cn">没有</span>
      <span class="lang zh-tw">没有</span>
    </a>
  </div>
</div> -->


  <!-- Header -->
  <div id="header-wrapper">
    <div id="header">




      <div class="wrap" id="header-wrap">
        <div class="col-3 logo">
          <a href="/index.html">
            <img src="/assets/images/dac_logo.png"
                srcset="/assets/images/dac_logo@2x.png 2x"
                width="123" height="25" alt="Android Developers" />
          </a>
          <div class="btn-quicknav" id="btn-quicknav">
            <a href="#" class="arrow-inactive">Quicknav</a>
            <a href="#" class="arrow-active">Quicknav</a>
          </div>
        </div>
        <ul class="nav-x col-9">
            <li class="design">
              <a href="/design/index.html"
              zh-tw-lang="設計"
              zh-cn-lang="设计"
              ru-lang="Проектирование"
              ko-lang="디자인"
              ja-lang="設計"
              es-lang="Diseñar"
              >Design</a></li>
            <li class="develop"><a href="/develop/index.html"
              zh-tw-lang="開發"
              zh-cn-lang="开发"
              ru-lang="Разработка"
              ko-lang="개발"
              ja-lang="開発"
              es-lang="Desarrollar"
              >Develop</a></li>
            <li class="distribute last"><a href="/distribute/index.html"
              zh-tw-lang="發佈"
              zh-cn-lang="分发"
              ru-lang="Распространение"
              ko-lang="배포"
              ja-lang="配布"
              es-lang="Distribuir"
              >Distribute</a></li>
        </ul>




<div class="menu-container">
  <div class="moremenu">
    <div id="more-btn"></div>
  </div>
  <div class="morehover" id="moremenu">
    <div class="top"></div>
    <div class="mid">
      <div class="header">Links</div>
      <ul>
        <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li>
        <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li>
        <li><a href="/about/index.html">About Android</a></li>
      </ul>
      <div class="header">Android Sites</div>
      <ul>
        <li><a href="http://www.android.com">Android.com</a></li>
        <li class="active"><a>Android Developers</a></li>
        <li><a href="http://source.android.com">Android Open Source Project</a></li>
      </ul>



        <div class="header">Language</div>
          <div id="language" class="locales">
            <select name="language" onChange="changeLangPref(this.value, true)">
                <option value="en">English</option>
                <option value="es">Español</option>
                <option value="ja">日本語</option>
                <option value="ko">한국어</option>
                <option value="ru">Русский</option>
                <option value="zh-cn">中文（简体)</option>
                <option value="zh-tw">中文（繁體)</option>
            </select>
          </div>
        <script type="text/javascript">
          <!--
          loadLangPref();
            //-->
        </script>


      <br class="clearfix" />
    </div><!-- end 'mid' -->
    <div class="bottom"></div>
  </div><!-- end 'moremenu' -->

  <div class="search" id="search-container">
    <div class="search-inner">
      <div id="search-btn"></div>
      <div class="left"></div>
      <form onsubmit="return submit_search()">
        <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q"
          onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)"
          onkeydown="return search_changed(event, true, '/')"
          onkeyup="return search_changed(event, false, '/')" />
      </form>
      <div class="right"></div>
      <a class="close hide">close</a>
      <div class="left"></div>
      <div class="right"></div>
    </div><!-- end search-inner -->
  </div><!-- end search-container -->

  <div class="search_filtered_wrapper reference">
    <div class="suggest-card reference no-display">
      <ul class="search_filtered">
      </ul>
    </div>
  </div>

  <div class="search_filtered_wrapper docs">
    <div class="suggest-card dummy no-display">&nbsp;</div>
    <div class="suggest-card develop no-display">
      <ul class="search_filtered">
      </ul>
      <div class="child-card guides no-display">
      </div>
      <div class="child-card training no-display">
      </div>
      <div class="child-card samples no-display">
      </div>
    </div>
    <div class="suggest-card design no-display">
      <ul class="search_filtered">
      </ul>
    </div>
    <div class="suggest-card distribute no-display">
      <ul class="search_filtered">
      </ul>
    </div>
  </div>
</div><!-- end menu-container (search and menu widget) -->



        <!-- Expanded quicknav -->
        <div id="quicknav" class="col-13">
          <ul>
            <li class="about">
              <ul>
                <li><a href="/about/index.html">About</a></li>
                <li><a href="/wear/index.html">Wear</a></li>
                <li><a href="/tv/index.html">TV</a></li>
                <li><a href="/auto/index.html">Auto</a></li>
              </ul>
            </li>
            <li class="design">
              <ul>
                <li><a href="/design/index.html">Get Started</a></li>
                <li><a href="/design/devices.html">Devices</a></li>
                <li><a href="/design/style/index.html">Style</a></li>
                <li><a href="/design/patterns/index.html">Patterns</a></li>
                <li><a href="/design/building-blocks/index.html">Building Blocks</a></li>
                <li><a href="/design/downloads/index.html">Downloads</a></li>
                <li><a href="/design/videos/index.html">Videos</a></li>
              </ul>
            </li>
            <li class="develop">
              <ul>
                <li><a href="/training/index.html"
                  zh-tw-lang="訓練課程"
                  zh-cn-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"
                  >Training</a></li>
                <li><a href="/guide/index.html"
                  zh-tw-lang="API 指南"
                  zh-cn-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"
                  >API Guides</a></li>
                <li><a href="/reference/packages.html"
                  zh-tw-lang="參考資源"
                  zh-cn-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"
                  >Reference</a></li>
                <li><a href="/sdk/index.html"
                  zh-tw-lang="相關工具"
                  zh-cn-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a>
                </li>
                <li><a href="/google/index.html">Google Services</a>
                </li>

                  <li><a href="/samples/index.html">Samples</a>
                  </li>

              </ul>
            </li>
            <li class="distribute last">
              <ul>
                <li><a href="/distribute/googleplay/index.html">Google Play</a></li>
                <li><a href="/distribute/essentials/index.html">Essentials</a></li>
                <li><a href="/distribute/users/index.html">Get Users</a></li>
                <li><a href="/distribute/engage/index.html">Engage &amp; Retain</a></li>
                <li><a href="/distribute/monetize/index.html">Monetize</a></li>
                <li><a href="/distribute/analyze/index.html">Analyze</a></li>
                <li><a href="/distribute/tools/index.html">Tools &amp; Reference</a></li>
                <li><a href="/distribute/stories/index.html">Developer Stories</a></li>
              </ul>
            </li>
          </ul>
        </div><!-- /Expanded quicknav -->
      </div><!-- end header-wrap.wrap -->
    </div><!-- end header -->


    <!-- Secondary x-nav -->
    <div id="nav-x">
        <div class="wrap" style="position:relative;z-index:1">





            <ul class="nav-x col-9 develop" style="width:100%">
                <li class="training"><a href="/training/index.html"
                  zh-tw-lang="訓練課程"
                  zh-cn-lang="培训"
                  ru-lang="Курсы"
                  ko-lang="교육"
                  ja-lang="トレーニング"
                  es-lang="Capacitación"
                  >Training</a></li>
                <li class="guide"><a href="/guide/index.html"
                  zh-tw-lang="API 指南"
                  zh-cn-lang="API 指南"
                  ru-lang="Руководства по API"
                  ko-lang="API 가이드"
                  ja-lang="API ガイド"
                  es-lang="Guías de la API"
                  >API Guides</a></li>
                <li class="reference"><a href="/reference/packages.html"
                  zh-tw-lang="參考資源"
                  zh-cn-lang="参考"
                  ru-lang="Справочник"
                  ko-lang="참조문서"
                  ja-lang="リファレンス"
                  es-lang="Referencia"
                  >Reference</a></li>
                <li class="tools"><a href="/sdk/index.html"
                  zh-tw-lang="相關工具"
                  zh-cn-lang="工具"
                  ru-lang="Инструменты"
                  ko-lang="도구"
                  ja-lang="ツール"
                  es-lang="Herramientas"
                  >Tools</a></li>
                <li class="google"><a href="/google/index.html"
                  >Google Services</a>
                </li>

                  <li class="samples"><a href="/samples/index.html"
                    >Samples</a>
                  </li>

            </ul>
        </div>
    </div>
    <!-- /Sendondary x-nav DEVELOP -->



    <div id="searchResults" class="wrap" style="display:none;">
      <h2 id="searchTitle">Results</h2>
      <div id="leftSearchControl" class="search-control">Loading...</div>
    </div>
  </div> <!--end header-wrapper -->

  <div id="sticky-header">
    <div>
      <a class="logo" href="#top"></a>
      <a class="top" href="#top"></a>
      <ul class="breadcrumb">

        <li class="current">AddPlaceRequest</li>
      </ul>
    </div>
  </div>






  <div class="wrap clearfix" id="body-content">
    <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement">
      <div id="devdoc-nav" class="scroll-pane">



<ul id="nav">

  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/index.html">
          <span class="en">Overview</span>
      </a></div>
  </li>

  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/games.html">
          <span class="en">Games</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/location.html">
          <span class="en">Location</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/plus.html">
          <span class="en">Google+</span>
                </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/maps.html">
          <span class="en">Maps</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/drive.html">
          <span class="en">Drive</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/cast.html">
          <span class="en">Cast</span>
      </a></div>
  </li>
  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play-services/ads.html">
      <span class="en">Ads</span></a>
    </div>
    <ul>
      <li><a href="/google/play-services/id.html">
          <span class="en">Advertising ID</span></a>
      </li>
    </ul>
  </li>
  <li class="nav-section">
    <div class="nav-section-header empty"><a href="/google/play-services/wallet.html">
          <span class="en">Wallet</span>
      </a></div>
  </li>


  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play-services/index.html">
      <span class="en">Google Play Services</span></a>
    </div>
    <ul>
      <li><a href="/google/play-services/setup.html">
          <span class="en">Setting Up Google Play Services</span></a>
      </li>
      <li class="nav-section">
        <div class="nav-section-header"><a href="/google/auth/api-client.html">
          <span class="en">Accessing Google APIs</span></a>
        </div>
        <ul>
          <li>
            <a href="/google/auth/http-auth.html">
              <span class="en">Authorizing with Google for REST APIs</span>
            </a>
          </li>
        </ul>
      </li>
      <li id="gms-tree-list" class="nav-section">
        <div class="nav-section-header">
          <a href="/reference/gms-packages.html">
            <span class="en">Reference</span>
          </a>
        <div>
      </li>
    </ul>
  </li>


  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/billing/index.html" zh-cn-lang="应用内结算">
      <span class="en">Google Play In-app Billing</span></a>
    </div>
    <ul>
      <li><a href="/google/play/billing/billing_overview.html" zh-cn-lang="应用内结算概述">
              <span class="en">Overview</span></a>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/api.html" zh-cn-lang="应用内结算 API">
              <span class="en">Version 3 API</span></a></div>
              <ul>
              <li><a href="/google/play/billing/billing_integrate.html">
              <span class="en">Implementing the API</span></a></li>
              <li><a href="/google/play/billing/billing_reference.html">
              <span class="en">Reference</span></a></li>
              </ul>
      </li>
      <li class="nav-section"><div class="nav-section-header"><a href="/google/play/billing/v2/api.html">
              <span class="en">Version 2 API</span></a></div>
              <ul>
              <li><a href="/google/play/billing/v2/billing_integrate.html">
              <span class="en">Implementing the API</span></a></li>
              <li><a href="/google/play/billing/v2/billing_subscriptions.html">
              <span class="en">Subscriptions</span></a></li>
              <li><a href="/google/play/billing/v2/billing_reference.html">
              <span class="en">Reference</span></a></li>
              </ul>
      </li>
      <li><a href="/google/play/billing/billing_subscriptions.html">
              <span class="en">Subscriptions</span></a>
      </li>
      <li><a href="/google/play/billing/billing_best_practices.html" zh-cn-lang="安全性和设计">
              <span class="en">Security and Design</span></a>
      </li>
      <li><a href="/google/play/billing/billing_testing.html" zh-cn-lang="测试应用内结算">
              <span class="en">Testing In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/billing_admin.html" zh-cn-lang="管理应用内结算">
              <span class="en">Administering In-app Billing</span></a>
      </li>
      <li><a href="/google/play/billing/versions.html">
              <span class="en">Version Notes</span></a>
      </li>
    </ul>
  </li>



   <li class="nav-section">
      <div class="nav-section-header"><a href="/google/gcm/index.html">
        <span class="en">Google Cloud Messaging</span></a>
      </div>
      <ul>
        <li><a href="/google/gcm/gcm.html">
            <span class="en">Overview</span></a>
        </li>
        <li><a href="/google/gcm/gs.html">
            <span class="en">Getting Started</span></a>
        </li>
        <li><a href="/google/gcm/client.html">
            <span class="en">Implementing GCM Client</span></a>
        </li>
        <li class="nav-section"><div class="nav-section-header"><a href="/google/gcm/server.html">
              <span class="en">Implementing GCM Server</span></a></div>
              <ul>
              <li><a href="/google/gcm/ccs.html">
              <span class="en">CCS (XMPP)</span></a></li>
              <li><a href="/google/gcm/http.html">
              <span class="en">HTTP</span></a></li>
              </ul>
        </li>
        <li><a href="/google/gcm/server-ref.html">
            <span class="en">Server Reference</span></a>
        </li>
        <li><a href="/google/gcm/notifications.html">
              <span class="en">User Notifications</span></a>
        </li>
        <li><a href="/google/gcm/c2dm.html">
            <span class="en">Migration</span></a>
        </li>
      </ul>
  </li>

  <li class="nav-section">
  <div class="nav-section-header empty"><a href="/google/gcs/index.html">
        <span class="en">Google Cloud Save</span></a>
      </div>
  </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/play/dist.html">
      <span class="en">Google Play Distribution</span></a>
    </div>
    <ul>
      <li><a href="/google/play/filters.html">
          <span class="en">Filters on Google Play</span></a>
      </li>
      <li><a href="/google/play/billing/gp-purchase-status-api.html">
              <span class="en">Google Play Developer API</span></a>
      </li>
      <li><a href="/google/play/publishing/multiple-apks.html">
          <span class="en">Multiple APK Support</span></a>
      </li>
      <li><a href="/google/play/expansion-files.html">
          <span class="en">APK Expansion Files</span></a>
      </li>
      <li class="nav-section">
        <div class="nav-section-header"><a href="/google/play/licensing/index.html">
          <span class="en">Application Licensing</span></a>
        </div>
        <ul>
          <li><a href="/google/play/licensing/overview.html">
              <span class="en">Licensing Overview</span></a>
          </li>
          <li><a href="/google/play/licensing/setting-up.html">
              <span class="en">Setting Up for Licensing</span></a>
          </li>
          <li><a href="/google/play/licensing/adding-licensing.html">
              <span class="en">Adding Licensing to Your App</span></a>
          </li>
          <li><a href="/google/play/licensing/licensing-reference.html">
              <span class="en">Licensing Reference</span></a>
          </li>
        </ul>
      </li>

  <li class="nav-section">
    <div class="nav-section-header"><a href="/google/backup/index.html">
      Android Backup Service</a>
    </div>
    <ul>
      <li><a href="/google/backup/signup.html">
          Register</a>
      </li>
    </ul>
  </li>

  </ul>

</li>



</ul>

<script type="text/javascript">
<!--
    buildToggleLists();
    changeNavLang(getLangPref());
//-->
</script>




      </div>
      <script type="text/javascript">
       showGoogleRefTree();

      </script>
    </div> <!-- end side-nav -->
    <script>
      $(document).ready(function() {
        scrollIntoView("devdoc-nav");
        });
    </script>






<div class="col-12"  id="doc-col">

<div id="api-info-block">




















<div class="sum-details-links">

Summary:






  <a href="#inhconstants">Inherited Constants</a>





  &#124; <a href="#pubctors">Ctors</a>




  &#124; <a href="#pubmethods">Methods</a>




  &#124; <a href="#inhmethods">Inherited Methods</a>

&#124; <a href="#" onclick="return toggleAllClassInherited()" id="toggleAllClassInherited">[Expand All]</a>

</div><!-- end sum-details-links -->
<div class="api-level">




</div>
</div><!-- end api-info-block -->


<!-- ======== START OF CLASS DATA ======== -->

<div id="jd-header">
    public



    class
<h1 itemprop="name">AddPlaceRequest</h1>




    extends Object<br/>






      implements

        Parcelable








</div><!-- end header -->

<div id="naMessage"></div>

<div id="jd-content" class="api apilevel-">
<table class="jd-inheritance-table">


    <tr>

        <td colspan="2" class="jd-inheritance-class-cell">java.lang.Object</td>
    </tr>


    <tr>

            <td class="jd-inheritance-space">&nbsp;&nbsp;&nbsp;&#x21b3;</td>

        <td colspan="1" class="jd-inheritance-class-cell">com.google.android.gms.location.places.AddPlaceRequest</td>
    </tr>


</table>







<div class="jd-descr">


<h2>Class Overview</h2>
<p itemprop="articleBody">Represents a <code><a href="/reference/com/google/android/gms/location/places/Place.html">Place</a></code> that you would like to add to Google’s Places database. For example,
 this may be a place that a user has added in your app.
</p>





</div><!-- jd-descr -->
















<div class="jd-descr">


<h2>Summary</h2>
















<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<table id="inhconstants" class="jd-sumtable"><tr><th>
  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
  <div style="clear:left;">Inherited Constants</div></th></tr>




<tr class="api apilevel-" >
<td colspan="12">

  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-constants-android.os.Parcelable" class="jd-expando-trigger closed"
          ><img id="inherited-constants-android.os.Parcelable-trigger"
          src="/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>From interface
android.os.Parcelable
<div id="inherited-constants-android.os.Parcelable">
  <div id="inherited-constants-android.os.Parcelable-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-constants-android.os.Parcelable-summary" style="display: none;">
    <table class="jd-sumtable-expando">



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol">CONTENTS_FILE_DESCRIPTOR</td>
        <td class="jd-descrcol" width="100%">




        </td>
    </tr>


    <tr class=" api apilevel-" >
        <td class="jd-typecol">int</td>
        <td class="jd-linkcol">PARCELABLE_WRITE_RETURN_VALUE</td>
        <td class="jd-descrcol" width="100%">




        </td>
    </tr>


</table>
  </div>
</div>
</td></tr>


</table>









<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<table id="pubctors" class="jd-sumtable"><tr><th colspan="12">Public Constructors</th></tr>




    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            </nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, java.lang.String)">AddPlaceRequest</a></span>(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List&lt;Integer&gt; placeTypes, String phoneNumber)</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>





            </nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, android.net.Uri)">AddPlaceRequest</a></span>(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List&lt;Integer&gt; placeTypes, Uri uri)</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            </nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, java.lang.String, android.net.Uri)">AddPlaceRequest</a></span>(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List&lt;Integer&gt; placeTypes, String phoneNumber, Uri uri)</nobr>

  </td></tr>



</table>






<!-- ========== METHOD SUMMARY =========== -->
<table id="pubmethods" class="jd-sumtable"><tr><th colspan="12">Public Methods</th></tr>




    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#getAddress()">getAddress</a></span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>





            <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a></nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#getLatLng()">getLatLng</a></span>()</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#getName()">getName</a></span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>





            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#getPhoneNumber()">getPhoneNumber</a></span>()</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            List&lt;Integer&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#getPlaceTypes()">getPlaceTypes</a></span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>





            Uri</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#getWebsiteUri()">getWebsiteUri</a></span>()</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad"><a href="/reference/com/google/android/gms/location/places/AddPlaceRequest.html#toString()">toString</a></span>()</nobr>

  </td></tr>



</table>







<!-- ========== METHOD SUMMARY =========== -->
<table id="inhmethods" class="jd-sumtable"><tr><th>
  <a href="#" class="toggle-all" onclick="return toggleAllInherited(this, null)">[Expand]</a>
  <div style="clear:left;">Inherited Methods</div></th></tr>


<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-java.lang.Object" class="jd-expando-trigger closed"
          ><img id="inherited-methods-java.lang.Object-trigger"
          src="/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From class

  java.lang.Object

<div id="inherited-methods-java.lang.Object">
  <div id="inherited-methods-java.lang.Object-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-java.lang.Object-summary" style="display: none;">
    <table class="jd-sumtable-expando">




    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            Object</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">clone</span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>





            boolean</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">equals</span>(Object arg0)</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">finalize</span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>


            final


            Class&lt;?&gt;</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">getClass</span>()</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>





            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">hashCode</span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>


            final


            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notify</span>()</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>


            final


            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">notifyAll</span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>





            String</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">toString</span>()</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>


            final


            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>


            final


            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0, int arg1)</nobr>

  </td></tr>



    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>


            final


            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">wait</span>(long arg0)</nobr>

  </td></tr>


</table>
  </div>
</div>
</td></tr>



<tr class="api apilevel-" >
<td colspan="12">
  <a href="#" onclick="return toggleInherited(this, null)" id="inherited-methods-android.os.Parcelable" class="jd-expando-trigger closed"
          ><img id="inherited-methods-android.os.Parcelable-trigger"
          src="/assets/images/triangle-closed.png"
          class="jd-expando-trigger-img" /></a>
From interface

  android.os.Parcelable

<div id="inherited-methods-android.os.Parcelable">
  <div id="inherited-methods-android.os.Parcelable-list"
        class="jd-inheritedlinks">
  </div>
  <div id="inherited-methods-android.os.Parcelable-summary" style="display: none;">
    <table class="jd-sumtable-expando">




    <tr class="alt-color api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract




            int</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">describeContents</span>()</nobr>

  </td></tr>



    <tr class=" api apilevel-" >
        <td class="jd-typecol"><nobr>
            abstract




            void</nobr>
        </td>
        <td class="jd-linkcol" width="100%"><nobr>
        <span class="sympad">writeToParcel</span>(Parcel arg0, int arg1)</nobr>

  </td></tr>


</table>
  </div>
</div>
</td></tr>


</table>


</div><!-- jd-descr (summary) -->

<!-- Details -->








<!-- XML Attributes -->


<!-- Enum Values -->


<!-- Constants -->


<!-- Fields -->


<!-- Public ctors -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->
<h2>Public Constructors</h2>



<A NAME="AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, java.lang.String)"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public





      </span>
      <span class="sympad">AddPlaceRequest</span>
      <span class="normal">(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List&lt;Integer&gt; placeTypes, String phoneNumber)</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, android.net.Uri)"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public





      </span>
      <span class="sympad">AddPlaceRequest</span>
      <span class="normal">(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List&lt;Integer&gt; placeTypes, Uri uri)</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="AddPlaceRequest(java.lang.String, com.google.android.gms.maps.model.LatLng, java.lang.String, java.util.List<java.lang.Integer>, java.lang.String, android.net.Uri)"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public





      </span>
      <span class="sympad">AddPlaceRequest</span>
      <span class="normal">(String name, <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a> latLng, String address, List&lt;Integer&gt; placeTypes, String phoneNumber, Uri uri)</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= CONSTRUCTOR DETAIL ======== -->
<!-- Protected ctors -->



<!-- ========= METHOD DETAIL ======== -->
<!-- Public methdos -->

<h2>Public Methods</h2>



<A NAME="getAddress()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        String
      </span>
      <span class="sympad">getAddress</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getLatLng()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        <a href="/reference/com/google/android/gms/maps/model/LatLng.html">LatLng</a>
      </span>
      <span class="sympad">getLatLng</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getName()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        String
      </span>
      <span class="sympad">getName</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getPhoneNumber()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        String
      </span>
      <span class="sympad">getPhoneNumber</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getPlaceTypes()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        List&lt;Integer&gt;
      </span>
      <span class="sympad">getPlaceTypes</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="getWebsiteUri()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        Uri
      </span>
      <span class="sympad">getWebsiteUri</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>


<A NAME="toString()"></A>

<div class="jd-details api apilevel-">
    <h4 class="jd-details-title">
      <span class="normal">
        public




        String
      </span>
      <span class="sympad">toString</span>
      <span class="normal">()</span>
    </h4>
      <div class="api-level">
        <div></div>



      </div>
    <div class="jd-details-descr">




  <div class="jd-tagdata jd-tagdescr"><p></p></div>

    </div>
</div>





<!-- ========= METHOD DETAIL ======== -->



<!-- ========= END OF CLASS DATA ========= -->
<A NAME="navbar_top"></A>

<div id="footer" class="wrap" >


  <div id="copyright">

  Except as noted, this content is licensed under <a
  href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.
  For details and restrictions, see the <a href="/license.html">
  Content License</a>.
  </div>
  <div id="build_info">

<script src="/timestamp.js" type="text/javascript"></script>
<script>document.write(BUILD_TIMESTAMP)</script>

  </div>


  <div id="footerlinks">

  <p>
    <a href="/about/index.html">About Android</a>&nbsp;&nbsp;|&nbsp;
    <a href="/legal.html">Legal</a>&nbsp;&nbsp;|&nbsp;
    <a href="/support.html">Support</a>
  </p>
  </div>

</div> <!-- end footer -->
</div> <!-- jd-content -->

</div><!-- end doc-content -->

</div> <!-- end body-content -->






</body>
</html>
