blob: b28302c3cb49e7e56f8be758855a4deb61635c47 [file] [log] [blame]
page.title=Location APIs
page.tags=location,geofence,geofencing,gps
header.hide=1
@jd:body
<div class="landing-banner">
<div class="col-6">
<img src="{@docRoot}images/google/gps-location.png" alt="Location APIs Logo">
</div>
<div class="col-6">
<h1 itemprop="name" style="margin-bottom:0;">Location &amp; Places</h1>
<p itemprop="description">
The location APIs make it easy for you to build location-aware applications, without needing to
focus on the details of the underlying location technology. The related Places APIs also help
your app identify real-world points of interest near the user.
</p>
<p>
To get started, first <a href="{@docRoot}google/play-services/setup.html">set up</a>
the Google Play services SDK. To learn how to identify the user's location, see
<a href="{@docRoot}training/location/index.html">Making Your App Location Aware</a>, or to
identify nearby places, see the
<a href="https://developers.google.com/places/android">Google Places API for Android</a>
developer guide.
</p>
</div>
</div>
<div class="landing-docs">
<h3 style="clear:left">Key Developer Features</h3>
<div class="layout-content-row normal-links">
<div class="layout-content-col span-6">
<h4 style="font-weight:bold">Fused location provider</h4>
<p>The Fused Location Provider intelligently manages the underlying location technology and gives you the best location according to your needs. </p>
<ul>
<li>
<em>Simple APIs</em>: Lets you specify high-level needs like "high accuracy" or "low power", instead of
having to worry about location providers.
</li>
<li>
<em>Immediately available</em>: Gives your apps immediate access to the best, most recent location.
</li>
<li>
<em>Power-efficiency</em>: Minimizes your app's use of power. Based on all incoming location requests and available sensors, fused location provider chooses the most efficient way to meet those needs.
</li>
<li>
<em>Versatility</em>: Meets a wide range of needs, from foreground uses that need highly accurate
location to background uses that need periodic location updates with negligible power impact.
</li>
</ul>
<h4 style="font-weight:bold">Geofencing APIs</h4>
<p>Lets your app setup geographic boundaries around specific locations and then receive notifications when the user enters or leaves those areas. </p>
<ul>
<li>
<em>Simple but powerful APIs</em>: Allows batch addition and removal of geofences. Ability to manage
multiple geofences at the same time. Ability to filter alerts for both entry and exit or
entry only or exit only.
</li>
<li>
<em>Optimized for battery</em>: Adjusts location updates based on users proximity to the geofence
and users modality (still, walking, driving, and so on).
</li>
</ul>
</div>
<div class="layout-content-col span-6">
<h4 style="font-weight:bold">Places API</h4>
<p>The <a href="https://developers.google.com/places/android/">Google
Places API for Android</a> helps you build location-aware apps
that respond contextually to the local businesses and other places near the
device:</p>
<ul>
<li>Use the built-in
<a href="https://developers.google.com/places/android/placepicker">place
picker</a> UI widget, allowing users to select a place on an interactive
map.</li>
<li>Identify the user's
<a href="https://developers.google.com/places/android/current-place">current
place</a>, such as a local business, point of interest, or other geographic location.</li>
<li>Retrieve and display rich
<a href="https://developers.google.com/places/android/place-details">information
about a place</a>.</li>
<li>Make it easy to enter place names and addresses, by
<a href="https://developers.google.com/places/android/autocomplete">autocompleting</a>
your users' queries as they type.</li>
<li>Differentiate your app by supplying up-to-date local information, and
<a href="https://developers.google.com/places/android/add-place">adding
places</a> to Google's Places database.</li>
</ul>
<h4 style="font-weight:bold">Activity recognition</h4>
<p>The Activity recognition API makes it easy to check the users current activity&mdash;still, walking, cycling, and in-vehicle&mdash;with very efficient use of the battery:</p>
<ul>
<li>
<em>Optimized for battery</em>: Uses low-power sensors to recognize the user's current physical activity.
</li>
<li>
<em>Enhances other services with context</em>: Great for adding movement awareness to location awareness. Apps can adjust the amount of
location awareness they provide, based on the current user movement. For example, a
navigation app can request more frequent updates when the user is driving.
</li>
<li>
<em>Advanced activity detection</em>: For apps that want to do their own
post-processing, the activity APIs provide confidence values for each of the activities.
It also includes two activities that indicate unreliable measurements: unknown and tilt.
</li>
</ul>
</div>
</div>