Lokalizacja

Za pomocą interfejsu Google Mirror API możesz obserwować lokalizację użytkownika w elementach na osi czasu, bezpośrednio wymagać ostatniej znanej lokalizacji i subskrybować okresowe aktualizacje lokalizacji. Możesz też wyświetlać wstępnie wyrenderowane obrazy map na kartach osi czasu, nadając interfejsowi Mirror API interfejs do rysowania.

Pobieram najnowszą znaną lokalizację

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

Nieprzetworzony protokół HTTP

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

Subskrybowanie aktualizacji lokalizacji

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

Nieprzetworzony 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"
}

Renderowanie map na kartach osi czasu

Interfejs Google Mirror API może renderować mapy za Ciebie, a także nakładać znaczniki i linie wskazujące ważne miejsca i ścieżki. Aby poprosić o mapę, użyj identyfikatora URI glass://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"/>

Oto opis wymaganych parametrów:

  • w – szerokość zwróconego obrazu mapy w pikselach.
  • h – wysokość w pikselach zwróconego obrazu mapy.

Wymagany jest tylko jeden element z poniższej listy, ale możesz określić wszystkie:

  • center i zoom – środek (szerokość,długość) mapy do renderowania oraz poziom powiększenia. Więcej informacji znajdziesz w artykule Poziomy powiększenia.
  • marker – określ znaczniki pinezki, które mają być rysowane w określonych współrzędnych. Parametr znacznika przyjmuje typ znacznika (0pin i 1, bieżąca lokalizacja), współrzędne – szerokość i długość geograficzną. Jeśli nie określisz jednoznacznie właściwości center i zoom, mapa zostanie automatycznie wyśrodkowana i powiększona wokół utworzonych przez Ciebie znaczników.
  • polyline – określ współrzędne łamane reprezentujące ścieżkę na mapie. Każda linia łamana zawiera szerokość i kolor, a po nich wierzchołki linii łamanej. Na przykład: polyline=8,ffff0000;47.6,-122.34,47.62,-122.40 określa czerwoną linię 8 pikseli między znakami (47.6,-122.34) i (47.62,-122.40). Jeśli nie określisz jednoznacznie center i zoom, mapa zostanie automatycznie wyśrodkowana i powiększona tak, by pasowała do linii łamanej.

Poniższy przykład pokazuje, jak wyświetlać obraz mapy z tekstem i wygląda tak:

<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 renderowana mapa na karcie osi czasu