Lokalizacja

Za pomocą interfejsu Google Mirror API możesz obserwować lokalizację użytkownika w elementach osi czasu, bezpośrednio prosić o jego ostatnią znaną lokalizację i subskrybować okresowe aktualizacje lokalizacji. Możesz też dostarczać wstępnie wyrenderowane obrazy map w kartach osi czasu, podając interfejsowi Mirror API współrzędne do narysowania.

Pobieranie ostatniej znanej lokalizacji

Aby pobrać ostatnią znaną lokalizację bieżącego użytkownika, wyślij żądanie GET do punktu końcowego REST:

Surowy protokół HTTP

GET /mirror/v1/locations/ HTTP/1.1
Authorization: Bearer {auth token}

Subskrybowanie aktualizacji lokalizacji

Podobnie jak w przypadku subskrybowania aktualizacji osi czasu możesz subskrybować aktualizacje lokalizacji, subskrybując kolekcję locations.

Surowy protokół HTTP

POST /mirror/v1/subscriptions HTTP/1.1
Authorization: Bearer {auth token}
Content-Type: application/json
Content-Length: {length}

{
  "collection": "locations",
  "userToken": "harold_penguin",
  "verifyToken": "random_hash_to_verify_referer",
  "callbackUrl": "https://example.com/notify/callback"
}

Wyświetlanie map na kartach osi czasu

Interfejs Google Mirror API może renderować mapy i nakładać na nie znaczniki oraz linie, aby oznaczać ważne miejsca i trasy. Użyj identyfikatora URI glass://map, aby poprosić o mapę. Oto przykład:

<img src="glass://map?w=width&h=height&marker=0;latitude,longitude&marker=1;latitude,longitude&polyline=;latitude,longitude,latitude,longitude"
  width="width"
  height="height"/>

Poniżej znajdziesz opis wymaganych parametrów:

  • w – szerokość zwracanego obrazu mapy w pikselach.
  • h – wysokość zwracanego obrazu mapy w pikselach.

Wymagany jest tylko jeden z elementów z tej listy, ale możesz podać wszystkie:

  • centerzoom – środek (szerokość i długość geograficzna) mapy do renderowania oraz poziom powiększenia. Więcej informacji znajdziesz w sekcji Poziomy powiększenia.
  • marker – określ znaczniki pinezek, które mają być rysowane w określonych współrzędnych. Parametr znacznika przyjmuje typ znacznika (0 oznacza pin1, czyli bieżącą lokalizację), współrzędną szerokości geograficznej i współrzędną długości geograficznej. Jeśli nie określisz wyraźnie wartości centerzoom, mapa automatycznie wyśrodkuje się i powiększy wokół utworzonych przez Ciebie znaczników.
  • polyline – określ współrzędne linii łamanej, aby przedstawić ścieżkę na mapie. Każda polilinia składa się z szerokości i koloru, a następnie wierzchołków polilinii. Przykład: polyline=8,ffff0000;47.6,-122.34,47.62,-122.40 określa czerwoną linię o szerokości 8 pikseli między punktami (47.6,-122.34) i (47.62,-122.40). Jeśli nie określisz wyraźnie parametrów centerzoom, mapa zostanie automatycznie wyśrodkowana i powiększona tak, aby pasowała do polilinii.

Poniższy przykład pokazuje sprawdzoną metodę wyświetlania obrazu mapy z tekstem i jak to wygląda:

<article>
  <figure>
    <img src="glass://map?w=240&h=360&marker=0;42.369590,
      -71.107132&marker=1;42.36254,-71.08726&polyline=;42.36254,
      -71.08726,42.36297,-71.09364,42.36579,-71.09208,42.3697,
      -71.102,42.37105,-71.10104,42.37067,-71.1001,42.36561,
      -71.10406,42.36838,-71.10878,42.36968,-71.10703"
      height="360" width="240">
  </figure>
  <section>
    <div class="text-auto-size">
      <p class="yellow">12 minutes to home</p><p>Medium traffic on Broadway</p>
    </div>
  </section>
</article>

wstępnie wyrenderowana mapa na karcie osi czasu,