【发布时间】:2013-03-27 10:10:46
【问题描述】:
我想看看是不是这个
Math.sqrt(
Math.pow((position.coords.latitude -45),2) +
Math.pow((position.coords.longitude-75),2)
)*79;
匹配这个:
Distance to store (km) = Square Root (
(Current Latitude – 45)^2 +
(Current Longitude ‐75)^2
) *79
现在我得到了 11,XXX KM,这已经很多了,但我没有发现任何错误。
我也试过这样做:
var x = Math.pow((position.coords.latitude-45),2);
var y = Math.pow((position.coords.longitude-75),2);
var z = Math.sqrt(x+y);
var zz = z*79;
但它给了我相同的答案。
【问题讨论】:
-
正确的值应该是多少?
-
你使用什么价值观?顺便说一句,比起
Math.pow(x,2),更喜欢x*x,它会更快。 -
我认为你不应该移动这个特定的问题,而只是作为一般的琐事;你知道有一个用于数学的 stackexchange 网站吗? math.stackexchange.com
-
Lattitude and longitude 不是以 KM 为单位,而是以度为单位,它们是角度。因此,您计算距离的方式不起作用。有关计算距离的正确方法,请参阅stackoverflow.com/questions/27928/…。
-
一个可能的问题是这个公式只能对非常短的距离有效。更好的公式可用here。
标签: javascript math