<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="mirror_v1.html">Google Mirror API</a> . <a href="mirror_v1.locations.html">locations</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#get">get(id)</a></code></p>
<p class="firstline">Gets a single location by ID.</p>
<p class="toc_element">
  <code><a href="#list">list()</a></code></p>
<p class="firstline">Retrieves a list of locations for the user.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="get">get(id)</code>
  <pre>Gets a single location by ID.

Args:
  id: string, The ID of the location or latest for the last known location. (required)

Returns:
  An object of the form:

    { # A geographic location that can be associated with a timeline item.
    "kind": "mirror#location", # The type of resource. This is always mirror#location.
    "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
    "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
    "longitude": 3.14, # The longitude, in degrees.
    "address": "A String", # The full address of the location.
    "latitude": 3.14, # The latitude, in degrees.
    "id": "A String", # The ID of the location.
    "accuracy": 3.14, # The accuracy of the location fix in meters.
  }</pre>
</div>

<div class="method">
    <code class="details" id="list">list()</code>
  <pre>Retrieves a list of locations for the user.

Args:

Returns:
  An object of the form:

    { # A list of Locations. This is the response from the server to GET requests on the locations collection.
    "items": [ # The list of locations.
      { # A geographic location that can be associated with a timeline item.
        "kind": "mirror#location", # The type of resource. This is always mirror#location.
        "displayName": "A String", # The name to be displayed. This may be a business name or a user-defined place, such as "Home".
        "timestamp": "A String", # The time at which this location was captured, formatted according to RFC 3339.
        "longitude": 3.14, # The longitude, in degrees.
        "address": "A String", # The full address of the location.
        "latitude": 3.14, # The latitude, in degrees.
        "id": "A String", # The ID of the location.
        "accuracy": 3.14, # The accuracy of the location fix in meters.
      },
    ],
    "kind": "mirror#locationsList", # The type of resource. This is always mirror#locationsList.
  }</pre>
</div>

</body></html>