Google Static Maps API, czyli mapy statyczne są dość młodym produktem (pojawiły się rok temu) i Google cały czas usprawnia ich użycie i dodaje nowe funkcjonalności. Produkt ten okazał się strzałem w dziesiątkę i bardzo szybko zdobył uznanie developerów swoją prostotą.
O co chodzi i jak to działa ? Idea była bardzo prosta. Wielu developerów narzekało na to, że serwisy z mapami ładowały się bardzo wolno i chciało efektywniejszego i bardziej wydajnego dostępu do prostych map zawierających przykładowo tylko mapę z lokalizacją obiektu. Regulamin Google od początku zabraniał pobierania samych obrazków wyświetlanych na mapach, tak więc pozostawało nam ładowanie sporego skryptu mapy tylko po to, aby wyświetlić mapę z jednym markerem.
W końcu jednak Google posłuchało developerów i ogłosiło powstanie usługi Google Static Maps. Usługa ta polega na generowaniu przez Google pojedynczego obrazka z mapą na podstawie podanych lokalizacji, który możemy umieścić na naszej stronie, bez konieczności ładowania całej interaktywnej mapy. Dzięki temu strona zyskała na szybkości ładowania i możliwe okazało się proste tworzenie stron mobilnych z mapami, które nie narażają naszych użytkowników na wysokie koszty.
Początkowo możliwości API były dość ograniczone, ale i tak spotkały się z entuzjastycznym odbiorem. Obecnie, po roku istnienia na rynku, są one imponujące:
- wybór między mapami: ulicy, satelitarną, terenową, hybrydową
- określenie wielkości, formatu (PNG,GIF,JPEG) i języka mapy
- określenie współrzędnych środka i przybliżenia mapy
- dodawanie do mapy wielu lokalizacji w postaci kolorowych markerów różnych rozmiarów
- automatyczne wyliczenie przyblliżenia i zakresu mapy, tak aby zmieściły się wszystkie lokalizacje na mapie
- wygenerowanie mapy na podstawie opisu lokalizacji, np. „Gdańsk, Długa 15”
- wyświetlanie linii na podstawie współrzędnych i zakodowanych polilinii
- generowanie specjalnych skompresowanych map dla telefonów komórkowych
Używanie map statycznych jest banalnie proste i ogranicza się właściwie tylko do stworzenia linku do obrazka, który Google ma nam stworzyć.
Przykładowo stworzenie mapy z jednym markerem polega na dodaniu do linku obrazka informacji o pozycji punktu:
Wyświetlenie punktu łączącego Gdańsk z Sopotem też nie jest problemem i dość szybko da się otrzymać taki efekt:
Na korzystanie z map statycznych są jednak nałożone dość istotne ograniczenia. Są one jednak systematycznie znoszone, a ustalone limity, o ile jest takie zapotrzebowanie są podnoszone.
- Limit zapytań do usługi
Google nakłada limit odpytań do usługi „w ogólności” na 1000 unikatowych zapytań dziennie. Limit ten liczony jest względem adresu IP odpytującego, a więc użytkownika naszej strony, a nie względem strony, na której obrazek jest wyświetlany. Tak więc wielokrotne pobranie tego samego obrazka przez tego samego użytkownika (o tym samym adresie IP) nie wpływa na zmniejszanie dostępnego limitu.
Google twierdzi, że taki limit jest wystarczający i developerzy nie powinni martwić się tym ograniczeniem. Ja mam jednak mieszanie uczucia, bo potrafię sobie wyobrazić użytkownika, który spędza sporo czasu w serwisie i wygeneruje bez problemu 1000 zapytań przy przeglądaniu wyników wyszukiwania w serwisie społecznościowym.
Na forach dyskusyjnych jest już sporo wątków o przekroczeniu tego limitu. Po lekturze wątków na forach dyskusyjnych okazało się, że za magicznym stwierdzeniem „w ogólności” kryją się jeszcze dodatkowe ograniczenia. Jeden z developerów Google przyznał, że limit ten został podzielony na 250 zapytań na 6 godzin, oraz na 50 zapytań unikatowych w ciągu 1 minuty. W takiej sytuacji już bardzo prosto sobie wyobrazić sytuację nadużycia usługi.
Przynajmniej dwu-, trzykrotne podniesienie tego limitu moim zdaniem załatwiłoby sprawę. Obecnie ogranicza to dość znacząco użycie tego rozwiązania w większych serwisach w wielu miejscach, na przykład w wyszukiwarce i może być wykorzystywane raczej doraźnie na pojedynczych stronach.
Co jeśli wygenerujemy więcej zapytań ? Zamiast wymaganego obrazka wyświetli się obrazek zastępczy, który ma informować o przekroczeniu limitu. Jeśli nadużywanie serwisu będzie się powtarzać, to Google może zablokować funkcjonowanie usługi. W dokumentacji nie określa jednak jednoznacznie, czy tylko dla tego użytkownika, czy dla całego serwisu.
- Limit wyświetlanych elementów
Google nie nakłada bezpośrednio żadnego limitu na liczbę wyświetlanych obiektów na obrazku mapy. Jednak nakłada ograniczenie na długość linku, który nie może być dłuższy niż 2048 znaków. Wpływa to więc pośrednio na liczbę obiektów, które możemy zmieścić w adresie.
- Limit wielkości obrazka
Obecnie można generować obrazki o maksymalnej wielkości 640x640 px.
- Wyświetlanie tylko w przeglądarce WWW
Mapy statyczne można wyświetlać tylko i wyłącznie za pomocą przeglądarki internetowej i tylko jako obrazki w elemencie img, lub jako tło elementu blokowego za pomocą CSS. Nie można ich pobierać, kopiować i zapisywać na własnych serwerach, ani łączyć ich do otrzymania mapy większej niż określonej w API.
Mapy statyczne są bardzo ciekawych rozwiązaniem i z pewnością zasługują na uwagę. Używanie ich jednak wiąże się z dość znacznymi ograniczeniami i moim zdaniem póki co nie nadają się do wykorzystywania w większych serwisach, a tylko na pojedynczych stronach.
Coraz więcej głosów pojawia się o zwiększenie tych limitów, więc należy oczekiwać, że Google w końcu wysłucha developerów i po wprowadzeniu lepszych mechanizmów kontroli zaoferują bardziej dostępne rozwiązanie i będziemy mogli używać map statycznych w swoich serwisach bez obawy o nadużycie limitu.
O co chodzi i jak to działa ? Idea była bardzo prosta. Wielu developerów narzekało na to, że serwisy z mapami ładowały się bardzo wolno i chciało efektywniejszego i bardziej wydajnego dostępu do prostych map zawierających przykładowo tylko mapę z lokalizacją obiektu. Regulamin Google od początku zabraniał pobierania samych obrazków wyświetlanych na mapach, tak więc pozostawało nam ładowanie sporego skryptu mapy tylko po to, aby wyświetlić mapę z jednym markerem.
W końcu jednak Google posłuchało developerów i ogłosiło powstanie usługi Google Static Maps. Usługa ta polega na generowaniu przez Google pojedynczego obrazka z mapą na podstawie podanych lokalizacji, który możemy umieścić na naszej stronie, bez konieczności ładowania całej interaktywnej mapy. Dzięki temu strona zyskała na szybkości ładowania i możliwe okazało się proste tworzenie stron mobilnych z mapami, które nie narażają naszych użytkowników na wysokie koszty.
Początkowo możliwości API były dość ograniczone, ale i tak spotkały się z entuzjastycznym odbiorem. Obecnie, po roku istnienia na rynku, są one imponujące:
- wybór między mapami: ulicy, satelitarną, terenową, hybrydową
- określenie wielkości, formatu (PNG,GIF,JPEG) i języka mapy
- określenie współrzędnych środka i przybliżenia mapy
- dodawanie do mapy wielu lokalizacji w postaci kolorowych markerów różnych rozmiarów
- automatyczne wyliczenie przyblliżenia i zakresu mapy, tak aby zmieściły się wszystkie lokalizacje na mapie
- wygenerowanie mapy na podstawie opisu lokalizacji, np. „Gdańsk, Długa 15”
- wyświetlanie linii na podstawie współrzędnych i zakodowanych polilinii
- generowanie specjalnych skompresowanych map dla telefonów komórkowych
Używanie map statycznych jest banalnie proste i ogranicza się właściwie tylko do stworzenia linku do obrazka, który Google ma nam stworzyć.
Przykładowo stworzenie mapy z jednym markerem polega na dodaniu do linku obrazka informacji o pozycji punktu:
http://maps.google.com/maps/api/staticmap?center=54.352025,18.646638&zoom=9&size=200x200&markers=size:mid|color:blue|label:G|54.352025,18.646638&sensor=false
Wyświetlenie punktu łączącego Gdańsk z Sopotem też nie jest problemem i dość szybko da się otrzymać taki efekt:
http://maps.google.com/maps/api/staticmap?size=200x200&maptype=terrain&markers=size:mid|color:blue|label:G|PL,Gdańsk&markers=size:mid|color:green|label:S|PL,Sopot&path=color:red|weight:5|Gdańsk|Sopot&sensor=false
Na korzystanie z map statycznych są jednak nałożone dość istotne ograniczenia. Są one jednak systematycznie znoszone, a ustalone limity, o ile jest takie zapotrzebowanie są podnoszone.
- Limit zapytań do usługi
Google nakłada limit odpytań do usługi „w ogólności” na 1000 unikatowych zapytań dziennie. Limit ten liczony jest względem adresu IP odpytującego, a więc użytkownika naszej strony, a nie względem strony, na której obrazek jest wyświetlany. Tak więc wielokrotne pobranie tego samego obrazka przez tego samego użytkownika (o tym samym adresie IP) nie wpływa na zmniejszanie dostępnego limitu.
Google twierdzi, że taki limit jest wystarczający i developerzy nie powinni martwić się tym ograniczeniem. Ja mam jednak mieszanie uczucia, bo potrafię sobie wyobrazić użytkownika, który spędza sporo czasu w serwisie i wygeneruje bez problemu 1000 zapytań przy przeglądaniu wyników wyszukiwania w serwisie społecznościowym.
Na forach dyskusyjnych jest już sporo wątków o przekroczeniu tego limitu. Po lekturze wątków na forach dyskusyjnych okazało się, że za magicznym stwierdzeniem „w ogólności” kryją się jeszcze dodatkowe ograniczenia. Jeden z developerów Google przyznał, że limit ten został podzielony na 250 zapytań na 6 godzin, oraz na 50 zapytań unikatowych w ciągu 1 minuty. W takiej sytuacji już bardzo prosto sobie wyobrazić sytuację nadużycia usługi.
Przynajmniej dwu-, trzykrotne podniesienie tego limitu moim zdaniem załatwiłoby sprawę. Obecnie ogranicza to dość znacząco użycie tego rozwiązania w większych serwisach w wielu miejscach, na przykład w wyszukiwarce i może być wykorzystywane raczej doraźnie na pojedynczych stronach.
Co jeśli wygenerujemy więcej zapytań ? Zamiast wymaganego obrazka wyświetli się obrazek zastępczy, który ma informować o przekroczeniu limitu. Jeśli nadużywanie serwisu będzie się powtarzać, to Google może zablokować funkcjonowanie usługi. W dokumentacji nie określa jednak jednoznacznie, czy tylko dla tego użytkownika, czy dla całego serwisu.
- Limit wyświetlanych elementów
Google nie nakłada bezpośrednio żadnego limitu na liczbę wyświetlanych obiektów na obrazku mapy. Jednak nakłada ograniczenie na długość linku, który nie może być dłuższy niż 2048 znaków. Wpływa to więc pośrednio na liczbę obiektów, które możemy zmieścić w adresie.
- Limit wielkości obrazka
Obecnie można generować obrazki o maksymalnej wielkości 640x640 px.
- Wyświetlanie tylko w przeglądarce WWW
Mapy statyczne można wyświetlać tylko i wyłącznie za pomocą przeglądarki internetowej i tylko jako obrazki w elemencie img, lub jako tło elementu blokowego za pomocą CSS. Nie można ich pobierać, kopiować i zapisywać na własnych serwerach, ani łączyć ich do otrzymania mapy większej niż określonej w API.
Mapy statyczne są bardzo ciekawych rozwiązaniem i z pewnością zasługują na uwagę. Używanie ich jednak wiąże się z dość znacznymi ograniczeniami i moim zdaniem póki co nie nadają się do wykorzystywania w większych serwisach, a tylko na pojedynczych stronach.
Coraz więcej głosów pojawia się o zwiększenie tych limitów, więc należy oczekiwać, że Google w końcu wysłucha developerów i po wprowadzeniu lepszych mechanizmów kontroli zaoferują bardziej dostępne rozwiązanie i będziemy mogli używać map statycznych w swoich serwisach bez obawy o nadużycie limitu.
0 komentarze