use*_*837 7 ruby geolocation sinatra
我正在Sinatra创建一个小应用程序,我想从他们的邮政编码(他们会输入),他们与其他用户之间的距离(通过邮政编码)确定用户的城市,并且可能是热量拉链的地图.
我该怎么做?我已经尝试了geoip gem,但它似乎没有做我想要的.我会使用像谷歌地图这样的外部服务(显然我需要这个用于热图)吗?
谢谢你的帮助.
小智 9
该GeoKit宝石听起来像一个适合你想要做什么.
它将接口抽象为各种地理编码服务(Yahoo,Google等),并提供距离计算代码.
您可以对拉链进行地理编码以获取位置,访问有关位置的地址信息以及计算位置之间的距离.
这是快速入门,从链接页面复制无耻,只是为了让您了解库的工作原理:
irb> require 'rubygems'
irb> require 'geokit'
irb> a=Geokit::Geocoders::YahooGeocoder.geocode '140 Market St, San Francisco, CA'
irb> a.ll
=> 37.79363,-122.396116
irb> b=Geokit::Geocoders::YahooGeocoder.geocode '789 Geary St, San Francisco, CA'
irb> b.ll
=> 37.786217,-122.41619
irb> a.distance_to(b)
=> 1.21120007413626
irb> a.heading_to(b)
=> 244.959832435678
irb(main):006:0> c=a.midpoint_to(b) # what's halfway from a to b?
irb> c.ll
=> "37.7899239257175,-122.406153503469"
irb(main):008:0> d=c.endpoint(90,10) # what's 10 miles to the east of c?
irb> d.ll
=> "37.7897825005142,-122.223214776155"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2631 次 |
| 最近记录: |