В большинстве случаев так и происходит.
А также есть возможность указать что бы API грузилось по запросу. Т.е. сначала грузится небольшое "ядро", а потом вы из своего скрипта можете дать команду на загрузку всего АПИ
У меня страница грузится до того места в котором карта установлена и то что в коде ниже расположено не открывается пока она не загрузится. С медленной связью совсем некомфортно получается. …про загрузку по запросу, где подробнее можно прочитать? (у меня геокодер используется).
Т.е. у вас идет div для карта и потом сразу код инициализации карты? Так сделайте запуск инфиализации карты и ее последующие использование после того как страница загрузиться целиком...
Загрузка АПИ по требованию: http://api.yandex.ru/maps/jsapi/doc/dg/tasks/api-loading.xml
Что-то не работает у меня загрузка по требованию, только
кнопка появляется, но при нажатии на неё ничего не происходит …(без загрузки по
требованию карта работает)
Вы потеряли несколько скобочек. Правильный код вот такой:
function init () { var map = new YMaps.Map(document.getElementById("YMapsID"));
//Добавляем элементы управления. map.addControl(new YMaps.TypeControl());//Тип карты, кнопки Схема, Гибрид, Спутник map.addControl(new YMaps.ToolBar());//Тулбар, Кнопки Рука, Лупа, Линейка map.addControl(new YMaps.Zoom());//Увеличение // map.addControl(new YMaps.MiniMap());//Миникарта внизу map.addControl(new YMaps.ScaleLine());//Шкала увеличения
// Создание объекта геокодера var geocoder = new YMaps.Geocoder("Адрес объекта");
// По завершению геокодирования инициализируем карту первым результатом YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder) { if (geocoder.length()) { map.setBounds(geocoder.get(0).getBounds());
// Создание метки с всплывающей подсказкой var placemark = new YMaps.Placemark(map.getCenter(), {hasHint: 1}); placemark.name = "Текст подсказки";
// Добавление метки на карту map.addOverlay(placemark); } }); }