www.gmapsapi.com

Kompleksowy kurs podstaw API, po którym mapowianie nie będzie miało przed Tobą żadnych tajemnic!

Setki przykładów, kursów i poradników z kodem gotowym do skopiowania i korzystania.

Największa strona o Google Maps API w Polsce, największe źródło informacji w języku polskim.

Warstwa zdjęć z Panoramio

Ten artykuł dotyczy API w wersji 2

« powrót do listy poradników

Z tego krótkiego poradnika dowiesz się, jak dodać zdjęcia z serwisu Panoramio na Twoją mapę w Google Maps API. Efekt jest ciekawy i estetyczny tak, jak w oryginalnym serwisie Google Maps, a prostota wykonania powoduje, że każdy może go z łatwością dodać.

Kwestie wydajności

Serwis Panoramio posiada setki tysięcy zdjęć. Jak wiesz, Google Maps API osiąga dość słabą wydajność dla liczby markerów » 200, z pomocą menedżera markerów markerów może być więcej, nadal jednak nie tak dużo, ile jest zdjęć w Panoramio. Z tego powodu rozwiązanie to nie jest oparte o markery. Zamiast tego, zdjęcia wyświetlane są jako mapa bitowa (w formacie PNG) z kanałem przezroczystości, a przeglądarka "dostaje informacje" o obszarach kliknięć, które ma przechwytywać i w których ma wyświetlać łapkę po najechaniu. Pod względem wydajności, dodanie warstwy do zwykłej mapy satelitarnej ma ten sam efekt co wybór trybu hybrydowego zamiast satelitarnego (mapa hybrydowa w rzeczywistości nakłada na satelitarną warstwę z ulicami).

Koncepcja działania

Aby skorzystać z warstwy zdjęciowej, musisz użyć API w wersji co najmniej 2.31 - jeżeli dołączasz skrypt API w wersji 2.x to nie musisz niczego zmieniać.

Warstwy zdjęciowe (i nie tylko) implementowane są jako obiekty klas GLayer() - utworzony obiekt należy dodać do mapy za pomocą funkcji addOverlay() obiektu mapa. Konstruktor warstwy przyjmuje jeden argument, jest nim ID warstwy - dostępne jest kilka predefiniowanych warstw, nie ma możliwości stworzenia własnej.

Warstwy zdjęciowe serwisu Panoramio dostępne są pod nazwami com.panoramio.popular (dla jedynie najbardziej popularnych zdjęć) oraz com.panoramio.all (dla wszystkich zdjęć). Niezależnie od wyboru wersji, zdjęcia są inteligentnie wyświetlane (tj. tak, by naraz nie było ich widać za dużo) i skalowane (rozmiar miniaturki zdjęcia jest różny w zależności od jego popularności).

Po kliknięciu na zdjęcie zostaje otworzone okno GInfoWindow z powiększeniem zdjęcia i informacją o autorze. Jeżeli na miniaturkę zdjęcia nachodzi dowolny inny klikalny obiekt (np. marker) to kliknięcie ma efekt jedynie dla markera - warstwy posiadają najniższy z priorytetów.

Dodajmy w przykładzie 1 popularne zdjęcia serwisu Panoramio na mapę:

mapa.addOverlay(new GLayer("com.panoramio.popular"));

Efekt do obejrzenia w przykładzie: przykład 1pokaż kod przykładu

W przykładzie 2 wyświetlane są wszystkie zdjęcia:

mapa.addOverlay(new GLayer("com.panoramio.all"));

przykład 2pokaż kod przykładu

Zwróć uwagę, że przybliżanie mapy powoduje, że pokazywane jest coraz więcej, bardziej szczegółowych zdjęć.

Inne warstwy

Oprócz zdjęć, można również dodać geotagowane hasła z Wikipedii. Oto skrócona lista wybranych warstw i ich ID:

IDopis
org.wikipedia.plgeotagowane hasła z polskiej Wikipedii
org.wikipedia.engeotagowane hasła z angielskiej Wikipedii
org.wikipedia.degeotagowane hasła z niemieckiej Wikipedii
org.wikipedia.rugeotagowane hasła z rosyjskiej Wikipedii

Więcej warstw opisano na stronie http://spreadsheets.google.com/pub?key=p9pdwsai2hDN-cAocTLhnag

Polecane artykuły

Dodaj stronę do ulubionego serwisu społecznościowego

Oto, co najczęściej czytają internauci, którzy przeczytali ten artykuł:

Dodawanie znaczników na mapę

API v2

Kurs podstaw cz. II: Podstawowe informacje na temat wstawiania markerów (znaczników)


Dodawanie markerów przez użytkownika

API v2

Poradnik pokazuje, w jaki sposób stworzyć formularz, pozwalający na dodawanie markerów


Popularne, darmowe ikony dla markerów

API v2

Kurs podstaw cz. IV: Lista darmowych ikon do wykorzystania w Twojej aplikacji mapowej


Kategorie markerów i polilinii

API v2

Stwórz markery/polilinie w kilku kategoriach, a następnie ukrywaj i pokazuj wybrane kategorie