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

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Token sesji to fragment danych (UUID), który jest używany w wywołaniach REST do identyfikowania sesji, czyli serii powiązanych wymian wiadomości. We wszystkich żądaniach dotyczących kafelków 2D i zdjęć Street View musisz uwzględnić token sesji. Dodajesz go jako wartość parametru session do wszystkich adresów URL żądań.

W interfejsie Map Tiles API token sesji reprezentuje określony zestaw opcji wyświetlania. Oznacza to, że nie musisz przekazywać zestawu opcji wyświetlania z każdym żądaniem kafelka. Możesz używać tego samego tokena sesji na wielu klientach. Token sesji jest obecnie ważny przez 2 tygodnie od momentu jego wydania, ale może się to zmienić. Czas wygaśnięcia tokena sesji możesz sprawdzić w polu expiry w wiadomości z odpowiedzią.

Żądanie tokena sesji

Aby poprosić o token sesji, wyślij żądanie HTTPS POST do punktu końcowego createSession, jak pokazano w tym przykładzie. Żądanie musisz wysłać 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

Rodzaj mapy podstawowej. Może to być jedna z tych wartości:

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

Tag języka IETF określający język, w którym mają być wyświetlane informacje na kafelkach. Na przykład en-US oznacza język angielski używany w Stanach Zjednoczonych.

region

Identyfikator regionu Common Locale Data Repository (2 wielkie litery) reprezentujący fizyczną lokalizację użytkownika. Na przykład: US.

Pola opcjonalne

imageFormat
Określa format pliku do zwrócenia. Prawidłowe wartości to jpegpng. Pliki JPEG nie obsługują przezroczystości, dlatego nie zalecamy ich używania w przypadku kafelków nakładkowych. Jeśli nie określisz imageFormat, najlepszy format kafelka zostanie wybrany automatycznie.
scale

Powiększa rozmiar elementów mapy (np. etykiet dróg), zachowując rozmiar kafelka i obszar pokrycia domyślnego kafelka. Zwiększenie skali powoduje też zmniejszenie liczby etykiet na mapie, co ogranicza bałagan. Prawidłowe wartości scale:

  • scaleFactor1x: wartość domyślna.
  • scaleFactor2x: podwaja rozmiar etykiet i usuwa etykiety mniejszych obiektów.
  • scaleFactor4x: czterokrotnie zwiększa rozmiar etykiet i usuwa etykiety mniejszych obiektów.

Poniższe przykłady pokazują, jak skalowanie elementów mapy wpływa na jej wygląd.

Współczynnik skalowania 1x Współczynnik skalowania 2x
Mapa pokazująca współczynnik skalowania 1x Mapa ze współczynnikiem skalowania 2x
highDpi
Określa, czy mają być zwracane kafelki o wysokiej rozdzielczości. Jeśli współczynnik skalowania zostanie zwiększony, highDpi zostanie użyty do zwiększenia rozmiaru kafelka. Zwykle zwiększenie współczynnika skali powiększa wynikowy fragment do obrazu o tym samym rozmiarze, co obniża jakość. W przypadku highDpi rozmiar wynikowy również się zwiększa, ale jakość pozostaje bez zmian. DPI to skrót od Dots per Inch (punkty na cal), a wysoka wartość DPI oznacza, że kafelki są renderowane przy użyciu większej liczby punktów na cal niż zwykle. Jeśli true, liczba pikseli w każdym z wymiarów x i y jest mnożona przez współczynnik skalowania (czyli 2x lub 4x). Obszar objęty kafelkiem pozostanie bez zmian. Ten parametr działa tylko z wartościami scale 2x lub 4x. Nie ma to wpływu na kafelki w skali 1x.
Współczynnik skalowania 1x Współczynnik skalowania 2x High DPI
Mapa wyświetlana w normalnej rozdzielczości Mapa wyświetlana w rozdzielczości 2x High DPI
layerTypes

Tablica wartości określająca typy warstw dodanych do mapy. Prawidłowe wartości:

layerRoadmap
Wymagany, jeśli jako typ mapy podasz terrain. Można ją też opcjonalnie nałożyć na typ mapy satellite. Nie ma wpływu na kafelki z planem rozwoju.
layerStreetview
Wyświetla ulice i lokalizacje z włączoną funkcją Street View, zaznaczając je na mapie niebieskimi konturami.
layerTraffic
Wyświetla aktualne warunki drogowe.
styles

Tablica obiektów w stylu JSON, które określają wygląd i poziom szczegółowości elementów mapy, takich jak drogi, parki i obszary zabudowane. Stylizacja służy do dostosowywania standardowej mapy bazowej 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 layerTypes ma być renderowany jako osobna nakładka, czy połączony z obrazami podstawowymi. Gdy true, mapa podstawowa nie jest wyświetlana. Jeśli nie zdefiniowano żadnego elementu layerTypes, ta wartość jest ignorowana.

Na przykład żądanie satellite typu mapy z warstwą layerRoadmap i ustawieniem overlay na false spowoduje wygenerowanie kafelków równoważnych typowi mapy hybrid używanemu w interfejsie Maps JavaScript API (obraz po lewej stronie). Te same typy map i warstw z parametrem overlay ustawionym na true dają przezroczysty kafelek z nakładką mapy, odpowiednio sformatowaną do nakładania na zdjęcia satelitarne (obraz po prawej).

overlay: fałsz overlay: true
Nakładka ustawiona na fałsz Nakładka ustawiona na „true”

Poniższy kod JSON to przykład typowej treści żądania, która zawiera zarówno pola wymagane, jak 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" }
      ]
    }
  ]
}

Ten przykład zawiera nakładkę, którą można połączyć ze zdjęciami satelitarnymi. Przykład zawiera zarówno mapę drogową, jak i nakładkę widoku ulicy. Wynikowa mapa jest renderowana z nazwami i danymi w języku angielskim, ponieważ jest on używany w Stanach Zjednoczonych.

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żej znajdziesz 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 znaków zawierający czas (w sekundach od początku epoki), w którym wygasa ważność tokena. Token sesji jest ważny przez 2 tygodnie od momentu jego utworzenia, ale te zasady mogą ulec zmianie bez powiadomienia.
tileWidth
Szerokość kafelków w pikselach.
tileHeight
Wysokość kafelków w pikselach.
imageFormat
Format obrazu, który może być png lub jpeg.