Загрузите Google Map API в асинхронном режиме, используя steal.js
Я пытаюсь выполнить следующий код, используя steal.js (из расширения javascriptmvc):
steal("http://maps.google.com/maps/api/js?sensor=true");
Это работает для всех других скриптов. Но, в случае API-адреса карты Google, появляется сообщение об ошибке "Параметр датчика не установлен". Как от этого избавиться, пожалуйста?
Если вы можете показать какой-то другой способ загрузить этот скрипт асинхронно, это тоже будет хорошо. Мол, я пытался с google js api loader, но эта поддержка загрузки Google Map API до версии 2, нет поддержки 3. Спасибо заранее.
1 ответ
Обычно вы не крадете внешние скрипты. украсть не сможет встроить их в ваш рабочий файл.
Несмотря на это, текущий API Карт Google не предназначен для асинхронной загрузки. Если вы изучите источник, вы увидите, что он использует document.write
, которые не будут работать должным образом после загрузки страницы без помощи сторонней библиотеки.
Согласно комментарию ниже, я был неправ. Вы можете загрузить Google Maps асинхронно, используя параметр обратного вызова:
window.myCallback = function() {
new google.maps.Map(...);
};
$.getScript('//maps.google.com/maps/api/js?sensor=false&callback=myCallback');