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