我使用hasrshine公式计算位置之间的距离。
$distance = (((acos(sin(($fromLat * pi() / 180)) * sin(($toLat * pi( )/ 180)) + cos(($fromLat * pi() / 180)) * cos(($toLat * pi() / 180)) * cos((($fromLon - $toLon) * pi() / 180)))) * 180 / pi()) * 60 * 1.1515);
它正常工作,但对于某些坐标值,它会给出NAN
。
它为NAN
提供的值为
fromLat : 22.303894
fromLon : 70.802162
toLat : 22.303894
toLon : 70.802162
答案 0 :(得分:1)
您正在比较相同的坐标。要求acos
函数计算1的反余弦值,它会失败。在传递函数之前,您需要检查坐标是否相同。此外,如果您没有得到号码,结果可能没有距离。