如何在Google-Maps-for-Rails上显示当前位置

时间:2017-09-28 16:28:35

标签: ruby-on-rails google-maps ruby-on-rails-4 gmaps4rails

我安装了gem 'gmaps4rails',目前设置是显示位置:

<div style='width: 800px;'>
  <div id="map" style='width: 800px; height: 400px;'></div>
</div>

<script>
    handler = Gmaps.build('Google');
    handler.buildMap({ provider: {}, internal: {id: 'map'}}, function(){
        markers = handler.addMarkers(<%=raw @hash.to_json %>);
        handler.bounds.extendWith(markers);
        handler.fitMapToBounds();
        handler.getMap().setZoom(16);
    });
</script>

我想在地图上显示当前位置。关于如何实现的任何想法?

1 个答案:

答案 0 :(得分:1)

将当前用户位置哈希附加到您的位置哈希数组中,其余将由Gmap4Rails处理

def show
    @las = La.find(params[:id])
    @hash = Gmaps4rails.build_markers(@las) do |la, marker|
      marker.lat la.latitude
      marker.lng la.longitude
    end
    append_cur_location 
end 

def append_cur_location
  @hash << { :lat=>action[0], :lng=>action[1]}
end

def action
   @lat_lng = cookies[:lat_lng].split("|")
end

其他:如果您想要当前用户位置的单独图像。请参阅下面的

  

{:lat =&gt; 12.9698,:lng =&gt; 77.7499,:picture =&gt; {:url =&gt; user_image_path,   :width =&gt; 32,:height =&gt; 32}}