我正在建立一个依赖于谷歌地球插件的页面。该页面是使用require.js和backbone构建的。我想要初始化Google Earth插件,当页面的给定部分被导航到(例如,一个特定的主干路由被触发)。
然而,如果谷歌地球插件是在页面加载之后初始化的(通过google.load('earth', '1');),那么页面的内容将被生成的脚本标记替换-例如:
<script src="https://www.google.com/uds/?file=earth&v=1" type="text/javascript"></script>
<script src="https://www.google.com/uds/api/earth/1.1/109c7b2bae7fe6cc34ea875176165d81/default.I.js" type="text/javascript"></script>页面就会消失。
有没有办法在页面加载后初始化插件,或者我是否需要求助于头部中的一些代码来初始化内容,然后只在准备好显示它时调用google.earth.createInstance?
发布于 2012-09-28 23:29:41
就在我发帖之后,我终于找到了答案here
google.load(
'earth',
'1',
{
'callback': function()
{
// what was in the google.setOnLoadCallback
// in the GE plugin examples
}
}
);(假设您已经包含了指向https://www.google.com/jsapi的<script>标记)。将回调作为第三个参数的一部分传递给google.load,显然会阻止它将脚本标记写入您的文档并覆盖文档中的其他内容!
https://stackoverflow.com/questions/12642699
复制相似问题