wtorek, 7 listopada 2006

Mashup - programowanie map geograficznych na stronach internetowych

Pewnego razu zacząłem zastanawiać w która stronę będą rozwijać się serwisy internetowe, jaki będzie najbardziej wyróżniający się element stron internetowych w najbliższym czasie. Zrobiłem pewne rozeznanie po stronach internetowych Web2.0. Dla mnie Web 2.0 oznacza nie tyle że wykorzystuje się AJAX, tylko że dany serwis internetowy posiada własny interfejs programistyczny, który pozwala innym serwisom internetowym korzystać z jego zasobów. Ze strony internetowej o mashupach można dowiedzieć się, że najbardziej popularne staje się korzystanie z serwisów internetowych które korzystają z map i usług geolokalizacyjnych.

Głównymi dostawcami usług map internetowych dla stron internetowych są Google Maps, Yahoo Maps, oraz Microsoft Virtual Earth.

Dostarczają oni mapy drogowe, zdjęcia lotnicze i satelitarne dla każdego zakątka Ziemi. Można z nich korzystać do celów niekomercyjnych i z pewnymi ograniczeniami co do ilości żądań przypisanych do danego serwera.

Mapy Google cechuje niezwykła dokładność map drogowych dla krajów Unii Europejskiej. Łatwość utworzenia prostej mapy na własną stronę internetową sprawiło, że Google Map stało się świetnym narzędziem do tworzenia mashupów. Mashup to serwis internetowy, który reprezentuje informacje z innego serwisu udostępniając je we własnej formie.

Cechy poszczególnych usług.

Google Map ma ciekawe rozwiązanie, które pozwala na aż 19-krotne powiększenie map drogowych i w zależności od terenu dostarcza odpowiednie zdjęcia satelitarne. Zawiera też sposób mieszany (ang. hybrid) tj na mapie satelitarnej umieszczane są teksty, aby użytkownik mapy wiedział co ogląda na zdjęciach satelitarnych. Programistycznie z poziomu JavaScriptu na mapach Google można umiejscawiać markery, opisy w dymkach, rysować linie. Obecnie Google Map dostarcza API w wersji 2, jako bibliotekę AJAX i jako usługę REST (wywoływanie żądań z poziomu HTTP). Dla zainteresowanych polecam zapoznanie się z przewodnikiem po możliwościach Google Maps i z wiki dla programistów. Warto też spróbować wykorzystać komponent dla Flasha zaprojektowany do wyświetlania map we Flashu. Aby zamieszczać mapy Google na stronach trzeba posiadać klucza API. Ten do klucz można wygenerować za darmo podając domenę na której będą wyświetlane te mapy.

Ostatnio sporo pojawia sie interesujacych ksiązek na temat programowania mashup-ów. Scott Davis napisał dla wydawnictwa The Pragmatic Programmers' ksiażkę Google Maps API: Adding Where to Your Application (ostatnio ona była aktualizowana do API v.2 - kody do przestudiowania). Trójka programistów Michael Purvis, Jeffrey Sambells, Cameron Turner napisało dla wydawnictwa Apress ksiażkę Beginning Google Maps Applications with PHP and Ajax: From Novice to Professional. Ta ksiazka ma swoj serwis gdzie zamieszczono kody źródłowe i 2 rozdziały jeden o interakcji a drugi o geokodowaniu.
Martin C Brown napisał dla wydawnictwa ExtermeTech ksiażkę Hacking GoogleMaps and GoogleEarth Jest to ksiązka która głownie opisuje Google Maps API v.1 Na stronie poswięconej tej ksiązce można zobaczyć przykłady i jak pobrać kod źródłowy.
Szefowie zespołu pracującego nad Google Map Jens i Lars Rasmussen pomogli napisać Schuyler Erle i Rich Gibson ksiażkę Google Maps Hacks: Tips & Tools for Geographic Searching and Remixing dla wydawnictwa O`Reilly. Zaletą tej pozycji jest to że dokładnie omawia możliwosći Google Map API v 1 w 70 przykładach. Na tej stronie podano 5 przykładów

W Polsce na razie znane mi są dwa mashupy wykorzystujące Google Map API. Wrocek.pl to serwis który ma na celu wykorzystanie map Google do prezentacji danych o Wrocławiu.
Miejsce.info to serwis który pozwala utworzyć komuś mapę i zamieścić ją na stronie WWW nie wymagajać od uzytkownika wiedzy programistycznej.

Yahoo Map jest bardziej popularne w Ameryce z racji tego że dostarcza szeroki wybór technologii do obsługi ich map. Ich wersje są dostępne jako AJAX albo jako w wersji Flash czy jako sterowanie z JavaScript zawartością we Flashu. Obecnie większość przykładów jest w wersji ActionScript 2. Sporo informacji o wykorzystaniu Yahoo Map można znaleźć w tym artykule.
Wadą Yahoo Map jest to że nie przedstawia dokładnej mapy dla Polski.
Można obejrzeć przykłady aplikacji wykorzystujących Yahoo Map.

Microsoft Virtual Earth jest odpowiedzią na Google Map. Microsoft dodał możliwość oglądania z "lotu ptaka" miast amerykańskich. To polega na tym że można używać Virtual Earth do oglądania obiektów pod kątem 45 stopni. Programowanie w Virtual Earth jest najłatwiejsze do zrealizowania przy wykorzystaniu AJAX. Wymaga ściągnięcia Virtual Earth SDK Beta 4 albo Virtual Earth SDK Beta 3.2 . Gdy ogląda to się w IE to instaluje się kontrolka ActiveX Virtual Earth3D która zapewnia podobną funkcjonalność co Google Earth (szkoda ze tylko instaluje się na angielskojęzycznych OS - trzeba w panelu sterowania ustawić opcje regionalne na Stany Zjednoczone) tylko że dla stron internetowych. Virtual Earth korzysta z infrastruktury MapPoint 2006. Aby wykorzystać to w aplikacjach Flash, trzeba otrzymać darmowy klucz API dla programistów i znać obsługę Web Services za pomocą ActionScriptu.

Brak komentarzy: