用于多边形边界的Rails中的GeoCoding

有没有一种方法可以通过一些映射API / gem在rails中定义地图区域/地图区域(带有多边形边界)并检测地址是否属于特定区域/区域。

这可以通过geokit轻松完成。

首先从LatLng构造一个多边形:

polygon = Geokit::Polygon.new([ Geokit::LatLng.new(0,0), Geokit::LatLng.new(10,0), Geokit::LatLng.new(10,10), Geokit::LatLng.new(20,10), Geokit::LatLng.new(20,0), Geokit::LatLng.new(30,0), Geokit::LatLng.new(30,20), Geokit::LatLng.new(0,20) ]) 

然后你可以测试多边形是否包含LatLng:

 point = Geokit::LatLng.new(5,5) polygon.contains?(point) # => true