堆栈详细信息 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);
但这也不起作用。