2014-02-14 65 views

回答

1

退房geocoder宝石。它会为您提供distance calculation methods

下面是一个简单的例子来告诉你如何进行:

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 
+0

这有助于,谢谢! – Andrew