Wprowadzenie
Maps Static API zwraca obraz (GIF, PNG lub JPEG) w odpowiedzi na żądanie HTTP wysłane za pomocą adresu URL. W każdym żądaniu możesz określić lokalizację mapy, rozmiar obrazu, poziom powiększenia, typ mapy i umiejscowienie opcjonalnych znaczników w lokalizacjach na mapie. Możesz też oznaczyć znaczniki znakami alfanumerycznymi.
Obraz Maps Static API jest umieszczony w atrybucie src tagu <img> lub jego odpowiedniku w innych językach programowania.
W tym dokumencie opisujemy wymagany format adresów URL interfejsu Maps Static API i dostępne parametry. Przedstawiamy też kilka porad i wskazówek dotyczących określania adresów URL.
Zanim zaczniesz
Ten dokument jest przeznaczony dla deweloperów stron internetowych i aplikacji mobilnych, którzy chcą umieszczać obrazy z Maps Static API na stronie internetowej lub w aplikacji mobilnej. Zawiera wprowadzenie do korzystania z interfejsu API i materiały referencyjne dotyczące dostępnych parametrów.
Zanim zaczniesz tworzyć aplikacje za pomocą Maps Static API, zapoznaj się z wymaganiami dotyczącymi uwierzytelniania (potrzebujesz klucza interfejsu API) oraz informacjami o korzystaniu z interfejsu API i płatnościach (musisz włączyć płatności w projekcie).
Parametry w URL-ach
Adres URL interfejsu Maps Static API musi mieć następującą postać:
https://maps.googleapis.com/maps/api/staticmap?parameters
Jeśli Twoja witryna jest dostępna przez HTTPS, musisz też wczytywać obrazy Maps Static API przez HTTPS, aby uniknąć alertów bezpieczeństwa przeglądarki. Protokół HTTPS jest też zalecany, jeśli żądania zawierają informacje poufne, takie jak lokalizacja użytkownika:
https://maps.googleapis.com/maps/api/staticmap?parameters
Niezależnie od tego, czy używasz protokołu HTTP czy HTTPS, niektóre parametry adresu URL są wymagane, a inne opcjonalne. Zgodnie ze standardem adresów URL wszystkie parametry są rozdzielone znakiem ampersand (&). Lista parametrów i ich możliwych wartości znajduje się w tym dokumencie.
Interfejs Maps Static API definiuje obrazy map za pomocą tych parametrów adresu URL:
Parametry lokalizacji
center(wymagany, jeśli nie ma znaczników) określa środek mapy, który jest równo oddalony od wszystkich jej krawędzi. Ten parametr przyjmuje lokalizację jako parę {szerokość,długość geograficzna} rozdzieloną przecinkami (np. „40.714728,-73.998672”) lub ciąg znaków adresu (np. „ratusz, nowy jork, ny”) identyfikujący unikalną lokalizację na kuli ziemskiej. Więcej informacji znajdziesz w artykule Lokalizacje.zoom(wymagany, jeśli nie ma znaczników) określa poziom powiększenia mapy. Ten parametr przyjmuje wartość liczbową odpowiadającą poziomowi powiększenia wybranego regionu. Więcej informacji znajdziesz w sekcji Poziomy powiększenia.
Parametry mapy
size(wymagany) określa prostokątne wymiary obrazu mapy. Ten parametr przyjmuje ciąg znaków w formacie{horizontal_value}x{vertical_value}. Na przykład500x400definiuje mapę o szerokości 500 pikseli i wysokości 400 pikseli. Na mapach o szerokości mniejszej niż 180 pikseli wyświetlane jest logo Google o zmniejszonym rozmiarze. Na ten parametr wpływa parametrscale. Ostateczny rozmiar wyjściowy jest iloczynem wartości rozmiaru i skali.scale(opcjonalny) wpływa na liczbę zwracanych pikseli.scale=2zwraca 2 razy więcej pikseli niżscale=1, zachowując ten sam obsługiwany obszar i poziom szczegółowości (czyli zawartość mapy się nie zmienia). Jest to przydatne podczas tworzenia aplikacji na wyświetlacze o wysokiej rozdzielczości. Wartością domyślną jest1. Akceptowane wartości to1i2. Więcej informacji znajdziesz w sekcji Wartości skali.format(opcjonalny) określa format wynikowego obrazu. Domyślnie interfejs Maps Static API tworzy obrazy PNG. Dostępnych jest kilka formatów, w tym GIF, JPEG i PNG. Użyty format zależy od tego, jak chcesz zaprezentować obraz. JPEG zwykle zapewnia większą kompresję, a GIF i PNG – większą szczegółowość. Więcej informacji znajdziesz w artykule Formaty plików graficznych.maptype(opcjonalny) określa typ mapy do utworzenia. Istnieje kilka możliwych wartości maptype, w tymroadmap,satellite,hybriditerrain. Więcej informacji znajdziesz w artykule Typy map w Maps Static API.colorscheme(opcjonalny) określa schemat kolorów mapy. Akceptowane wartości tolight(domyślna) idark. Ciemny schemat kolorów dotyczy typów maproadmapiterrain. Więcej informacji znajdziesz w artykule Tryby i typy map.language(opcjonalny) określa język, w którym mają być wyświetlane etykiety na kafelkach mapy. Pamiętaj, że ten parametr jest obsługiwany tylko w przypadku niektórych kafelków kraju. Jeśli dany język nie jest obsługiwany w przypadku zestawu kafelków, zostanie użyty domyślny język tego zestawu.region(opcjonalny) określa odpowiednie granice do wyświetlenia na podstawie uwarunkowań geopolitycznych. Akceptuje kod regionu określony jako dwuznakowa wartość ccTLD („domena najwyższego poziomu”). Obsługiwane regiony znajdziesz w szczegółach zasięgu Google Maps Platform.
Parametry funkcji
map_id(opcjonalny) określa identyfikator konkretnej mapy. Identyfikator mapy wiąże mapę z określonym stylem lub funkcją i musi należeć do tego samego projektu co klucz interfejsu API używany do inicjowania mapy. Więcej informacji znajdziesz w artykule Używanie identyfikatorów map.markers(opcjonalnie) definiuje co najmniej 1 znacznik, który ma zostać dołączony do obrazu w określonych lokalizacjach. Ten parametr przyjmuje pojedynczą definicję znacznika z parametrami oddzielonymi znakiem kreski pionowej (|). W ramach tego samego parametrumarkersmożna umieścić wiele znaczników, o ile mają ten sam styl. Możesz dodać kolejne znaczniki o różnych stylach, dodając kolejne parametrymarkers. Pamiętaj, że jeśli podasz znaczniki mapy, nie musisz określać parametrówcenterizoom(które zwykle są wymagane). Więcej informacji znajdziesz w artykule Znaczniki interfejsu Maps Static API.path(opcjonalny) definiuje pojedynczą ścieżkę składającą się z co najmniej 2 połączonych punktów, która ma zostać nałożona na obraz w określonych lokalizacjach. Ten parametr przyjmuje ciąg definicji punktów rozdzielonych znakiem kreski pionowej (|) lub zakodowaną linię łamaną z prefiksemenc:w deklaracji lokalizacji ścieżki. Możesz podać dodatkowe ścieżki, dodając kolejne parametrypath. Pamiętaj, że jeśli podasz ścieżkę do mapy, nie musisz określać (zwykle wymaganych) parametrówcenterizoom. Więcej informacji znajdziesz w artykule Ścieżki w Maps Static API.visible(opcjonalny) określa co najmniej 1 lokalizację, która powinna pozostać widoczna na mapie, chociaż nie będą wyświetlane żadne znaczniki ani inne wskaźniki. Użyj tego parametru, aby mieć pewność, że określone funkcje lub lokalizacje na mapie są wyświetlane w Maps Static API.style(opcjonalny) definiuje styl niestandardowy, który zmienia sposób prezentacji określonego elementu mapy (dróg, parków i innych obiektów). Ten parametr przyjmuje argumentyfeatureielement, które określają elementy do stylizacji, oraz zestaw operacji stylizacji, które mają zostać zastosowane do wybranych elementów. Możesz podać wiele stylów, dodając kolejne parametrystyle. Więcej informacji znajdziesz w przewodniku po mapach z własnym stylem.
Parametry klucza i podpisu
key(wymagany) umożliwia monitorowanie wykorzystania interfejsu API aplikacji w konsoli Google Cloud i zapewnia, że w razie potrzeby Google może skontaktować się z Tobą w sprawie aplikacji. Więcej informacji znajdziesz w artykule Używanie kluczy interfejsu API z Maps Static API.signature(zalecany) to podpis cyfrowy używany do sprawdzania, czy każda witryna generująca żądania za pomocą Twojego klucza interfejsu API ma do tego uprawnienia. Żądania bez podpisu cyfrowego mogą się nie powieść. Więcej informacji znajdziesz w artykule Używanie podpisu cyfrowego.
Ograniczenie rozmiaru adresu URL
Adresy URL interfejsu Maps Static API mogą mieć maksymalnie 16 384 znaki. W praktyce prawdopodobnie nie będziesz potrzebować adresów URL dłuższych niż ta wartość, chyba że tworzysz skomplikowane mapy z dużą liczbą znaczników i ścieżek.
Użycie parametrów
Interfejs Maps Static API jest stosunkowo łatwy w użyciu, ponieważ składa się wyłącznie ze sparametryzowanego adresu URL. W tej sekcji wyjaśniamy, jak używać tych parametrów do tworzenia adresów URL.
Określanie lokalizacji
Interfejs Maps Static API musi być w stanie precyzyjnie identyfikować lokalizacje na mapie, aby ustawić mapę na właściwą lokalizację (za pomocą parametru center) lub umieścić na mapie opcjonalne oznaczenia miejsc (za pomocą parametru markers). Maps Static API używa liczb (wartości szerokości i długości geograficznej) lub ciągów znaków (adresów) do określania tych lokalizacji. Te wartości identyfikują lokalizację z kodem geograficznym.
Kilka parametrów (takich jak markers i path) może przyjmować wiele lokalizacji. W takich przypadkach lokalizacje są rozdzielone znakiem kreski pionowej (|).
szerokości i długości geograficzne,
Szerokość i długość geograficzna są określane za pomocą liczb w ciągu tekstowym rozdzielonym przecinkami, z dokładnością do 6 miejsc po przecinku. Na przykład „40.714728,-73.998672” to prawidłowa wartość kodu geograficznego. Dokładność powyżej 6 miejsc po przecinku jest ignorowana.
Wartości długości geograficznej są oparte na odległości od Greenwich w Anglii, gdzie znajduje się południk zerowy. Ponieważ Greenwich znajduje się na szerokości geograficznej 51,477222, możemy wpisać wartość center równą 51.477222,0, aby wyśrodkować mapę na Greenwich:
Wartości szerokości i długości geograficznej muszą odpowiadać prawidłowej lokalizacji na powierzchni Ziemi. Szerokość geograficzna może mieć dowolną wartość z zakresu od -90 do 90, a długość geograficzna – od -180 do 180. Jeśli podasz nieprawidłową wartość szerokości lub długości geograficznej, żądanie zostanie odrzucone jako nieprawidłowe.
Adresy
Większość ludzi nie podaje szerokości i długości geograficznej, tylko określa lokalizacje za pomocą adresów. Proces przekształcania adresu w punkt geograficzny jest nazywany geokodowaniem. Usługa Maps Static API może wykonać geokodowanie, jeśli podasz prawidłowe adresy.
W każdym parametrze, w którym możesz podać szerokość i długość geograficzną, możesz zamiast tego podać ciąg znaków wskazujący adres. Google zakoduje geograficznie adres i udostępni usłudze Maps Static API wartość szerokości i długości geograficznej, która zostanie użyta do umieszczenia znaczników lub określenia lokalizacji. Ciąg znaków powinien być zakodowany w adresie URL, więc adresy takie jak „City Hall, New York, NY” powinny zostać przekonwertowane na przykład na „City+Hall,New+York,NY”.
Pamiętaj, że adresy mogą odzwierciedlać dokładne lokalizacje, takie jak adresy ulic, linie łamane, takie jak nazwane trasy, lub obszary wielokątne, takie jak miasta, kraje lub parki narodowe. W przypadku wyników w postaci linii łamanych i wielokątów serwer Maps Static API użyje środkowego punktu linii lub obszaru jako środka adresu. Jeśli masz wątpliwości, jak adres może zostać zakodowany geograficznie, możesz go przetestować za pomocą tego narzędzia do geokodowania.
Ten przykład generuje statyczny obraz mapy dla Berkeley w Kalifornii:
https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Poziomy powiększenia
Mapy w Mapach Google mają liczbę całkowitą „poziom powiększenia”, która określa rozdzielczość bieżącego widoku. W domyślnym widoku roadmap dostępne są poziomy powiększenia od 0 (najniższy poziom powiększenia, na którym cały świat jest widoczny na jednej mapie) do 21+ (widoczne są ulice i poszczególne budynki). Kontury budynków, jeśli są dostępne, pojawiają się na mapie przy poziomie powiększenia 17. Wartość ta różni się w zależności od obszaru i może się zmieniać w miarę rozwoju danych.
W Mapach Google poziom powiększenia 0 obejmuje całą kulę ziemską.
Każdy kolejny poziom powiększenia podwaja precyzję zarówno w wymiarze poziomym, jak i pionowym. Więcej informacji o tym, jak to zrobić, znajdziesz w dokumentacji interfejsu Google Maps JavaScript API.
Uwaga: nie wszystkie poziomy powiększenia są dostępne we wszystkich lokalizacjach na Ziemi. Poziomy powiększenia różnią się w zależności od lokalizacji, ponieważ dane w niektórych częściach świata są bardziej szczegółowe niż w innych.
Jeśli wyślesz żądanie dotyczące poziomu powiększenia, dla którego nie ma kafelków mapy, interfejs Maps Static API zwróci pusty obraz.
Poniższa lista zawiera przybliżony poziom szczegółowości, którego możesz się spodziewać na każdym poziomie powiększenia:
- 1: Świat
- 5. Ląd/kontynent
- 10: miasto,
- 15: Ulice
- 20: Budynki
W tym przykładzie żądane są 2 mapy Manhattanu z tą samą wartością center, ale z poziomami powiększenia odpowiednio 12 i 14:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Rozmiary obrazów
Parametr size w połączeniu z center określa obsługiwany obszar mapy. Określa też rozmiar wyjściowy mapy w pikselach po pomnożeniu przez wartość scale (która domyślnie wynosi 1).
Ta tabela zawiera maksymalne dozwolone wartości parametru size dla każdej wartości scale.
scale=1 |
scale=2 |
|---|---|
640x640 |
640x640 (zwraca 1280 x 1280 pikseli) |
W tym przykładzie żądany jest „wycinek” Ziemi na równiku przy poziomie powiększenia 1:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=400x50&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
W tym przykładzie żądana jest mała mapa o rozmiarze 100 x 100 pikseli wyśrodkowana na tym samym regionie. Zwróć uwagę na mniejsze logo Google:
https://maps.googleapis.com/maps/api/staticmap?center=0,0&zoom=1&size=100x100&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Wartości skali
Parametr size interfejsu Maps Static API określa rozmiar mapy w pikselach, więc mapa z parametrem size=200x200 będzie miała rozmiar 200 x 200 pikseli. Na monitorze LCD, który zwykle wyświetla około 100 pikseli na cal (ppi), mapa o wymiarach 200 x 200 będzie miała około 2 cale w każdym wymiarze.
Jednak urządzenia mobilne coraz częściej mają ekrany o wysokiej rozdzielczości i gęstości pikseli powyżej 300 ppi, które:
- zmniejszyć rozmiar obrazu o wymiarach 200 × 200 pikseli do zaledwie 0,7 cala, przez co etykiety i ikony będą zbyt małe, aby można je było odczytać;
- skalowanie (powiększanie) obrazu w celu poprawy czytelności, co powoduje, że obraz jest rozmyty lub rozpikselowany;
| Za małe | Zbyt niewyraźne |
|---|---|
![]() |
![]() |
Podczas tworzenia aplikacji na urządzenia mobilne możesz użyć parametru scale interfejsu API, aby zwracać obrazy map o wyższej rozdzielczości, które rozwiązują powyższe problemy. Wartość scale jest mnożona przez size, aby określić rzeczywisty rozmiar wyjściowy obrazu w pikselach bez zmiany obsługiwanego obszaru mapy. Domyślna wartość scale to 1. Akceptowane wartości to 1 i 2.
Na przykład wartość skali równa 2 zwróci ten sam obsługiwany obszar mapy co żądanie bez określonej skali, ale z dwukrotnie większą liczbą pikseli w każdym wymiarze. Obejmuje to drogi i etykiety, dzięki czemu są one czytelne na ekranach o wysokiej rozdzielczości i niewielkich rozmiarach, a także po przeskalowaniu przez przeglądarkę.
| 150 x 150 | 150x150&scale=2 |
|---|---|
![]() |
![]() |
Taki obraz będzie też dobrze wyglądać w przeglądarkach na komputerach, gdy zostanie wstawiony do tagu img lub div z wysokością i szerokością ustawionymi za pomocą CSS. Przeglądarka zmniejszy obraz do odpowiedniego rozmiaru bez utraty jakości.
Tabela przedstawia 3 różne żądania obrazu.
- Pierwszy dotyczy obrazu o wymiarach 100 × 100 bez określonej wartości skali. Wyświetla się prawidłowo na komputerze, ale jest zbyt mała, aby można ją było odczytać na urządzeniu mobilnym.
- Drugi podwaja rozmiar mapy. Na komputerze CSS dopasowuje go do określonego elementu
imgo wymiarach 100 x 100, ale po zmniejszeniu obrazu drogi i etykiety stają się zbyt małe. Na urządzeniu mobilnym obraz ma odpowiedni rozmiar, ale drogi i etykiety są nieczytelne. - Trzecie żądanie dotyczy mapy o wymiarach 100 x 100 z
scale=2. Obraz jest zwracany z rozdzielczością 200 pikseli. Na komputerze jest on idealnie przeskalowany, dzięki czemu nie można go odróżnić od oryginalnego żądania 100 x 100, a przeglądarka mobilna korzysta z dodatkowej rozdzielczości zwracanej przez interfejs API.
| Żądania obrazów | |||
|---|---|---|---|
| Urządzenie | 100x100 |
200x200 |
100x100&scale=2 |
| Komputer (z height="100px" i width="100px" w taguimg) |
![]() |
![]() |
![]() |
| Wysoka rozdzielczość (symulacja) |
![]() |
![]() |
![]() |
Więcej informacji o tworzeniu aplikacji na urządzenia mobilne i wyświetlacze o wysokiej rozdzielczości znajdziesz w tych artykułach:
- Obsługa wielu ekranów w dokumentacji dla deweloperów aplikacji na Androida.
- Zalecenia Webkit.org dotyczące tworzenia witryn o wysokiej rozdzielczości.
- Supporting High-Resolution Screens (Obsługa ekranów o wysokiej rozdzielczości) w bibliotece dla deweloperów iOS.
Formaty plików graficznych
Obrazy mogą być zwracane w kilku popularnych formatach grafiki internetowej: GIF, JPEG i PNG. Parametr format przyjmuje jedną z tych wartości:
png8lubpng(domyślnie) określa 8-bitowy format PNG.png32określa 32-bitowy format PNG.gifokreśla format GIF.jpgokreśla format kompresji JPEG.jpg-baselineokreśla format kompresji JPEG bez progresywnego kodowania.
Te przykłady żądają map w formatach gif i png:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=gif&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&format=png&&zoom=14&size=400x400&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Formaty jpg i jpg-baseline zwykle zapewniają najmniejszy rozmiar obrazu, ale robią to za pomocą kompresji stratnej, która może pogorszyć jakość obrazu. gif, png8 i png32
zapewniają kompresję bezstratną.
Większość obrazów JPEG jest progresywna, co oznacza, że najpierw wczytują obraz o niższej jakości, a następnie poprawiają jego rozdzielczość w miarę napływu kolejnych danych. Dzięki temu obrazy mogą być szybko wczytywane na stronach internetowych. Jest to obecnie najczęstsze zastosowanie formatu JPEG. Jednak niektóre zastosowania formatu JPEG wymagają obrazów nieprogresywnych (podstawowych). W takich przypadkach możesz użyć formatu jpg-baseline, który nie jest progresywny.
Typy map
Maps Static API tworzy mapy w kilku formatach wymienionych poniżej:
roadmap(domyślna) – określa standardowy obraz mapy drogowej, taki jak zwykle wyświetlany w witrynie Map Google. Jeśli nie podasz wartościmaptype, interfejs Maps Static API będzie domyślnie wyświetlać kafelkiroadmap.satelliteokreśla zdjęcie satelitarne.terrainokreśla obraz fizycznej mapy reliefowej, pokazującej ukształtowanie terenu i roślinność.hybridokreśla hybrydę zdjęcia satelitarnego i mapy drogowej, pokazując przezroczystą warstwę głównych ulic i nazw miejsc na zdjęciu satelitarnym.
Różnicę między typami mapy drogowej i terenu możesz zobaczyć w tym przykładowym kodzie.
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=roadmap&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=terrain&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Mapy hybrydowe wykorzystują zdjęcia satelitarne i najważniejsze elementy mapy drogowej, aby utworzyć mapę łączoną. Poniższe przykłady pokazują typy map satelitarnych i hybrydowych:
https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=satellite&key=YOUR_API_KEY&signature=YOUR_SIGNATURE https://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&zoom=12&size=400x400&maptype=hybrid&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Mapy z własnym stylem
Dostosuj wygląd standardowej mapy Google, stosując własne style. Zapoznaj się z przewodnikiem po mapach z własnym stylem.
Znaczniki
Parametr markers definiuje zbiór co najmniej 1 znacznika (pinezek mapy) w zbiorze lokalizacji. Każdy znacznik zdefiniowany w ramach jednej deklaracji markers musi mieć ten sam styl wizualny. Jeśli chcesz wyświetlać znaczniki o różnych stylach, musisz podać wiele parametrów markers z osobnymi informacjami o stylu.
Parametr markers przyjmuje zestaw przypisań wartości (deskryptorów znaczników) w tym formacie:
markers=markerStyles|markerLocation1|
markerLocation2|... itd.
Zbiór markerStyles jest deklarowany na początku deklaracji markers i składa się z co najmniej 1 deskryptora stylu rozdzielonego znakiem kreski pionowej (|), po którym następuje zbiór co najmniej 1 lokalizacji, również rozdzielonych znakiem kreski pionowej (|).
Zarówno informacje o stylu, jak i informacje o lokalizacji są rozdzielane znakiem kreski pionowej, dlatego informacje o stylu muszą pojawiać się jako pierwsze w każdym deskryptorze znacznika. Gdy serwer Maps Static API napotka lokalizację w deskryptorze znacznika, wszystkie pozostałe parametry znacznika są również traktowane jako lokalizacje.
Style znaczników
Zestaw deskryptorów stylu znacznika to seria przypisań wartości rozdzielonych pionową kreską (|). Ten deskryptor stylu definiuje atrybuty wizualne, które mają być używane podczas wyświetlania znaczników w tym deskryptorze znaczników. Te deskryptory stylu zawierają następujące przypisania kluczy i wartości:
size:(opcjonalny) określa rozmiar znacznika ze zbioru{tiny, mid, small}. Jeśli nie ustawisz parametrusize, znacznik będzie miał domyślny (normalny) rozmiar.color:(opcjonalny) określa 24-bitowy kolor (przykład:color=0xFFFFCC) lub wstępnie zdefiniowany kolor ze zbioru{black, brown, green, purple, yellow, blue, gray, orange, red, white}.Pamiętaj, że przezroczystość (określana za pomocą 32-bitowych szesnastkowych kodów kolorów) nie jest obsługiwana w przypadku znaczników, ale jest obsługiwana w przypadku ścieżek.
label:(opcjonalnie) określa pojedynczy wielki znak alfanumeryczny ze zbioru {A–Z, 0–9}. (Wymóg dotyczący wielkich liter jest nowy w tej wersji interfejsu API). Pamiętaj, że tylko znaczniki o rozmiarze domyślnym imidmogą wyświetlać parametralphanumeric-character. Znacznikitinyismallnie mogą wyświetlać znaków alfanumerycznych.
Skalowanie znaczników
Wartość scale jest mnożona przez rozmiar obrazu znacznika, aby uzyskać rzeczywisty rozmiar wyjściowy znacznika w pikselach. Domyślna wartość skali to 1. Akceptowane wartości to 1, 2 i 4.
Limit rozmiaru obrazów w pikselach obowiązuje po zastosowaniu skalowania. Jeśli na przykład znacznik jest ustawiony na scale:2, może być większy niż maksymalny rozmiar 4096 pikseli, o ile po przeskalowaniu zostanie zmniejszony do mniej niż 4096 pikseli. Podczas wyświetlania map o wyższej rozdzielczości używaj skalowania znaczników w połączeniu ze skalowaniem mapy.
Lokalizacje znaczników
Każdy deskryptor znacznika musi zawierać zestaw co najmniej 1 lokalizacji określającej, gdzie umieścić znacznik na mapie. Lokalizacje te można określić jako wartości szerokości i długości geograficznej lub jako adresy. Te lokalizacje są rozdzielone znakiem kreski pionowej (|).
Uwaga: jeśli zdecydujesz się określić lokalizacje znaczników za pomocą metody, która wymaga geokodowania, np. zrozumiałe dla człowieka ciągi adresowe lub linie łamane, żądanie jest ograniczone do maksymalnie 15 znaczników. Ten limit dotyczy tylko lokalizacji znaczników, które wymagają geokodowania. Nie dotyczy to lokalizacji znaczników określonych za pomocą współrzędnych geograficznych.
Parametry lokalizacji określają położenie znacznika na mapie. Jeśli lokalizacja znajduje się poza mapą, znacznik nie pojawi się na utworzonym obrazie, pod warunkiem że podano parametry center i zoom. Jeśli jednak te parametry nie zostaną podane, serwer Maps Static API automatycznie utworzy obraz zawierający podane znaczniki.
(patrz Pozycjonowanie niejawne).
Poniżej znajduje się przykładowa deklaracja znacznika. Zwróć uwagę, że definiujemy jeden zestaw stylów i 3 lokalizacje:
https://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&zoom=13&size=400x400& markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Aby zdefiniować znaczniki o różnych stylach, musimy podać kilka parametrów markers. Ten zestaw parametrów markers definiuje 3 znaczniki: niebieski oznaczony literą „S” o współrzędnych 62.107733, -145.5419, mały zielony oznaczony jako „Delta Junction, AK” i średni żółty oznaczony literą „C” i opisany jako „Tok, AK”. Te znaczniki są widoczne w tym przykładzie:
https://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&zoom=6&size=400x400 &markers=color:blue%7Clabel:S%7C62.107733,-145.541936&markers=size:tiny%7Ccolor:green%7CDelta+Junction,AK &markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK"&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Ikony niestandardowe
Zamiast ikon znaczników Google możesz używać własnych ikon niestandardowych. Ikony niestandardowe są określane za pomocą deskryptora icon w parametrze markers. Na przykład:
markers=icon:URLofIcon|markerLocation
Określ icon za pomocą adresu URL (który powinien być zakodowany). Możesz używać adresów URL utworzonych przez usługi skracania adresów URL, takie jak https://goo.gl. Większość usług skracania adresów URL automatycznie koduje adresy URL.
Możesz określić punkt zakotwiczenia ikony niestandardowej. Punkt zakotwiczenia określa, jak ikona jest umieszczana w stosunku do określonych lokalizacji markers. Domyślnie punktem zakotwiczenia ikony niestandardowej jest dolny środek obrazu ikony. Możesz określić inny punkt zakotwiczenia, używając deskryptora anchor w połączeniu z icon. Ustaw anchor jako punkt x,y ikony (np. 10,5) lub jako wstępnie zdefiniowane wyrównanie, używając jednej z tych wartości: top, bottom, left, right, center, topleft, topright, bottomleft lub bottomright. Na przykład:
markers=anchor:bottomright|icon:URLofIcon|markerLocation1|markerLocation2
W każdej prośbie możesz użyć maksymalnie 5 unikalnych ikon niestandardowych. To ograniczenie nie oznacza, że na mapie możesz mieć tylko 5 oznaczonych lokalizacji. Każda unikalna ikona może być używana z więcej niż 1 lokalizacją markers na mapie.
Format ikony:
- Obrazy ikon mogą być w formacie PNG, JPEG lub GIF, ale zalecany jest format PNG.
- Ikony mogą mieć maksymalnie 4096 pikseli (64 x 64 w przypadku obrazów kwadratowych).
Przykłady ikon niestandardowych
Przykład 1 tworzy ikony niestandardowe i pozycjonuje je za pomocą punktów zakotwiczenia.
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=anchor:32,10%7Cicon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=anchor:topleft%7Cicon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=anchor:topright%7Cicon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY &signature=YOUR_SIGNATURE
Przykład 2 tworzy te same ikony niestandardowe co przykład 1, ale nie ustawia ich pozycji za pomocą kotwic, lecz korzysta z domyślnej kotwicy na dole pośrodku.
https://maps.googleapis.com/maps/api/staticmap?&size=600x400&style=visibility:on &style=feature:water%7Celement:geometry%7Cvisibility:on &style=feature:landscape%7Celement:geometry%7Cvisibility:on &markers=icon:https://goo.gl/5y3S82%7CCanberra+ACT &markers=icon:http://tinyurl.com/jrhlvu6%7CMelbourne+VIC &markers=icon:https://goo.gl/1oTJ9Y%7CSydney+NSW&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Ścieżki Maps Static API
Parametr path definiuje zbiór co najmniej 1 lokalizacji połączonych ścieżką, która ma zostać nałożona na obraz mapy. Parametr path przyjmuje zestaw przypisań wartości (deskryptorów ścieżki) w tym formacie:
path=pathStyles|pathLocation1|pathLocation2|... itd.
Zwróć uwagę, że oba punkty ścieżki są oddzielone od siebie znakiem kreski pionowej (|). Ponieważ zarówno informacje o stylu, jak i informacje o punktach są rozdzielane znakiem kreski pionowej, informacje o stylu muszą pojawić się jako pierwsze w każdym deskryptorze ścieżki. Gdy serwer Maps Static API napotka lokalizację w deskryptorze ścieżki, wszystkie pozostałe parametry ścieżki również zostaną uznane za lokalizacje.
Style ścieżek
Zestaw deskryptorów stylu ścieżki to seria przypisań wartości rozdzielonych pionową kreską (|). Ten deskryptor stylu definiuje atrybuty wizualne, które mają być używane podczas wyświetlania ścieżki. Te deskryptory stylu zawierają następujące przypisania kluczy i wartości:
weight:(opcjonalnie) określa grubość ścieżki w pikselach. Jeśli nie ustawisz parametruweight, ścieżka będzie miała domyślną grubość (5 pikseli).color:(opcjonalny) określa kolor jako 24-bitową (np.color=0xFFFFCC) lub 32-bitową wartość szesnastkową (np.color=0xFFFFCCFF) albo ze zbioru{black, brown, green, purple, yellow, blue, gray, orange, red, white}.Jeśli podana jest 32-bitowa wartość szesnastkowa, ostatnie 2 znaki określają 8-bitową wartość przezroczystości alfa. Ta wartość może wynosić od
00(pełna przezroczystość) doFF(pełna nieprzezroczystość). Pamiętaj, że przezroczystość jest obsługiwana w przypadku ścieżek, ale nie znaczników.fillcolor:(opcjonalny) wskazuje, że ścieżka wyznacza obszar wielokąta, i określa kolor wypełnienia, który ma być używany jako nakładka w tym obszarze. Zbiór lokalizacji nie musi być „zamkniętą” pętlą. Serwer Maps Static API automatycznie połączy pierwszy i ostatni punkt. Pamiętaj jednak, że obrys na zewnątrz wypełnionego obszaru nie zostanie zamknięty, chyba że wyraźnie podasz tę samą lokalizację początkową i końcową.geodesic:(opcjonalnie) wskazuje, że żądana ścieżka powinna być interpretowana jako linia geodezyjna, która podąża za krzywizną Ziemi. W przypadku wartości false (fałsz) ścieżka jest renderowana jako linia prosta w przestrzeni ekranu. Wartość domyślna to fałsz.
Przykładowe definicje ścieżek:
- Cienka niebieska linia, 50% nieprzezroczystości:
path=color:0x0000ff80|weight:1 - Ciągła czerwona linia:
path=color:0xff0000ff|weight:5 - Gruba, ciągła biała linia:
path=color:0xffffffff|weight:10
Te style ścieżek są opcjonalne. Jeśli chcesz użyć domyślnych atrybutów, możesz pominąć definiowanie atrybutów ścieżki. W takim przypadku pierwszym „argumentem” deskryptora ścieżki będzie pierwszy zadeklarowany punkt (lokalizacja).
Punkty ścieżki
Aby narysować ścieżkę, do parametru path należy przekazać co najmniej 2 punkty. Maps Static API połączy wtedy ścieżkę wzdłuż tych punktów w określonej kolejności. Każdy punkt pathPoint jest oznaczony w parametrze pathDescriptor i oddzielony znakiem | (pionowa kreska).
Poniższy przykład definiuje niebieską ścieżkę z domyślnym kryciem 50% od Union Square NY do Times Square, NY.
Szczegóły parametru path:
path=color:0x0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
W przykładzie poniżej zdefiniowano tę samą ścieżkę, ale jako ciągłą czerwoną linię o kryciu 100%:
Szczegóły parametru path:
path=color:0xff0000ff|weight:5|40.737102,-73.990318|40.749825,-73.987963|40.752946,-73.987384|40.755823,-73.986397
W następnym przykładzie zdefiniowano obszar wielokąta na Manhattanie, przekazując serię skrzyżowań jako lokalizacje:
Szczegóły parametru path:
path=color:0x00000000|weight:5|fillcolor:0xFFFF0033|8th+Avenue+%26+34th+St,New+York,NY|\ 8th+Avenue+%26+42nd+St,New+York,NY|Park+Ave+%26+42nd+St,New+York,NY,NY|\ Park+Ave+%26+34th+St,New+York,NY,NY
Zwróć uwagę, że ścieżka jest niewidoczna, a obszar wielokąta ma przezroczystość 15%.
Zakodowane linie łamane
Zamiast serii lokalizacji możesz zadeklarować ścieżkę jako zakodowaną linię łamaną, używając prefiksu enc: w deklaracji lokalizacji path.
Poniższy przykład przedstawia przebieg autostrady Alaska Highway od Dawson Creek w Kolumbii Brytyjskiej do Delta Junction na Alasce za pomocą zakodowanej linii łamanej:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=59.900503,-135.478011&zoom=4 &path=weight:3%7Ccolor:orange%7Cenc:_fisIp~u%7CU%7D%7Ca@pytA_~b@hhCyhS~hResU%7C%7Cx@oig@rwg@amUfbjA%7Df%5BroaAynd@%7CvXxiAt%7BZwdUfbjAewYrqGchH~vXkqnAria@c_o@inc@k%7Bg@i%60%5Do%7CF%7DvXaj%5Ch%60%5Dovs@?yi_@rcAgtO%7Cj_AyaJren@nzQrst@zuYh%60%5Dv%7CGbldEuzd@%7C%7Cx@spD%7CtrAzwP%7Cd_@yiB~vXmlWhdPez%5C_%7BKm_%60@~re@ew%5ErcAeu_@zhyByjPrst@ttGren@aeNhoFemKrvdAuvVidPwbVr~j@or@f_z@ftHr%7BZlwBrvdAmtHrmT%7BrOt%7BZz%7DE%7Cc%7C@o%7CLpn~AgfRpxqBfoVz_iAocAhrVjr@rh~@jzKhjp@%60%60NrfQpcHrb%5Ek%7CDh_z@nwB%7Ckb@a%7BR%7Cyh@uyZ%7CllByuZpzw@wbd@rh~@%7C%7CFhqs@teTztrAupHhyY%7Dt%5Dhuf@e%7CFria@o%7DGfezAkdW%7C%7D%5BocMt_Neq@ren@e~Ika@pgE%7Ci%7CAfiQ%7C%60l@uoJrvdAgq@fppAsjGhg%60@%7ChQpg%7BAi_V%7C%7Cx@mkHhyYsdP%7CxeA~gF%7C%7D%5Bmv%60@t_NitSfjp@c%7DMhg%60@sbChyYq%7De@rwg@atFff%7D@ghN~zKybk@fl%7DA%7DcPftcAite@tmT__Lha@u~DrfQi%7DMhkSqyWivIumCria@ciO_tHifm@fl%7DA%7Brc@fbjAqvg@rrqAcjCf%7Ci@mqJtb%5Es%7C@fbjA%7BwDfs%60BmvEfqs@umWt_Nwn%5Epen@qiBr%60xAcvMr%7BZidg@dtjDkbM%7Cd_@ &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Podobnie jak w przypadku ścieżek standardowych, zakodowane ścieżki linii łamanej mogą też wyznaczać obszary wielokątne, jeśli do parametru path zostanie przekazany argument fillcolor.
Poniższy przykład przedstawia obszar wielokąta dla Brooklynu w Nowym Jorku:
https://maps.googleapis.com/maps/api/staticmap ?size=400x400¢er=40.653279,-73.959816&zoom=11 &path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7Cenc:%7DzswFtikbMjJzZ%7CRdPfZ%7DDxWvBjWpF~IvJnEvBrMvIvUpGtQpFhOQdKpz%40bIx%7BA%7CPfYlvApz%40bl%40tcAdTpGpVwQtX%7Di%40%7CGen%40lCeAda%40bjA%60q%40v%7D%40rfAbjA%7CEwBpbAd_%40he%40hDbu%40uIzWcWtZoTdImTdIwu%40tDaOXw_%40fc%40st%40~VgQ%7C%5BuPzNtA%60LlEvHiYyLs%5EnPhCpG%7DSzCNwHpz%40cEvXg%40bWdG%60%5DlL~MdTmEnCwJ%5BiJhOae%40nCm%5B%60Aq%5DqE_pAaNiyBuDurAuB%7D%7DAy%60%40%7CEKv_%40%3F%7C%5BqGji%40lAhYyH%60%40Xiw%40tBerAs%40q%5DjHohAYkSmW%3FaNoaAbR%7DLnPqNtMtIbRyRuDef%40eT_z%40mW_Nm%7CB~j%40zC~hAyUyJ_U%7BZ%3F%3FcPvg%40%7Ds%40sHsc%40_z%40cj%40kp%40YePoNyYyb%40_iAyb%40gBw%5EbOokArcA%7DGwJuzBre%40i%5Ctf%40sZnd%40oElb%40hStW%7B%5Dvv%40%3F%3Fkz%40~vAcj%40zKa%60Atf%40uQj_Aee%40pU_UrcA &key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Widoczne obszary
Obrazy mogą określać widoczny obszar przez podanie widocznych lokalizacji za pomocą parametru visible. Parametr visible instruuje usługę Maps Static API, aby utworzyła mapę, na której istniejące lokalizacje pozostaną widoczne. (Ten parametr można połączyć z istniejącymi znacznikami lub ścieżkami, aby zdefiniować widoczny region). Zdefiniowanie widocznego obszaru w ten sposób eliminuje konieczność określania dokładnego poziomu powiększenia.
Kolejny przykład żąda mapy wyśrodkowanej na Bostonie (Massachusetts) i zawierającej zarówno MIT, jak i Harvard Square w Cambridge (Massachusetts):
https://maps.googleapis.com/maps/api/staticmap?center=Boston,MA &visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&size=512x512&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Pozycjonowanie domyślne mapy
Zwykle musisz określić parametry adresu URL center i zoom, aby zdefiniować lokalizację i poziom powiększenia wygenerowanej mapy.
Jeśli jednak podasz parametry markers, path lub visible, możesz pozwolić interfejsowi Maps Static API na niejawne określenie prawidłowego środka i poziomu powiększenia na podstawie oceny pozycji tych elementów.
Jeśli podasz co najmniej 2 elementy, interfejs Maps Static API określi odpowiedni środek i poziom powiększenia, zapewniając duże marginesy dla zawartych elementów. Ten przykład pokazuje mapę obejmującą San Francisco, Oakland i San Jose w Kalifornii:
https://maps.googleapis.com/maps/api/staticmap?size=512x512&maptype=roadmap\ &markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Większe rozmiary obrazów
Jeśli potrzebujesz obrazów o rozmiarze większym niż 640 x 640 pikseli (lub 1280 x 1280 pikseli przy wartości skali 2), skontaktuj się z zespołem pomocy i podaj te informacje:
- przypadek użycia i powód, dla którego potrzebujesz obrazów o dużym rozmiarze;
- Czy rozważasz użycie innych interfejsów API Google Maps Platform (Maps JavaScript API, Maps Embed API, Maps SDK na Androida lub Maps SDK na iOS) i dlaczego nie spełniają one Twoich potrzeb.
- Zrzuty ekranu, makiety lub przykłady pokazujące, jak będziesz używać obrazów o dużym rozmiarze.
- Szacowane miesięczne wykorzystanie obrazów o dużym rozmiarze.
Rozpatrzymy Twoją prośbę na podstawie podanych przez Ciebie informacji i ustalimy, czy Twój przypadek użycia jest zgodny z Warunkami korzystania z usługi Google Maps Platform.
Maksymalny rozmiar, jaki możemy udostępnić, to 2048 x 2048 pikseli.
Rozwiązywanie problemów i pomoc
Więcej informacji o korzystaniu z Maps Static API znajdziesz na stronie pomocy.
Jeśli coś pójdzie nie tak, interfejs Maps Static API może wyświetlić błąd lub ostrzeżenie. Ostrzeżenia należy sprawdzać zwłaszcza wtedy, gdy zauważysz, że na mapie czegoś brakuje. Przed uruchomieniem nowej aplikacji warto też sprawdzić, czy nie ma ostrzeżeń. Pamiętaj, że ostrzeżenia mogą nie być od razu widoczne, ponieważ pojawiają się w nagłówku HTTP. Więcej informacji znajdziesz w przewodniku po błędach i ostrzeżeniach.







