Загрузка API Google Map по запросу

Обычно, API Карт Google загружается вместе со страницей. Однако если карта не важный элемент приложения и лучше, чтобы страница загружалась скорее, то можно отложить загрузку JavaScript кода до того момента, пока он понадобится. В API Яндекс Карт все делается аналогично.

Карты Google обеспечивают загрузку API при необходимости. Значит, нет спешки ее загружать одновременно со страницей.

Наведем пример нажатия на кнопку.

Загружать код сJavaScript c с помощью тега script не нужно. Его заменит кнопка

<input id=»loadButton» onclick=»loadAPI()» type=»button» value=»Load maps api» />

Нажатие на нее создает тег script со свойством src. Это свойсво добавляется к документу. Таким способом загружается API Google AJAX. Этот API необходим для загрузки других API Google.


function loadAPI()
{
    var script = document.createElement("script");
    script.src = "http://www.google.com/jsapi?key=YOUR_API_KEY_HERE&callback=loadMaps";
    script.type = "text/javascript";
    document.getElementsByTagName("head")[0].appendChild(script);
}


Не забудьте поменять ключ API Google Map на свой – новый ключ.
Обратите внимание на код в script.src, под именем callback=loadMaps. Он очень важный – сообщает, какая функция выплывет после загрузки Google AJAX. У нас будет функция loadMaps. Определяем ее.


function loadMaps()
{
    //AJAX API загружен успешно. Теперь можно загружать другие API
    google.load("maps", "2", {"callback" : mapLoaded});
}


Для загрузки нужного API, функция loadMaps прибегает к методу load API Google AJAX API. Загрузим вторую версию “maps”. Снова нужно указать возвратную функцию, которая вызвана только после успешной загрузки указанного API.


function mapLoaded()
{
    //Если мы оказались в данном месте кода, то API карт Google успешно загружен.
    //Теперь можно выводить карту на страницу
    if (GBrowserIsCompatible())
    {
        var map = new GMap2(document.getElementById("map_canvas"));
        map.setMapType(G_SATELLITE_MAP);
        map.setCenter(new GLatLng(28.631466106808542, 77.07853317260742), 5);
    }
}


Динамическая загрузка используется и с другими API.

Категория: HTML и DHTML Теги: 

Популярные записи:

Всплывающие отзывы гостей сайта Всплывающие отзывы гостей сайта
Форма обратной связи с аттачами Форма обратной связи с аттачами
Создание виртуальной клавиатуры Создание виртуальной клавиатуры
Популярные ошибки в HTML Популярные ошибки в HTML

Оставить комментарий или два

Отправить коментарий

Test

Яндекс.Метрика