在向gmaps4rails添加圆圈时,我收到一条错误:TypeError:'undefined'不是对象(评估'circle.serviceObject.getBounds'

the*_*elz 12 javascript ruby-on-rails ruby-on-rails-3 gmaps4rails

我的目标是添加圆圈代替标记,以显示工具模型中每个工具的位置的一般区域.我能够根据SO上的其他答案添加圈子,但是使用以下代码我在这个问题的标题中得到错误.

在我的控制器中:

def index
  @tools = Tool.all
  @json=Tool.all.to_gmaps4rails

  @circles = Tool.all{|t| {:longitude => t.longitude, :latitude => t.latitude, :radius =>"1000" }}.to_json 
  respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @tools }
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的视图文件中:

<%= gmaps({ "markers" => {"data" => @circles}, "circles" => { "data" => @circles} }  ) %>
Run Code Online (Sandbox Code Playgroud)

JavaScript错误会将我引导至gmaps4rails.googlemaps.js文件中的第401行:

  this.boundsObject.extend(circle.serviceObject.getBounds().getNorthEast());
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

wiz*_*tjh 1

休息一下this.boundsObject.extend(circle.serviceObject.getBounds().getNorthEast());

并打印我们的圆圈

如果我没记错的话,rails 中的 @circle 格式不正确

  @circles = Tool.map{|t| {:longitude => t.longitude, :latitude => t.latitude, :radius =>"1000" }}.to_json 
Run Code Online (Sandbox Code Playgroud)

它应该是map而不是all来映射所有数组并以json打印出来