0
gmaps4railsとgeocoder gemを使用して、現在のデータベースと一致するすべての場所を表示しています。これはコントローラのコードです。gmaps4rails - コントローラオブジェクトが空になっています
def map_view
@users = User.where(city: params[:city])
@hash = Gmaps4rails.build_markers(@users) do |user, marker|
marker.lat user.latitude
marker.lng user.longitude
end
respond_to do |format|
format.html
format.js
end
puts 'coordinates', @hash
end
私はビューで@hash
オブジェクトを使用しようとすると、オブジェクトがnullです。
<script type="text/javascript">
handler = Gmaps.build('Google');
handler.buildMap({ provider: {}, internal: {id: 'map_location'}}, function(){
markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
</script>
上記のコードはビューにあります。マップは空のオブジェクトで表示されます。ブラウザのコンソールにこのエラーが表示されますUncaught RangeError:最大呼び出しスタックサイズがを超えました。
コントローラから印刷するとき、オブジェクトはnullではありません。 Here is the output from the server.
私は新規です。私はあなたの助けに感謝します。
渡された値は 'nil'ではありません。私は値が 'lat'と' long'で渡された後の問題だと思います。 – mbd