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
izoom
– ś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 (0
–pin
i1
, bieżąca lokalizacja), współrzędne – szerokość i długość geograficzną. Jeśli nie określisz jednoznacznie właściwościcenter
izoom
, 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 jednoznaczniecenter
izoom
, 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>