2016-03-09 4 views
0

Я на самом деле работаю в школьном проекте с помощью Machine Routing Machine и выпускаю метод totalTime.totalTime [Листовая машина маршрутизации]

var map = L.map('map'); 

L.tileLayer('', { 
    attribution: '' 
}).addTo(map); 

L.Routing.control({ 
    waypoints: [ 
     L.latLng(45.7979, 4.7178), 
     L.latLng(45.5221, 4.8101), 
     L.latLng(45.42, 4.35) 
    ], 
    routeWhileDragging: true, 
    language: 'fr' 
}).addTo(map); 

L.Routing.control({ 
    waypoints: [ 
     L.latLng(44.7979, 4.7178), 
     L.latLng(45.42, 4.35) 
    ], 
    routeWhileDragging: true, 
    language: 'fr' 
}).addTo(map); 

window.alert(routes[0].summary.totalTime()); 

Но консоль JS сообщает мне, что маршруты [] не определены.

Есть ли что-то не так? Должны ли мы использовать что-то еще, кроме маршрутов []?

+0

Вы не определили «маршруты» в этом коде. – GAntoine

+0

Конечно, но мне тоже хотелось бы вызвать метод 'totalTime'. http://www.liedman.net/leaflet-routing-machine/api/#irouter Я нашел эту тему: http://stackoverflow.com/questions/26570980/getting-distance-between-2-markers Поэтому я попробовал. – koolok

ответ

0

Ваша проблема связана с тем, что событие «routesfound» не используется в элементе управления маршрутизации. Попробуйте добавить событие и обработать данные о расстоянии и времени в обработчике

routeCtr.addTo(map).on('routesfound', function (e) { 
     distance = e.routes[0].summary.totalDistance; 
     min = e.routes[0].summary.totalTime; 
}; 

Попробуйте.

Смежные вопросы