Правильное включение библиотеки математики. js в файл. js - PullRequest
0 голосов
/ 15 января 2020

Я хочу использовать библиотеку математики. js в моем файле javascript - скажем, она называется веб-страницей. js. То, что я до сих пор делал, - это наличие тега script в главном файле html, который вызывает математику. js, а затем еще один, который вызывает веб-страницу. js. Теги сценария таковы:

<script
    src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/6.2.5/math.min.js"
    integrity="sha256-fWwwg2Pf3Ox5xhm9xCE7O+czkI2dSkqN6gUZumzGrx0="
    crossorigin="anonymous"></script>
<script src="js/lat-long.js"></script>

Это так? Могу ли я go перейти на мою веб-страницу. js файл и использовать «Math.whothing» без необходимости «импортировать» или «включать» что-либо в начало файла?

Причина, по которой я спрашиваю это потому, что у меня есть следующий код, который не работает должным образом (все, что использует Math.something, возвращает NaN, что, как я предположил, было связано с тем, что Math. js не был импортирован должным образом). Вот код для справки:

function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) {
    var R = 6371; // Radius of the earth in km
    var dLat = deg2rad(lat2 - lat1); // deg2rad below
    var dLon = deg2rad(lon2 - lon1);
    console.log("dLat------------------" + dLat);
    var a =
        Math.sin(dLat / 2) * Math.sin(dLat / 2) +
        Math.cos(deg2rad(lat1)) *
            Math.cos(deg2rad(lat2)) *
            Math.sin(dLon / 2) *
            Math.sin(dLon / 2);
    var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
    var d = R * c; // Distance in km
    console.log("d is " + d);
    return d;
}

function deg2rad(deg) {
    return deg * (Math.PI / 180);
}
var distance = getDistanceFromLatLonInKm(
    locationLatUser,
    locationLongUser,
    supplier.latLng.latitude,
    supplier.latLng.longitude
);

//all the values used in the function call exist and are defined.
console.log("distance between user and supplier: " + distance);

Консоль, регистрирующая любое значение в приведенном выше коде, дает мне NaN.

...