【发布时间】:2016-01-16 00:41:39
【问题描述】:
我正在尝试在谷歌地图中添加动态内容infobubble:
- 一个第一个标记单击一个空的信息气泡出现
- 在 SECOND 点击标记时会加载正确的内容
根据this answer,我正在使用先前定义的 infobubble 对象上的domready 事件来启动加载动态内容的函数。
...尽管该答案中的 JS 小提琴具有误导性,因为“动态”内容实际上是在 domready 之前使用 content 调用的 content 选项加载的
我在控制台中收到了所有正确的信号,表明 domready 功能正在完成,并且在第一次标记点击时正确找到了内容。
试过了:
查看the infobubble.js code并将console.logs放在第1231行的任一侧:
google.maps.event.trigger(this, 'domready');
结果表明 domready 确实在动态函数开始之前被触发。使用 infobubble
disableAnimation: true选项禁用动画 - 认为在调用 domready 后可能会减慢 infobubble 加载速度 - 但它不起作用添加了最多 3 秒的
setTimeout(),但这似乎无济于事……无论如何,这将是一个糟糕的 hack。
如何在第一次点击标记时加载动态内容?
JS Fiddle here
注意事项:
- 对于 js fiddle 示例,我使用 $.get() 调用 - 因为在我的应用程序中,我使用 mustache 将模板加载到 infobubble
- 正在加载的示例内容与$.get() 调用无关(是的,我可以在没有$.get() 调用的情况下实现相同的效果),但我只是想对我自己的应用程序使用类似的代码布局+时间
【问题讨论】:
标签: jquery google-maps infowindow domready infobubble