По нажатию на пункт меню происходит загрузка данных о метках через AJAX. Потом содаются сами метки и объединяются в группу, затем группа меток выводится на карту.
Консоль JavaScript в хроме не выводит никаких ошибок, но метки не появляются.
// создаем карту
var map;
YMaps.jQuery(function () {
map = new YMaps.Map(YMaps.jQuery("#YMaps")[0]
map.setCenter(new YMaps.GeoPoint($map_center), $map_scale);
map.setType(YMaps.MapType.MAP);
map.disableDblClickZoom(
map.enableScrollZoom(
map.addControl(new YMaps.Zoom()
}
// Функции создания метки и группы были взяты от сюда.
// Создает метку (координаты, имя, описание)
function createPlacemark (point, name, description) {
var placemark = new YMaps.Placemark (new YMaps.GeoPoint (point)
placemark.name = name;
placemark.description = description;
return placemark;
}
// Создает группу меток (название группы, массив меток, оформление)
function createGroup (title, objects, style) {
group = new YMaps.GeoObjectCollection(style);
group.title = title;
group.add (objects);
map.addOverlay(group);
}
// собственно создание и отображение меток
function show (result) {
var plac_group = []; // массив меток
var point; // координаты метки
var name; // имя метки
var description;// описание метки
// создаем массив меток на карте
for (var i = 0; i < result.length; i++) {
point = result[i].coords;
name = result[i].name;
description = result[i].address;
// добавляем в массив метки
plac_group.push(createPlacemark (point, name, description)
}
createGroup (name, plac_group, "default#greenPoint"); // создаем группу
}
И еще 1 вопрос: если сделать вот так:
var map;
YMaps.jQuery(function () {
map = new YMaps.Map(YMaps.jQuery("#YMaps")[0]
map.setCenter(new YMaps.GeoPoint(map_center), map_scale);
map.setType(YMaps.MapType.MAP);
map.disableDblClickZoom(
map.enableScrollZoom(
map.addControl(new YMaps.Zoom()
}
var placemark = new YMaps.Placemark (new YMaps.GeoPoint (point_s,point_d)
placemark.name = "11111";
placemark.description = "123123";
map.addOverlay (placemark);
то выводится ошибка: Cannot call method 'addOverlay' of undefined