我在通过 Ajax 加载的表单正文中使用 Gmap4Rails。表单中有自定义字段,其中一些可能是我在表单的非 Ajax 版本上工作的位置选择器。
使用表单的 Ajax 版本,我收到“Gmaps.my_map_id”未定义错误。
在表单的非 Ajax 版本中,我通过 JavaScript 在 HTML 页面标题中为“window.onload”调用 Gmaps.loadMaps,这是 Gmaps4Rails 的常规做法。
但是,这在 Ajax 的上下文中不起作用,因为在 window.onload 时尚未定义映射。
在我的表单中,我还为每个 Gmaps 地图对象定义了一个回调。这似乎是由于“未定义”错误而失败的原因,即使我执行“Gmaps.loadMaps();”也是如此 在 Ajax 加载的代码中定义第一个回调之前的脚本。
基本上它在代码顺序中是这样的:
- 在一个循环中,调用 gmaps4rails partial 以输出每个地图自定义字段
- 循环结束后, Gmaps.loadMaps() 被调用一次
- 在另一个循环中,每个 Gmaps 地图对象都为其添加了回调的 JS
关于如何使它工作的任何建议?