javascript - 将新数据传递给变量给了我错误
问题描述
我正在尝试建立一个简单的地理围栏。如果我添加 lat 和 long 而没有''
. 因此,如果我添加更新的变量,它似乎无法正确加载。很难解释,但如果我这样运行它就可以了
var distance;
var job_p_lat = 52.407580;
var job_p_lng = -1.486180;
var my_lat = 52.414493799999995;
var my_lng = -1.5574936;
distance = calculateDistance(my_lat, my_lng, job_p_lat, job_p_lng)
$("#distance").text(distance);
if (distance < .05) {
$("#message").text("Yes, were inside .05 KM!!! :) A+")
} else if (distance > .05) {
$("#message").text("No, not inside .05 KM :(")
}
但是,如果我像这样更改数据,它似乎无法正确加载它?
var job_p_lat = '52.407580';
var job_p_lng = '-1.486180';
var my_lat = '52.414493799999995';
var my_lng = '-1.5574936';
距离计算器代码是:
function calculateDistance(lat1, lon1, lat2, lon2) {
var R = 5550; // km
var dLat = (lat2 - lat1).toRad();
var dLon = (lon2 - lon1).toRad();
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(lat1.toRad()) * Math.cos(lat2.toRad()) *
Math.sin(dLon / 2) * Math.sin(dLon / 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
var d = R * c;
return d;
}
Number.prototype.toRad = function() {
return this * Math.PI / 180;
}
错误:
未捕获的类型错误:lat1.toRad 不是 initsuccess (scriptnew3.1.js:175) 的 calculateDistance (scriptnew3.1.js:442) 处的函数
真的无法解决问题是什么?
解决方案
是的,有可能:
function calculateDistance(lat1, lon1, lat2, lon2) {
var R = 3958.7558657440545; // Radius of the earth in km
var dLat = (lat2 - lat1) * Math.PI / 180; // deg2rad below
var dLon = (lon2 - lon1) * Math.PI / 180;
var a =
0.5 - Math.cos(dLat)/2 +
Math.cos(lat1 * Math.PI / 180) * Math.cos(lat2 * Math.PI / 180) *
(1 - Math.cos(dLon))/2;
return R * 2 * Math.asin(Math.sqrt(a));
}
推荐阅读
- vue.js - Vue + Vuetify 为移动端定制日历组件
- reactjs - 在 React App 中使用 axios 在 CakePHP API 中执行 PUT 方法时,在预检选项中未找到 404 错误
- java - getSupportLoaderManager(id, args, ??) 的第三个参数类型是什么
- android - Android 获取/设置 ImageView 的值
- asp.net-core - RabbitMq 包中缺少“PublishAsync”
- amazon-web-services - AWS API 网关服务编排
- python-3.x - 如何迭代两个字典并使用值进行计算,以键为条件?
- powerbi - DAX:如何选择每个日期和每个月的最大值
- reactjs - Material-ui 的 CardActionArea 组件属性的打字稿错误
- angular - 具有 SPA 和 MPA 方法的 Angular + net Core 应用程序