Raport trasy |
EMAPI umożliwia uzyskanie gotowego raportu trasy, a następnie wyświetlenie go np. w elemencie DIV. Możliwe jest również stworzenie własnej reprezentacji wyznaczonej trasy (klasa EMAPI.Router.RouteRepresentation).
Przykład wykorzystania gotowego raportu trasy:
var router = new EMAPI.Router( //tworzenie nowej instancji klasy EMAPI.Router { map: mapa, //mapa, na której mają być wizualizawane trasy reportPointsHandlerPointsName: 'punkty_id' //element DIV, w którym zostanie osadzona lista punktów trasy reporResultHandlerName: 'raport_id' //element DIV, w którym zostanie osadzony raport trasy } ); <div id="punkty_id"></div> //element DIV zawierający dodane punkty trasy <div id="raport_id"></div> //element DIV zawierający gotowy raport wyznaczonej trasy
Lista dodanych punktów trasy:
Raport trasy:
EMAPI.Router.RouteRepresentation - klasa parametrów i reprezentacji wyznaczonej trasy. Reprezentacja zawiera raport przebiegu trasy podzielony na odcinki (sekcje) wyznaczone przez punkty trasy.
var rr = router.routeRepresentation;
Dostępne parametry:
routeFrom | {String} Lokalizacja punktu startowego trasy. |
routeTo | {String} Lokalizacja punktu końcowego trasy. |
routeDescription | {String} Nazwa trasy. |
routeItems | {EMAPI.ArrayObjects} Lista odcinków trasy pomiędzy parami kolejnych punktów. |
tollRoadLength | {Float} Długość dróg płatnych uwzględnionych w trasie (w km). |
tollRoadTime | {String} Czas przejazdu drogami płatnymi uwzględnionymi w trasie. |
totalFuelCost | {Float} Całkowity koszt paliwa. |
totalRouteCost | {Float} Całkowity koszt przebytej trasy. |
totalRouteLenght | {Float} Całkowita długość trasy (w km). |
totalRouteTime | {String} Całkowity czas przejazdu trasy. |
unreachableEntry | {Integer} Indeks pierwszego z punktów trasy, do którego nie można było wyznaczyć dojazdu (licząc od 1 dla drugiego punktu trasy). |
var div = document.getElementById('raport'); //element DIV, w którym zostanie osadzony raport trasy var rr = router.routeRepresentation; div.innerHTML = 'Nazwa: '+ rr.routeDescription // + '
Punkt startowy: ' + rr.routeFrom //informacje zawarte w raporcie trasy + '
Punkt końcowy: ' + rr.routeTo // + '
Długość trasy: ' + rr.totalRouteLength; // <div id="raport"></div> //element DIV zawaierający raport trasy
EMAPI.Router.RouteRepresentationSection - klasa parametrów i reprezentacji odcinka (sekcji) wyznaczonej trasy pomiędzy dwoma punktami tej trasy.
Dostępne parametry:
sectionFrom | {String} Lokalizacja punktu startowego odcinka trasy. |
sectionTo | {String} Lokalizacja punktu końcowego odcinka trasy. |
sectionCost | {Float} Całkowity koszt danego odcinka przebytej trasy. |
sectionDistance | {Float} Całkowita długość danego odcinka trasy (w km). |
sectionTime | {String} Całkowity czas przejazdu odcinka trasy. |
routeItems | {EMAPI.ArrayObjects} Lista punktów charakterystycznych odcinka trasy (raport przebiegu trasy). |
var div = document.getElementById('raport_id2'); var rr = router.routeRepresentation; var raport=''; for(var i=0; i<rr.routeItems.length; i++) //przeszukiwanie wszystkich sekcji { var sekcje = rr.routeItems[i]; //pobieranie informacji ze wszytskich sekcji trasy raport = raport + '<tr><th width="300" style="border:1 solid #DB700F;background-color:#FFE8B5">' + sekcje.sectionFrom + ' - ' + sekcje.sectionTo //punkt startowy - punkt końcowy odcinka + '<th width="60">km' + '<th width="60">czas' + '</tr>'; }
EMAPI.Router.RouteRepresentationItem - klasa punktu charakterystycznego odcinka trasy (wpis w raporcie przebiegu trasy).
Dostępne parametry:
entryCost | {Float} Aktualny koszt trasy licząc od jej początku aż do tego punktu. |
entryDistance | {Float} Odległość wzdłuż przebiegu trasy licząc od jej początku aż do tego punktu (w km). |
entryPosition | {EMAPI.LonLat} Współrzędne punktu charakterystycznego trasy. |
entryTime | {String} Czas przejazdu do tego punktu licząc od początku trasy. |
entryDescription | {String} Opis punktu charakterystycznego informujący o zdarzeniu w przebiegu trasie. |
entryType | {String} Typ zdarzenia w tym punkcie. |
Przykład tworzenia raportu trasy:
var div = document.getElementById('raport_id2'); var rr = router.routeRepresentation; var raport=''; for(var i=0; i<rr.routeItems.length; i++) //przeszukiwanie wszystkich sekcji { var sekcje = rr.routeItems[i]; //pobieranie informacji ze wszytskich sekcji trasy raport = raport + '<tr><th width="300" style="border:1 solid #DB700F;background-color:#FFE8B5">' + sekcje.sectionFrom + ' - ' + sekcje.sectionTo //punkt startowy - punkt końcowy odcinka + '<th width="60">km' + '<th width="60">czas' + '</tr>'; for(var j=0;j<sekcje.routeItems.length;j++) //przeszukiwanie wszystkich punktów w sekcji { var punkty = sekcje.routeItems[j]; //pobieranie informacji ze wszytskich punktów sekcji raport = raport + '<tr><td style="color:#8e8e8e;padding-left:10px;">' + punkty.entryDescription //opis punktu + '<td>' + punkty.entryDistance //odległość do punktu + '<td>' + punkty.entryTime + '</tr>'; //czas dotarcia do punktu } } <div id="raport_id2"></div> //element DIV zawierający raport trasy