Używanie tokenów sesji z interfejsem Map Tiles API

Token sesji to fragment danych (UUID) używany w wywołaniach REST do identyfikowania sesji, czyli serii powiązanych wiadomości. Musisz podawać token sesji we wszystkich żądaniach kafelków 2D i zdjęć Street View. Uwzględniasz go jako wartość parametru session dołączanego do wszystkich adresów URL żądań.

W interfejsie Map Tiles API token sesji reprezentuje zdefiniowany zestaw opcji wyświetlania. Oznacza to, że nie trzeba przekazywać zestawu opcji wyświetlania przy każdym żądaniu kafelka. Możesz używać tego samego tokena sesji na kontach wielu klientów. Token sesji jest obecnie ważny przez 2 tygodnie od momentu wygenerowania, ale może się to zmienić. Czas ważności tokena sesji możesz w każdej chwili sprawdzić w polu expiry w wiadomości z odpowiedzią.

Żądanie tokena sesji

Aby zażądać tokena sesji, wyślij żądanie HTTPS POST do punktu końcowego createSession, jak pokazano w poniższym przykładzie. Musisz wysłać żądanie z nagłówkiem Content-Type: application/json.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

Pola wymagane

mapType

Typ mapy podstawowej. Możliwe wartości:

roadmap
Standardowe malowane fragmenty map Map Google.
satellite
Zdjęcia satelitarne.
terrain
Zdjęcia terenu. Jeśli jako typ mapy wybierzesz terrain, musisz też uwzględnić typ warstwy layerRoadmap (opisany w sekcji Pola opcjonalne).
streetview
panoramy Street View. Więcej informacji znajdziesz na stronie Fragmenty Street View.
language

Tag języka IETF, który określa język używany do wyświetlania informacji na kafelkach. Na przykład en-US określa język angielski używany w Polsce.

region

Identyfikator regionu wspólnego repozytorium danych lokalnych (2 wielkie litery), który reprezentuje fizyczną lokalizację użytkownika. Na przykład: US.

Pola opcjonalne

imageFormat
Określa format pliku do zwrócenia. Prawidłowe wartości to jpeg lub png. Pliki JPEG nie obsługują przezroczystości, dlatego nie są zalecane w przypadku kafelków z nakładkami. Jeśli nie określisz elementu imageFormat, automatycznie zostanie wybrany najlepszy format dla kafelka.
scale

Zwiększa rozmiar elementów mapy (np. etykiet dróg), zachowując rozmiar kafelka i zasięg domyślnego kafelka. Zwiększenie skali pozwala też zmniejszyć liczbę etykiet na mapie, co zwiększa zbędny bałagan. Te wartości są prawidłowymi wartościami scale:

  • scaleFactor1x: wartość domyślna.
  • scaleFactor2x: zwiększa rozmiar etykiety i usuwa drobne etykiety cech.
  • scaleFactor4x: rozmiar etykiety zwiększa się czterokrotnie i usuwa drobne etykiety cech.

Poniższe przykłady pokazują efekt skalowania elementów mapy.

Współczynnik skali 1x Współczynnik skali 2x
Mapa przedstawiająca współczynnik skali 1x Mapa pokazująca współczynnik skali 2x
highDpi
Określa, czy należy zwrócić kafelki o wysokiej rozdzielczości. Jeśli współczynnik skalowania zostanie zwiększony, rozmiar kafelka zostanie zwiększony za pomocą funkcji highDpi. Normalnie, wzrost współczynnika skali powoduje powiększenie wynikowego kafelka do obrazu o tym samym rozmiarze, co obniża jakość. Dzięki funkcji highDpi rozmiar wynikowy również się zwiększa, co pozwala zachować jakość. DPI oznacza kropki na cal. Wysoka wartość DPI oznacza, że kafelek renderuje się z użyciem większej liczby kropek na cal niż normalnie. Jeśli ustawiona jest wartość true, liczba pikseli w każdym z wymiarów x i y jest mnożona przez współczynnik skali (czyli 2x lub 4x). Zasięg kafelka pozostaje bez zmian. Ten parametr działa tylko z wartością scale równą 2x lub 4x. Nie ma to wpływu na kafelki skali 1x.
Współczynnik skali 1x Współczynnik skali 2x High DPI
Mapa wyświetlana w standardowej rozdzielczości Mapa wyświetlana w 2-krotnej rozdzielczości wysokiej DPI
layerTypes

Tablica wartości, która określa typy warstw dodane do mapy. Prawidłowe wartości to:

layerRoadmap
Wymagane, jeśli jako typ mapy określisz terrain. Można ją też opcjonalnie nałożyć na mapę typu satellite. Nie ma wpływu na fragmenty mapy.
layerStreetview
Ulice i lokalizacje obsługujące Street View są oznaczone na mapie niebieskimi konturami.
layerTraffic
Pokazuje aktualne warunki na drodze.
styles

Tablica obiektów w stylu JSON, które określają wygląd i poziom szczegółowości obiektów mapy, takich jak drogi, parki i tereny zabudowane. Styl służy do dostosowywania standardowej mapy podstawowej Google. Parametr styles jest prawidłowy tylko wtedy, gdy typ mapy to roadmap. Pełną składnię stylu znajdziesz w dokumentacji stylu.

overlay

Wartość logiczna określająca, czy obiekt layerTypes ma być renderowany jako osobna nakładka czy w połączeniu z obrazem podstawowym. Gdy true, mapa podstawowa nie jest wyświetlana. Jeśli nie zdefiniowano żadnego parametru layerTypes, ta wartość jest ignorowana.

Na przykład żądanie typu mapy satellite z warstwą layerRoadmap i ustawienie overlay jako false powoduje wyświetlenie kafelków odpowiadających typowi mapy hybrid używanego w interfejsie Maps JavaScript API (obraz po lewej stronie). Te same mapy i warstwy z ustawieniem overlay ustawionym na true dają przezroczysty kafelek z nakładką mapy dopasowany do zdjęć satelitarnych (obraz po prawej stronie).

overlay: fałsz overlay: prawda
Nakładka ustawiona jako fałsz Nakładka ma wartość Prawda

Poniższy kod JSON to przykład typowej treści żądania, która zawiera pola wymagane i opcjonalne.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

W tym przykładzie można utworzyć nakładkę, którą można połączyć ze zdjęciami satelitarnymi. Przykład zawiera zarówno plan, jak i nakładkę Street View. Wynikowa mapa jest renderowana z nazwami i danymi w języku angielskim, tak jak w Stanach Zjednoczonych.

apiOptions: tablica wartości określających dodatkowe opcje do zastosowania. Obsługiwane opcje:

  • MCYJ5E517XR2JC – zaakceptuj nowy styl mapy. W okresie akceptacji żądania będą miały istniejący styl, chyba że określisz tę wartość.

Odpowiedź tokena sesji

Poniższy kod JSON to przykładowa treść odpowiedzi.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

Poniższa lista zawiera definicje pól w treści odpowiedzi.

session
Wartość tokena sesji, którą musisz uwzględnić we wszystkich żądaniach interfejsu Map Tiles API.
expiry
Ciąg tekstowy zawierający czas (w sekundach od początku epoki), w którym wygasa token. Token sesji jest ważny przez 2 tygodnie od momentu utworzenia, ale ta zasada może ulec zmianie bez powiadomienia.
tileWidth
Szerokość kafelków w pikselach.
tileHeight
Wysokość kafelków mierzona w pikselach.
imageFormat
Format obrazu, który może mieć wartość png lub jpeg.