Как исправить «Uncaught SyntaxError: отсутствует) после списка аргументов» - PullRequest
0 голосов
/ 12 июня 2019

В настоящее время я пытаюсь создать веб-сайт, показывающий расстояние, маршруты и цену (для клиентов, которые хотят такси), но когда я добавил функцию умножения расстояния на коэффициент, все стало не работать. ошибки, которые я получил в консоли:

'Uncaught SyntaxError: отсутствует) после списка аргументов Сценарий: 42'

'Uncaught (в обещании) Vc {сообщение: «initMap не является функцией», имя: «InvalidValueError», стек: «Ошибка» при новом Vc (https://maps.googleapis.com/m…rGYVNAJV_cj_TFD9lhMIKy51o&callback=initMap:122:96"}'

)
function initMap() {
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer();
var map = new google.maps.Map(document.getElementById("map"), {
  zoom: 7,
  center: { lat: 45.75, lng: 4.85 }
});
directionsDisplay.setMap(map);

var onChangeHandler = function() {
  calculateAndDisplayRoute(directionsService, directionsDisplay);
};
document.getElementById("start").addEventListener("change", onChangeHandler);
document.getElementById("end").addEventListener("change", onChangeHandler);




}function calculateAndDisplayRoute(directionsService, directionsDisplay) {
directionsService.route(
  {
    origin: document.getElementById("start").value,
    destination: document.getElementById("end").value,
    travelMode: "DRIVING"
  },
  function(response, status) {
    if (status === "OK") {
      document.getElementById("distance").innerHTML =
        "la distance total du trajet est: " +
        (response.routes[0].legs[0].distance.value / 1000).toFixed(2) +
        " km";
        /*
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 2.5).toFixed(
          2
        ) +
        "€";*/
      //alert('Total travel distance is: ' + (response.routes[0].legs[0].distance.value / 1000).toFixed(2) + ' km');
      directionsDisplay.setDirections(response);
    } else {
      //window.alert('Directions request failed due to ' + status);
    }
  )}
  function tarifs(response, status){
    var hours = document.querySelector('#hours');
    if(7<=hours.value<=19){
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 1.66).toFixed(2) + "€";
    }else if(19<=hours.value<=23){
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 2.50).toFixed(2) + "€";
    }else if(0<=hours.value<=7){
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 2.50).toFixed(2) + "€";
    }
  }
);}

1 Ответ

0 голосов
/ 12 июня 2019

Я думаю, это то, что вы ищете. Обнаружить ошибку проще, если вы украсите свой код и используете подсветку синтаксиса, такую ​​как VSCode:

  function initMap() {
    var directionsService = new google.maps.DirectionsService();
    var directionsDisplay = new google.maps.DirectionsRenderer();
    var map = new google.maps.Map(document.getElementById("map"), {
      zoom: 7,
      center: {
        lat: 45.75,
        lng: 4.85
      }
    });
    directionsDisplay.setMap(map);

    var onChangeHandler = function () {
      calculateAndDisplayRoute(directionsService, directionsDisplay);
    };
    document.getElementById("start").addEventListener("change", onChangeHandler);
    document.getElementById("end").addEventListener("change", onChangeHandler);
  }

  function calculateAndDisplayRoute(directionsService, directionsDisplay) {
    directionsService.route({
      origin: document.getElementById("start").value,
      destination: document.getElementById("end").value,
      travelMode: "DRIVING"
    },
      function (response, status) {
        if (status === "OK") {
          document.getElementById("distance").innerHTML =
            "la distance total du trajet est: " +
            (response.routes[0].legs[0].distance.value / 1000).toFixed(2) +
            " km";
          /*
          document.getElementById("price").innerHTML =
            "Vous devrez donc payer:" +
            ((response.routes[0].legs[0].distance.value / 1000) * 2.5).toFixed(
              2
            ) +
            "€";*/
          //alert('Total travel distance is: ' + (response.routes[0].legs[0].distance.value / 1000).toFixed(2) + ' km');
          directionsDisplay.setDirections(response);
        } else {
          //window.alert('Directions request failed due to ' + status);
        }
      });
  }

  function tarifs(response, status) {
    var hours = document.querySelector('#hours');
    if (7 <= hours.value <= 19) {
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 1.66).toFixed(2) + "€";
    } else if (19 <= hours.value <= 23) {
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 2.50).toFixed(2) + "€";
    } else if (0 <= hours.value <= 7) {
      document.getElementById("price").innerHTML =
        "Vous devrez donc payer:" +
        ((response.routes[0].legs[0].distance.value / 1000) * 2.50).toFixed(2) + "€";
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...