问题
What are the available (best) ruby IP-based geolocation gem/plugins?
How do they compare to one another in terms of functionality, performance and ease of use (e.g. do they interact with a web service, or require a separate database, etc.) ?
I'm hoping anyone that has used some can share their experience and give recommendations.
回答1:
Your current best bet is probably GeoKit (http://github.com/andre/geokit-gem for gem, http://github.com/andre/geokit-rails for plugin). It has built in functionality for Yahoo and Google API keys, distance calculation helpers, reverse geolocation, etc.
However, GeoMereLaal (http://github.com/parolkar/geo_mere_laal/) is based on the working draft of the W3C Geolocaton API. It's very limited at the moment as I could only get it to work in Firefox, but it will be more accurate as it's supported by more browsers since it uses more methods of Geolocation (GPS, WiFi, cookies, IP).
回答2:
RubyGeocoder seems to be the current favorite and it's kept up to date. Comes complete with a railscast episode! http://rubygeocoder.com/
回答3:
Easier to use and faster to set up, but with less features: http://humbuckercode.co.uk/licks/gems/geoip.
No external queries, no schema changes and quite fast.
回答4:
While I've never used it, Graticule looks promising.
回答5:
Geocoder is a complete geocoding solution for Ruby. With Rails it adds geocoding (by street or IP address), reverse geocoding (find street address based on given coordinates), and distance queries. It’s as simple as calling geocode on your objects, and then using a scope like Venue.near("Billings, MT").
https://github.com/alexreisner/geocoder
来源:https://stackoverflow.com/questions/1703511/ruby-geolocation-gem-plugins