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.

Znajdowanie trasy i wskazówek dojazdu

Ten artykuł dotyczy API w wersji 2

« powrót do listy poradników

Jedną z ciekawszych (lecz rzadziej używanych w polskich serwisach) funkcji jest możliwość wyświetlania dojazdu z punktu A do punktu B, w postaci narysowanej trasy oraz listy wskazówek dojazdu. Funkcja ta działa z bardzo dobrym efektem na terytorium Polski, a że dodatkowo zwracane są rezultaty w języku polskim, to dlaczego by jej nie spróbować?

GDirections

Do znajdowania dojazdu pomiędzy punktami potrzebny jest jeden obiek klasy GDirections. Raz utworzony, będzie odpowiadał za parsowanie i zwracanie rezultatów wszystkich następnych zapytań. By mieć do niego zawsze dostęp, najlepiej uczynić go obiektem globalnym.

Dwa argumenty, jakie możesz podać przy tworzeniu obiektu to kolejno:

  • odwołanie do mapy GMap2 (dzięki czemu program będzie wiedział, gdzie ma narysować trasę przejazdu)
  • odwołanie do obiektu w strukturze DOM, do którego zostaną wstawione wskazówki dojazdu

W przykładzie 1 w następujący sposób stworzyłem mapę oraz obiekt GDirections:

var mapa = new GMap2(document.getElementById('mapka'));
mapa.addControl(new GLargeMapControl());
mapa.setCenter(new GLatLng(52.40241887397331,17.9736328125),6,G_HYBRID_MAP);
var dojazd = new GDirections(mapa, document.getElementById("wskazowki"));

Wskazówki dojazdu zostaną załadowane do obiektu HTML o id "wskazówki". Aby zadać zapytanie, należy użyć metody load obiektu dojazd. Jako argument konieczne jest przekazane stringa w postaci from:ABC to:XYZ, gdzie ABC to adres początku trasy, a XYZ to adres punktu końcowego. Dzięki wstawieniu do przykładu 1 kodu:

dojazd.load('from:Szczecin, Wojska Polskiego 54 to:Poznań, Mickiewicza 20');

program załaduje trasę i wskazówki dojazdu i wyświetli je na starcie. A oto efekt: