0
我已經在谷歌地圖中測試過了,它看起來合法。但我不太確定我是否正確理解該公式。東方和西方是否需要* 180
而不是* 90
?這是計算所有方向緯度/經度(NSEW)的正確方法嗎?
EARTH_RAD = 6378
...
def calculate_distance(lat, lon, direction)
case direction
when :north
lat = (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90 + lat
[lat, lon]
when :south
lat = (lat - (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90)
[lat, lon]
when :east
lon = (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90 + lon
[lat, lon]
when :west
lon = (lon - (@kilometers/(EARTH_RAD * (Math::PI/2))) * 90)
[lat, lon]
end
end