2014-02-14 62 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