从A点开车到B时,我必须获得通行费数量。我正在使用谷歌方向API。 API在响应中的html_instructions标签中提供道路收费道路的信息天气,但收费道路可能包含收费号码,有没有办法计算它们。
答案 0 :(得分:4)
使用directions-draggable代码。为了计算路上的通行费数量,你必须在myroute.legs[i].steps[j].instructions
中找到它们,这是方向显示服务的结果。要查找toll road
我正在使用正则表达式
以下代码
function containsWord(string, word) {
return new RegExp('(?:[^.\w]|^|^\\W+)' + word + '(?:[^.\w]|\\W(?=\\W+|$)|$)').test(string);
}
function computeTotalDistance(result) {
var total = 0;
var myroute = result.routes[0];
var totalTolls=0;
for (var i = 0; i < myroute.legs.length; i++) {
//console.log(myroute.legs[i].steps);
for(var j=0;j<myroute.legs[i].steps.length;j++){
//console.log(myroute.legs[i].steps[j].instructions);
if(containsWord(myroute.legs[i].steps[j].instructions.toLowerCase(), 'toll road')){
totalTolls+=1;
}
}
total += myroute.legs[i].distance.value;
}
total = total / 1000;
document.getElementById('total').innerHTML = total + ' km';
document.getElementById('totalTollCount').innerHTML = totalTolls ;
}