在Ruby中,如何从城市白名单中找到范围内的城市?

在Ruby中,如何从城市白名单中找到范围内的城市?,ruby,geolocation,Ruby,Geolocation,我有一个城市的白名单。我有一个用户指定了他们的位置。我想找出哪些城市在用户50英里半径范围内 为了获得这些信息,我需要采取哪些步骤?也许有一些地理编码gem可以帮助完成这项任务?查看gem。它将为你提供帮助 下面是一个快速示例,向您展示如何继续: require 'geocoder' cities = %w( Paris Tokyo Berlin New-York ) geocoded_cities = cities.map{ |city| Geocoder.search( city ).fi

我有一个城市的白名单。我有一个用户指定了他们的位置。我想找出哪些城市在用户50英里半径范围内

为了获得这些信息,我需要采取哪些步骤?也许有一些地理编码gem可以帮助完成这项任务?

查看gem。它将为你提供帮助

下面是一个快速示例,向您展示如何继续:

require 'geocoder'

cities = %w( Paris Tokyo Berlin New-York )
geocoded_cities = cities.map{ |city| Geocoder.search( city ).first }

user_city = "London"
geocoded_user_city = Geocoder.search( user_city ).first

close_cities = geocoded_cities.select do |city|
  Geocoder::Calculations.distance_between( city.coordinates, geocoded_user_city.coordinates, { units: :mi } ) < 800
end
需要“地理编码器”
城市=%w(巴黎、东京、柏林、纽约)
geocoded_cities=cities.map{| city | Geocoder.search(city).first}
用户\ u city=“伦敦”
geocoded_user_city=Geocoder.search(user_city)。首先
关闭城市=地理编码城市。选择do城市|
地理编码器::计算(city.coordinates,地理编码用户_city.coordinates,{units::mi})之间的距离_<800
结束