0

我正在构建一个依赖于 Google Earth 插件的页面。该页面是使用 require.js 和主干构建的。我想在页面的给定部分被导航到时初始化谷歌地球插件(例如触发特定的主干路由)。

但是,如果在页面加载后(通过google.load('earth', '1');)初始化 google earth 插件,则页面内容将替换为生成的脚本标记 - 例如:

<script src="https://www.google.com/uds/?file=earth&amp;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>

页面消失。

有没有办法在页面加载后初始化插件,还是我需要求助于 HEAD 中的一些代码来初始化东西,然后只google.earth.createInstance在我准备好显示它时调用?

4

1 回答 1

0

就在发布之后,我终于在这里找到了答案:

google.load(
    'earth',
    '1',
    {
        'callback': function()
        {
            // what was in the google.setOnLoadCallback 
            // in the GE plugin examples 
        }
    }
);

(假设您已经包含了<script>指向https://www.google.com/jsapi的标签)。传入回调作为第三个参数的一部分,google.load显然阻止它将脚本标签写入您的文档并覆盖那里的任何其他内容!

于 2012-09-28T15:29:41.463 回答