Я хочу использовать библиотеку математики. 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.