无法匹配地理编码器中计算的距离
Unable to match distance computed in geocoder
根据地理编码器官方文档:
埃菲尔铁塔和帝国大厦之间的距离
Geocoder::Calculations.distance_between([47.858205,2.294359], [40.748433,-73.985655])
=> 3619.77359999382 # 配置单位(默认英里)
def geodistance
render json: Geocoder::Calculations.distance_between([47.858205,2.294359], [40.748433,-73.985655])
end
在我的例子中我得到的值为:
=> 3648.3340765758867
单位配置没变,不知道会出什么问题!
irb(main):001:0> require 'geocoder'
true
irb(main):002:0> Geocoder::Calculations.distance_between([47.858205,2.294359], [40.748433,-73.985655])
3648.3340765758867
这是我的示例输出。
IMO:可能是您在每种情况下使用了不同的 ruby 或 gem 版本或其他...
很高兴知道这两个代码示例在哪些环境中执行。
使用source,卢克!
编辑:
可能是这部分代码中的内容:
a = (Math.sin(dlat / 2))**2 + Math.cos(point1[0]) *
(Math.sin(dlon / 2))**2 * Math.cos(point2[0])
c = 2 * Math.atan2( Math.sqrt(a), Math.sqrt(1-a))
c * earth_radius(options[:units])
Read me doc distance value :=> 3619.77359999382 is outdated.
根据地理编码器官方文档:
埃菲尔铁塔和帝国大厦之间的距离
Geocoder::Calculations.distance_between([47.858205,2.294359], [40.748433,-73.985655])
=> 3619.77359999382 # 配置单位(默认英里)
def geodistance
render json: Geocoder::Calculations.distance_between([47.858205,2.294359], [40.748433,-73.985655])
end
在我的例子中我得到的值为:
=> 3648.3340765758867
单位配置没变,不知道会出什么问题!
irb(main):001:0> require 'geocoder'
true
irb(main):002:0> Geocoder::Calculations.distance_between([47.858205,2.294359], [40.748433,-73.985655])
3648.3340765758867
这是我的示例输出。
IMO:可能是您在每种情况下使用了不同的 ruby 或 gem 版本或其他... 很高兴知道这两个代码示例在哪些环境中执行。
使用source,卢克!
编辑:
可能是这部分代码中的内容:
a = (Math.sin(dlat / 2))**2 + Math.cos(point1[0]) *
(Math.sin(dlon / 2))**2 * Math.cos(point2[0])
c = 2 * Math.atan2( Math.sqrt(a), Math.sqrt(1-a))
c * earth_radius(options[:units])
Read me doc distance value :=> 3619.77359999382 is outdated.