Nie*_*lsV 0 json geojson ruby-on-rails-3
我目前正在处理的rails服务要求在json响应中将点作为GeoJSON对象返回.我们使用rgeo和mysql2spatial适配器在我们的应用程序中表示这些点,我想使用rgeo-geojson gem来处理编码,如果可能的话(我们已经用它来解码post上的geojson).
我目前正在使用以下代码覆盖as_json来实现此目的:
def as_json(params)
l = {:lat_lng => ::RGeo::GeoJSON.encode(lat_lng)}
self.attributes.merge(l).as_json
end
Run Code Online (Sandbox Code Playgroud)
然而,这不是最佳的,因为缺少根(例如对象:{}).是否有容易包含它的功能?(很多我们的模型都有一个lat_lng关联,所以我宁愿不用硬编码).
任何红宝石/铁轨初学者的提示将不胜感激
对于后代,我在获得几个报告之后,在"rgeo-activerecord"gem 0.3.4中修复了这个问题.默认情况下,它会在WKT中呈现空间列.要将其切换到GeoJSON,请设置:
RGeo::ActiveRecord::GeometryMixin.set_json_generator(:geojson)
Run Code Online (Sandbox Code Playgroud)
NielsV的答案有时会有效,但不是每次都有效.具体来说,它适用于地理工厂(即PostGIS中的几何列),但不适用于GEOS支持的工厂.
| 归档时间: |
|
| 查看次数: |
1056 次 |
| 最近记录: |