我注意到使用 Google Maps For Rails gems 可以很好地工作,当我更改模型字段中的地址时,即使地址字段已更新并保存,坐标也不会自动更新。我创建了一个调用地理编码的 before_save 方法。
before_save :update_location_coordinates # in model being mapped
protected
def update_location_coordinates
place = Gmaps4rails.geocode(gmaps4rails_address).first
self.longitude, self.latitude = place[:lng], place[:lat] unless place.empty?
rescue
nil
end
这可行,但我想知道是否有必要,因为它似乎应该在 gem 中自动执行。我错过了什么吗?
谢谢...
PS geocode 返回一个数组,所以我只做了第一个(最好的)猜测