我需要在从A点到B点开车时获取收费站的数量。我正在使用谷歌方向API进行操作。 API将公路是否为收费公路的信息提供在响应中的html_instructions标记中,但是收费公路可能包含多个收费站,有没有办法计算它们的数量。
我需要在从A点到B点开车时获取收费站的数量。我正在使用谷歌方向API进行操作。 API将公路是否为收费公路的信息提供在响应中的html_instructions标记中,但是收费公路可能包含多个收费站,有没有办法计算它们的数量。
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 ;
}