添加foursquare场地加上实例gmaps4rails的位置

时间:2012-11-10 01:54:02

标签: ruby-on-rails gmaps4rails

我有一个应用程序,其位置模型由用户输入的地址进行地理编码,现在我在给定地址实例中地理编码的地址的情况下显示谷歌地图,现在我要做的是显示foursquare场地及其地图中显示位置实例的图标,我怎么能实现这一点,我已经将附近的场地放在列表中,如何在地图上显示它们的图标。

这是展示视图和控制器,我想在其中看到带有位置实例的地图以及附近的四方场地......

  def show
    @location = Location.find(params[:id])
    @json = Location.where('slug = ?', params[:id]).to_gmaps4rails
  end

观点:

<% provide(:title, @location.name) %>
<% if !@location.active? %>
  <%= content_tag(:div, "Location currently deactivated!", class: "alert") %>
<% end %>
<div class="row-fluid">
  <aside class="span4" >
    <section>
      <h1>
        <%= @location.name %>
      </h1>
      <%= gmaps({
        "map_options" => { "auto_zoom" => false, "zoom" => 17 },
        "markers"     => { "data" => @json }
      }) %>        
    </section>
  </aside>
</div>

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

foursquare2 gem可能对您有用。

答案 1 :(得分:0)

嗯,很难猜出你的场地是怎样的,但是我可以给你一些我怀疑可以工作的东西。

假设:

  • to_gmaps4rails吐出JSON

  • 场地至少有纬度,经度。也许是图片。

你的目标:从地点将json从地点添加到json。

单曲:

locations_array_of_hashes = JSON.parse(@json)
venues_array_of_hashes = #do what is necessary to build an array containing hashes like { lat: , lng: , marker_picture: }

global_array_of_hashes = locations_array_of_hashes.concat venues_array_of_hashes
@global_json = global_array_of_hashes.to_json