Я использую гем mongoid_special вместо mongoid_geo .Главный вопрос: как геокодировать с gmaps4rails введенными местами и сохранять координаты, такие как lat и lng, в правых mongoid_special полях массива?Я предсказываю много ассоциаций для координат.Иллюстративные материалы:
/haml view fields (autocompleted with google places)/
= f.text_field :from, :id => 'from'
= f.text_field :waypoints, :id => 'waypoints'
= f.text_field :to, :id => 'from'
class Trip
include Gmaps4rails::ActsAsGmappable
include Mongoid::Document
include Mongoid::Spacial::Document
field :from, :type => String
field :waypoints, type => String
field :to, type => String
field :from_coordinate, type: Array, spacial: {lat: :latitude, lng: :longitude, return_array: true }
field :to_coordinate, type: Array, spacial: {lat: :latitude, lng: :longitude, return_array: true }
embeds_many :coordinates
end
class Coordinates
include Mongoid::Document
include Mongoid::Spacial::Document
field :coordinates, type: Array, spacial: {lat: :latitude, lng: :longitude, return_array: true }
embedded_in :trip
end
Еще один вопрос: как получить обратный геокод из этих полей и отобразить данные в виде направления Google?
РЕДАКТИРОВАТЬ Спасибо за подсказку, мое решение для поля ниже, с остальными я могу как-то справиться.
before_save :from
def from=(from)
self.from_coordinate = Gmaps4rails.geocode(from).first
end