如何获得google方向api中两点之间的通行费数量?

时间:2017-05-30 07:15:59

标签: google-maps google-maps-api-3 google-directory-api

从A点开车到B时,我必须获得通行费数量。我正在使用谷歌方向API。 API在响应中的html_instructions标签中提供道路收费道路的信息天气,但收费道路可能包含收费号码,有没有办法计算它们。

1 个答案:

答案 0 :(得分:4)

使用directions-draggable代码。为了计算路上的通行费数量,你必须在myroute.legs[i].steps[j].instructions中找到它们,这是方向显示服务的结果。要查找toll road我正在使用正则表达式

Check fiddle demo

以下代码

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 ;
}