Reklama
Szukaj zleceń na Getak.pl

Stwórz profil

Musisz wpisać swoje imię
Musisz wpisać swoje nazwisko
Musisz wpisać poprawny e-mail
Musisz wpisać hasło (min. 8 znaków)
Musisz zaakceptować regulamin

Marcin Tatarczak Programista Java

Temat: Wyznaczenie trasy podróży z kilkoma celami

Witam,
Muszę 'na wczoraj' zrobić stronkę w jsp umożliwiającą wprowadzenie trasy podróży z kilkoma punktami na trasie (liczba punktów ma być dynamiczna). Dokładnie chodzi o coś takiego jak jest na stronie 'http://maps.google.pl/' w zakładce 'Pokaż trasę'.

Dodatkowy wymóg to to że przy wpisywaniu mają się pokazywać podpowiedzi co do celu podróży. Wyznaczona trasa musi zostać zapamiętana do późniejszego wczytania.

Czy jest dostępna jakaś baza "celów podróży" do wykorzystania przy API Google Maps?

Czy może mi ktoś podpowiedzieć czego użyć, na co zwrócić uwagę, czego się wystrzegać?

Za wszelką pomoc będę bardzo wdzięczny.
2.11.2011, 10:58

Marcin Tatarczak Programista Java

Temat: Wyznaczenie trasy podróży z kilkoma celami

Udało się mi wygooglać strosunkowo prosty przykłąd zbliżony do tego czego oczekuję: http://maps.forum.nu/gm_driving_directions2.html

Bardzo proszę jednak o podpowiedź jak najlepiej zapisać dane do BD tak aby można było później ponownie wczytać trasę z uwzględnieniem nazw miast, ulic itd i tak aby informacje o miasto-ulica itd nich znajdowały się w BD? Co i jak zapisywać?
2.11.2011, 14:06

Janusz Skudrzyk programista,
Tuszmarkt.pl

Temat: Wyznaczenie trasy podróży z kilkoma celami

Kawałek kodu odpowiedzialny za informacje pośrednie:

var numSteps = route.getNumSteps();
html += '<table cellspacing="0" cellpadding="0" id="routeTable_'+r+'" style="display:none" width="100%">';
for (var s = 0 ; s < numSteps ; s++ ) {
var step = route.getStep(s);
var stepLatLng = step.getLatLng();
bounds.extend(stepLatLng);

var stepPolylineIndex = step.getPolylineIndex();
var stepDescriptionHTML = step.getDescriptionHtml();
var re = new RegExp(pattern,'g');
stepDescriptionHTML = stepDescriptionHTML.replace(re,'<b style="color:#CA0039">$1</b>')
var stepDistance = step.getDistance();
var stepDuration = step.getDuration();
html += '<tr class="stepRow" onclick="showStep('+r+','+s+')"><td>  ' + (s+1) + '.</td><td> ' + stepDescriptionHTML + '</td><td>' + stepDistance.html + '</td></tr>';
}
html += '</table>';


Informacje o ulicach masz w stepDescriptionHTML, położenie danego punktu w stepLatLng. Zapisujesz co jest Tobie potrzebne.

Potem możesz albo wywołać jeszcze raz szukanie trasy z uwzględnieniem wszystkich punktów, albo od razu narysować trasę:

polylineOptions = {
map: map,
strokeColor: "#FF0000",
strokeOpacity: 0.7,
strokeWeight: 5,
path: >>TUTAJ_ŚCIEŻKA<<
}
trasa = new google.maps.Polyline(polylineOptions);
2.11.2011, 17:33



Wyślij zaproszenie do