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.

Wczytanie API na żądanie użytkownika

Ten artykuł dotyczy API w wersji 2

« powrót do listy poradników

W jednym z poradników (Przejście z mapy statycznej w dynamiczną) omówiłem sposób na aktywowanie interaktywnej mapy po kliknięciu na jej wersję statyczną. Działało to zadowalająco, ale możliwe było dalsze ulepszenie.

Nawet pomimo tego, że mapa aktywowana jest dopiero po wyborze użytkownika, skrypty API cały czas są ładowane wraz ze startem strony. Stosując specjalną sztuczkę można spowodować, że API zostanie załadowane dopiero wtedy, gdy zajdzie taka potrzeba. Oszczędza to czas i transfer osób, które nie chcą korzystać z mapy interaktywnej, a są jedynie zainteresowane statyczną częścią strony.

Wykonanie

Przerobimy przykład 33.2 tak, by spełniał opisane założenia.

Należy usunąć tag, odpowiedzialny za ładowanie skryptu API. API aktywować będziemy za pomocą funkcji o nazwie aktywujAPI(). Ogólnie mówiąc, za jej pomocą stworzymy w strukturze DOM obiekt skryptu, nadamy mu odpowiednie parametry i dodamy do ciała strony, by spowodować jego wczytanie. Uwaga! Adres skryptu nieznacznie się zmieni. Przede wszystkim, musimy "dać znać" API, że wczytujemy je asynchronicznie, dodając do adresu parametr &async=2, a także określić nazwę funkcji, która ma zostać wykonana po załadowaniu skryptu za pomocą parametru &callback=mapaStart. Funkcja aktywujAPI() wygląda więc następująco:

function aktywujAPI()
{
	var script = document.createElement("script");
	script.setAttribute("src", "http://maps.google.com/maps?file=api&v=2&sensor=false&key=TWÓJ_KLUCZ_API&async=2&callback=mapaStart");
	script.setAttribute("type", "text/javascript");
	document.documentElement.firstChild.appendChild(script);
}

Uwaga! Od marca 2009, obowiązkowe dołączenie jest parametru &sensor=true lub &sensor=false. Z pierwszego należy skorzystać, gdy tworzona przez nas aplikacja ma umożliwiać geolokalizację na podstawie sygnału GPS. W pozostałych przypadkach należy ustawić wartość parametru na false. Ponieważ żaden z przykładów na stronie nie jest przeznaczony na urządzenia przenośne i nie wykorzystuje tym samym możliwości określenia pozycji za pomocą sygnału GPS, wszystkie posiadają wartość parametru sensor ustawioną na false.

Pozostała część skryptu (w tym funkcja mapaStart() pozostaje bez zmian w stosunku do oryginalnego przykładu 33.2. Oto efekt: przykład 1pokaż kod przykładu

Polecane artykuły

Dodaj stronę do ulubionego serwisu społecznościowego

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

Dodawanie markerów przez użytkownika

API v2

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


Wczytywanie danych z programu MS Excel

API v2

W tym przykładzie pokazane zostało, w jaki sposób wyświetlić markery z arkusza kalkulacyjnego


Własna mapa w Google Maps API

API v2

Przygotowanie i sposób stworzenia własnej mapy, na przykładzie mapy z gry GTA3


Warstwa zdjęć z Panoramio

API v2

Dodaj na swoją mapę eleganckie miniaturki zdjęć okolicy z serwisu Panoramio