Инициализация подключаемого модуля Google Планета Земля после загрузки страницы приводит к пустой странице

Я создаю страницу, которая использует плагин Google Earth. Страница построена с использованием require.js и магистрали. Я хочу инициализировать подключаемый модуль Google Планета Земля при переходе к определенной части страницы (например, срабатывает определенный магистральный маршрут).

Однако, если подключаемый модуль Google Earth инициализируется (через google.load('earth', '1');) после загрузки страницы, содержимое страницы заменяется сгенерированным тегом скрипта, например:

<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 только тогда, когда я готов его отобразить?


person vitch    schedule 28.09.2012    source источник


Ответы (1)


И сразу после публикации я наконец нахожу ответ здесь:

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, по-видимому, не позволяет ему записывать теги сценария в ваш документ и перезаписывать все, что там было!

person vitch    schedule 28.09.2012