Ruby on rails gmaps4Rails-json返回为空
我在我的应用程序中安装了gmaps4rails 视图相关的东西似乎在工作,因为一个空的谷歌地图出现了。所以我认为我安装正确了 我遵循github页面上的快速入门: 我的控制器:Ruby on rails gmaps4Rails-json返回为空,ruby-on-rails,gmaps4rails,Ruby On Rails,Gmaps4rails,我在我的应用程序中安装了gmaps4rails 视图相关的东西似乎在工作,因为一个空的谷歌地图出现了。所以我认为我安装正确了 我遵循github页面上的快速入门: 我的控制器: def map @businesses = Business.all @json = @businesses.to_gmaps4rails respond_to do |format| format.html format.json {render json:@busin
def map
@businesses = Business.all
@json = @businesses.to_gmaps4rails
respond_to do |format|
format.html
format.json {render json:@businesses}
end
end
我的看法是:
=gmaps4rails(@json)
=@json
我打印@json
并意识到该值为空,即[]
My business.rb模型:
class Business < ActiveRecord::Base
belongs_to :city
belongs_to :category
has_many :reviews
attr_accessible :address, :description, :name, :phone, :urbanization, :url, :city_id
include FriendlyId
friendly_id :name, :use => :slugged
acts_as_gmappable
def gmaps4rails_address
# "#{self.address}, #{self.urbanization}, #{self.city.name}"
"619 Johnson Street, Kingston, ON"
end
end
class业务:sluged
可作为
def gmaps4rails_地址
#“{self.address},{self.都市化},{self.city.name}”
华盛顿州金斯敦约翰逊街619号
结束
结束
我为测试硬编码了地址…出于性能考虑,Gmaps4rails不会动态地进行地理编码
to_gmaps4rails
如果对象没有lat或long,则返回空json
您应该预处理对象(只需保存它们)。如果需要为所有对象添加经度和纬度,您可以在rails控制台中运行此操作以获取所有坐标
Venue.all.each do |venue|
geo_data = Gmaps4rails.geocode(venue.gmaps4rails_address)
venue.update_attributes(latitude: geo_data[0][:lat], longitude: geo_data[0][:lng])
sleep(1)
end
我也有同样的问题。它第一次就做到了,但是现在我想再次更新lat-lon,在一次简单的保存之后它就不会这么做了。有什么想法吗?Joel@joelmaranhao阅读文档:gmaps布尔值防止每次保存对象时触发地理编码。如果您想要地理编码,请将布尔值设置为false。我刚刚发现,没有时间取消我的评论。但是请不要抛出“阅读文档”,我喜欢gmaps4rails,我已经阅读过很多次了。可能不正确。。。但别让我觉得自己是个不做家庭作业的青少年。求你了@乔尔马兰豪:)我想我有时候有点苛刻。如果文档不清楚或更好,请共享,推送修改!不,医生,宝石很好。只是我老了,工作时间太长了。又是thx