我正在使用gmaps4rails。我正在努力实现以下目标:地图显示带有标记的位置,用户可以按照自己的意愿缩放/移动他的视线。我想要的是,当他这样做时,地图旁边的列表应该动态更新当前可见的所有位置。 我尝试使用回调机制和getBounds来过滤可见内容的数据结构,但没有成功。 我怎么能去做呢?
非常感谢! 儒略
在我的控制器中:类LocationsController< ApplicationController中
def index
if (params[:sw_y] && params[:sw_x] && params[:ne_y] && params[:ne_x])
bounds = [ [params[:sw_x].to_f, params[:sw_y].to_f],
[params[:ne_x].to_f, params[:ne_y].to_f] ]
@locations_within_bounds = Location.within_bounds(bounds)
else
@locations_within_bounds = Location.all
end
@locations = Location.all
@json = Location.all.to_gmaps4rails
在我看来:
<%= gmaps("markers" => {"data" => @json, "options" => {"list_container" => "markers_list", "do_clustering" => true } } ) %>
<table>
<tr>
<th>Name</th>
<th>Address</th>
<th>Longitude</th>
<th>Latitude</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @locations_within_bounds.each do |location| %>
<tr>
<td><%= location.name %></td>
<td><%= location.address %></td>
<td><%= location.longitude %></td>
<td><%= location.latitude %></td>
</tr>
<% end %>
</table>