[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: AJAX и Яндекс карты
igor1306
Добрый день такая ситуация, через AJAX хочу чтобы подгружалась Яндекс карта с конкретным адресом.

Код карты


window.onload=function ()
// Выполняет:
{
// создаем необходимый javascript объект
var map = new YMaps.Map(document.getElementById('YMapsID'));

// прописываем координаты, где мы находимся
var geocoder = new YMaps.Geocoder('111024, Москва, шоссе Энтузиастов, 14');

// функция узнает на основа нашего адреса соответствующие координаты
// и перемещает yandex maps (yandex карты) в соответствующею гео локацию

YMaps.Events.observe(geocoder, geocoder.Events.Load, function (geocoder)
// Выполняет:
{
// центруем наш адрес по центру отображаемой карты в соответствующем масштабом
// масштаб можете подбирать по своему усмотрению

map.setCenter(geocoder.get(0).getGeoPoint(),15);// устанавливаем точку

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

map.openBalloon(map.getCenter(),'Лефортовское отд. Сбербанка 6901, м.Авиамоторная');
});

}



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



<div id="YMapsID" style="width:600px;height:400px;"></div> Вивод информации



Когда весь этот код вставляю в AJAX файл, то ничего не происходит, а так код работает проверял. Что же делать?



Спустя 3 часа, 32 секунды (13.10.2012 - 05:42) redreem написал(а):
помести код в функцию и вызывай принудительно по ajax-комплиту.

function initMap() {
// создаем необходимый javascript объект
var map = new YMaps.Map(document.getElementById('YMapsID'));
....

}


а в ajax, ну если например на jQ:

$.ajax({

...

complete:function() {
initMap();
}

}
);


и второй момент, когда ты подгружаешь данные аджаксом, событие win.onload уж никак не сработает. win уже и так загружен. конец подгрузки куска контента аджаксом надо проверять другими методами и уж точно этот кусок не сможет делать это сам, поскольку он еще не загружен :) как сказал выше - контролировать загрузку нужно самим ajax-загрузчиком.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.