Posizione

Puoi utilizzare l'API Google Mirror per osservare la posizione dell'utente negli elementi della sequenza temporale, richiedere direttamente la sua ultima posizione nota e iscriverti agli aggiornamenti periodici della posizione. Puoi anche fornire immagini di mappe pre-renderizzate nelle schede della sequenza temporale fornendo all'API Mirror le coordinate da disegnare.

Recuperare l'ultima posizione nota

Per recuperare l'ultima posizione nota per l'utente corrente, invia una richiesta GET all'endpoint REST:

HTTP non elaborato

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

Iscriversi agli aggiornamenti della posizione

Analogamente all'iscrizione agli aggiornamenti della sequenza temporale, puoi iscriverti agli aggiornamenti della posizione iscrivendoti alla locations raccolta.

HTTP non elaborato

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

Rendering delle mappe nelle schede della sequenza temporale

L'API Google Mirror può eseguire il rendering delle mappe e sovrapporre indicatori e linee per indicare luoghi e percorsi importanti. Utilizza l'URI glass://map per richiedere una mappa. Ad esempio:

<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"/>

Di seguito è riportata una descrizione dei parametri obbligatori:

  • w : la larghezza in pixel dell'immagine della mappa restituita.
  • h : l'altezza in pixel dell'immagine della mappa restituita.

È necessario specificare solo uno degli elementi del seguente elenco, ma puoi specificarli tutti:

  • center e zoom - il centro (latitudine,longitudine) della mappa da eseguire il rendering e il livello di zoom. Per ulteriori informazioni, consulta la sezione Livelli di zoom.
  • marker : specifica gli indicatori a forma di puntina da disegnare alle coordinate specificate. Il parametro marker accetta un tipo di indicatore (0 indica una pin e 1, la posizione attuale), la coordinata di latitudine e la coordinata di longitudine. Se non specifichi esplicitamente center e zoom, la mappa si centra e si ingrandisce automaticamente intorno agli indicatori che crei.
  • polyline : specifica le coordinate della polilinea per rappresentare un percorso sulla mappa. Ogni polilinea è costituita da una larghezza e un colore seguiti dai vertici della polilinea. Ad esempio: polyline=8,ffff0000;47.6,-122.34,47.62,-122.40 specifica una linea rossa di 8 pixel di larghezza tra (47.6,-122.34) e (47.62,-122.40). Se non specifichi esplicitamente center e zoom, la mappa viene centrata e ingrandita automaticamente per adattarsi alla polilinea.

L'esempio seguente mostra una best practice per visualizzare un'immagine della mappa con del testo e il relativo aspetto:

<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>

mappa pre-renderizzata su una scheda della cronologia