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
jpeg
ipng
. Pliki JPEG nie obsługują przezroczystości, dlatego nie zalecamy ich używania w przypadku kafelków nakładkowych. Jeśli nie określiszimageFormat
, 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 |
---|---|
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 przypadkuhighDpi
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ślitrue
, 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ściamiscale
2x lub 4x. Nie ma to wpływu na kafelki w skali 1x.
Współczynnik skalowania 1x | Współczynnik skalowania 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 mapysatellite
. 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 toroadmap
. 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. Gdytrue
, mapa podstawowa nie jest wyświetlana. Jeśli nie zdefiniowano żadnego elementulayerTypes
, 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 |
---|---|
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
lubjpeg
.