2011-12-10 3 views
1

私には何か明白なものがありませんか?マップはコントローラに設定した@oldjsonのロードを維持し、ビューに設定すると置き換えられません。Google Maps for Rails replaceMarkersは動作しません

ビューコード:

<% @json = Map.find_by_id('39').to_gmaps4rails %> 
<%= gmaps("markers" => {"data" => @oldjson, "options" => { "draggable" => true } }) %> 
<script>  
    Gmaps.map.replaceMarkers(<%= @json %>); 
</script> 

感謝。

答えて

0

私はこの現在のコードとJSエラーに直面して再「あなたを推測

理由は以下の通りである。yield :scripts

以内に置かれ gmaps4railsで使用して作成された

  • JS

  • ここでは、地図が作成される前に追加のjsが呼び出されます

ソリューション:280キャッチされない例外TypeError:

<% @json = Map.find_by_id('39').to_gmaps4rails %> 
<%= gmaps("markers" => {"data" => @oldjson, "options" => { "draggable" => true } }) %> 
<% content_for :scripts do %> 
<script>  
    Gmaps.map.replaceMarkers(<%= @json %>); 
    </script> 
<% end %> 
+0

[OK]を、これはgmaps4rails.googlemaps.jsのかのJSのエラーを取得し、より理にかなってヌル方法 'fitBounds' を呼び出すことはできません。これを引き起こしている可能性があることは分かっていますか – Dan

+0

あなたはどのようなバージョンの宝石を持っていますか? – apneadiving

+0

考えてみましょう:マップを作成するには非同期の時間がかかり、マーカーです。したがって、マップ自体が準備が整う前に、独自のコードをトリガーすることができます。そのため、必要なものを安全に配置できるコールバックメソッドを作成しました。ドキュメントplz – apneadiving

関連する問題