スタックの詳細 ruby 1.9.2p180、rails 3.0.9、gmaps4rails 1.0.2、jquery.json-2.3.min.js
背景 私は gmaps4rails の初心者で、gem が本当に好きです。これまでのところすべてうまくいっていますが、初めてマーカーを動的に更新しようとしています。私はapplication.jsで次のことをしています:
var markers_json = $.toJSON(markers_array);
Gmaps.map.replaceMarkers(markers_json);
これは機能せず、次のエラーが発生します
Uncaught TypeError: Cannot read property 'position' of undefined
extendBoundsWithMarkers in gmaps4rails.googlemaps.js:204
Gmaps4Rails.adjustMapToBounds in gmaps4rails.base.js:443
Gmaps4Rails.create_markers in gmaps4rails.base.js:321
Gmaps4Rails.addMarkers in gmaps4rails.base.js:389
Gmaps4Rails.replaceMarkers in gmaps4rails.base.js:381
これまでの調査
マップの初期作成が、マーカーを json 文字列として提供することによって行われることを確認しました。
replaceMarkers 呼び出しで同じ形式の json 文字列を指定していることを確認しました
ソースで、最初のページ読み込み時に addMarkers が呼び出されると、マーカーはオブジェクト配列の形式ですが、(前述のように) replaceMarkers 呼び出しには JSON 文字列が含まれていることを確認しました
その他の試み JSONに変換せずにマーカーを渡そうとしました
Gmaps.map.replaceMarkers(markers_array);
しかし、それもうまくいきませんでした。