Клуб API Карт

YMaps.jQuery is not a function

Пост в архиве.

Есть такой код на странице:

<script src="http://api-maps.yandex.ru/1.1/index.xml?key=тут ключ"
    type="text/javascript"></script>

 

// обработка клика на надписи Карта проезда

$(document).ready(function () {

$("#map").click(function () { 

            alert("Обработчик работает") ;
            loadMap() ;          
        }) ;

 }

 

И сообсвтенно функция loadMap() :

function loadMap() {

         // добавляем div где будет хранится карта
        $("#publicationBlockContent").html("<div id='YMapsID' style='width:600px;height:400px'></div>") ;

        YMaps.jQuery(function () {

            var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]) ;

            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10) ;
            map.addControl(new YMaps.TypeControl()) ;
                }) ;       
    }

 

Firefox показывает такую ошибку:

YMaps.jQuery is not a function


Спасибо.

6 комментариев

тут конечно феерическая глупость написана, но даже в таком виде оно работает в моем ФФ.

"тут конечно феерическая глупость написана"

что именно смутило так?)

"работает в моем ФФ"

странно, какие могут быть причины почему у меня не работает?

 

PS. Забыл написать, код выше расположен на странице, которая грузится через AJAX.

 

 

что именно смутило так?)

ну например то что вы зачем-то еще раз вызываете обработчик document.ready "YMaps.jQuery(function () {"

внутри loadMap, хотя он там и не нужен. И вообще если у вас свой jQuery через доллар '$' зачем использовать тот что в YMaps?

 

PS. Забыл написать, код выше расположен на странице, которая грузится через AJAX.

Да уж. забыл так забыл. =)

очевидно что в этом и причина, но боюсь что на словах понять весь размах вашего архитектурного шедевра очень не просто

нужна ссылка на страницу

 

Сайт только на локальной машине пока.

 

Пробовал переписать так:

function loadMap() {
            $("#publicationBlockContent").html("");
            alert("aaa") ;

            var map = new YMaps.Map($("#YMapsID") );
            map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10) ;
            map.addControl(new YMaps.TypeControl()) ;
        }

 

Теперь выдает: YMaps.Map is not a constructor

загружайте АПИ на той странице на которой загружаете эту страницу

Помогло, спасибо большое.