Клуб API Карт

Динамичесая загрузка

aless133
16 ноября 2013, 17:00

Следующая функция выполняется при клике на таб, содержащий карту.

 

function popupShowMap(t)
{
    if ($('#popup-map-container').html().length==0)
    {
        if (typeof YMaps == 'undefined')
            {
                (function(t){
                    $.getScript("http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU"                   
                        ,function(){
                            ymaps.ready(function() {
                                popupShowMap(t);
                            });
                        }
                    );
                })(t);
            }
        else
        {
                var map = new ymaps.Map('popup-map-container', {
                    center: [53.9013148,27.5624085],
                    zoom: 11,
                    behaviors: ['drag','multiTouch'],
                    type:'yandex#map' });
        }
    }
}

 

В результате получаем

TypeError: ymaps.Map is not a constructor


Вариант с обертыванием в " ymaps.ready(function() {" нижней части тоже ни к чему не приводит :(

 

Или может я изобретаю велосипед?

Как загрузкить апи и потом создать карту по клику?

 

1 комментарий
Подписаться на комментарии к посту
typeof YMaps == 'undefined'

 

YMaps != ymaps


Такой вариант у меня работает 

$(function () {    $(document).on('click', function () {        $.getScript("http://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU", function () {            ymaps.ready(function () {                var myMap = new ymaps.Map('map', {                    center: [55.751574, 37.573856],                    zoom: 9                });            });        });    });});