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 zdefiniowany zestaw opcji wyświetlania. Oznacza to, że nie musisz przekazywać zestawu opcji wyświetlania z każdym żądaniem kafelka. Tego samego tokena sesji możesz używać 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 przykładzie poniżej. Żądanie musi zawierać nagłówek 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. Ta wartość może być jedną z tych:

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ć typ warstwy layerRoadmap (opisany w sekcji Pola opcjonalne).
streetview
panoramy Street View, Więcej informacji znajdziesz w sekcji 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 jpeg i png. Pliki JPEG nie obsługują przezroczystości, dlatego nie zalecamy ich używania w przypadku kafelków nakładki. Jeśli nie określisz imageFormat, najlepszy format kafelka zostanie wybrany automatycznie.
scale

Skaluje w górę rozmiar elementów mapy (np. etykiet dróg), zachowując rozmiar fragmentu mapy i obsługiwany obszar domyślnego fragmentu mapy. Zwiększenie skali zmniejsza też liczbę etykiet na mapie, co ogranicza bałagan. Prawidłowe wartości scale to:

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

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

Współczynnik skalowania 1x Współczynnik skalowania 2x
Mapa pokazująca współczynnik skalowania 1x Mapa ze współczynnikiem skali 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, co pozwala zachować jakość. DPI to skrót od Dots per Inch (punkty na cal), a High DPI oznacza, że kafel jest renderowany 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 pokrycia kafelka pozostaje bez zmian. Ten parametr działa tylko w przypadku wartości 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 to:

layerRoadmap
Wymagany, jeśli jako typ mapy podasz terrain. Można ją też opcjonalnie nałożyć na satellite typ mapy. Nie ma wpływu na kafelki mapy drogowej.
layerStreetview
Wyświetla ulice i lokalizacje z włączoną funkcją Street View, zaznaczając je na mapie niebieskimi konturami.
layerTraffic
Wyświetla aktualne warunki na drodze.
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 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 element 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 żadnej wartości layerTypes, ta wartość jest ignorowana.

Na przykład żądanie satellite typu mapy z warstwą layerRoadmap i ustawieniem overlay na false daje kafelki równoważne 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: false overlay: true
Nakładka ustawiona na wartość „false” Nakładka ustawiona na „true”

Ten kod JSON zawiera 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ć z obrazami 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ż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 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 utworzenia, ale te zasady mogą ulec zmianie bez powiadomienia.
tileWidth
Szerokość kafelków mierzona w pikselach.
tileHeight
Wysokość kafelków w pikselach.
imageFormat
Format obrazu, który może być wartością png lub jpeg.