, activerecord-postgis-adapter
ve rgeo-geojson
çalışırken Raylarım var.MIME Türleri'ni kullanarak GeoJSON (veya WKT/WKB olarak seçmeli olarak) oluşturma
Şu anda WKT/WKB biçiminde bir JSON dizesi almak için varsayılan "object.json" URL'lerini kullanabilirim.
{"description":null,"id":1,"position":"POINT (10.0 47.0)"}
Ama şimdi bir özel MIME Type sahip olmak istiyorum, bu yüzden böyle GeoJSON biçimini elde etmek için "object.geojson" diyebilirsin: Şuna benzer
{"description":null,"id":1,"position":{"type":"Point","coordinates": [10.0, 47.0]}}
tek yol JSON-encoder'ı GeoJSON'a ayarlamak için onu global olarak RGeo::ActiveRecord::GeometryMixin.set_json_generator(:geojson)
ve RGeo::ActiveRecord::GeometryMixin.set_json_generator(:wkt)
kullanarak ayarlamak olduğunu buldum. Ama sadece yerel olarak ayarlamak istiyorum, bu mümkün mü?
Zaten mime_types.rb
için Mime::Type.register "application/json", :geojson, %w(text/x-json application/jsonrequest)
eklendi ve iyi çalışıyor: benim denetleyicisi bu kodu kullanabilirsiniz:
respond_to do |format|
format.json { render json: @object }
format.geojson { render text: "test" }
end
JSON işleyicisi :geojson
. !?
DÜZENLEME:
Benim nesneler Raylar Konsolu şuna benzer:
#<Anchor id: 1, description: nil, position: #<RGeo::Geos::CAPIPointImpl:0x3fc93970aac0 "POINT (10.0 47.0)">>
GeoJSON JSON ve onun uygun ortam türü "dir uygulama/json." Belki de GeoJSON verileri için tamamen farklı bir görünüm düşünün? – sgillies
Cevabınız için teşekkür ederiz: Ama hala soru şu: Global json_generator'ı ayarlamadan (!!) WKT yerine GeoJSON ile JSON nasıl oluşturabilirim? –