Нужно отобразить на карте флажки представительств (больше 50).
Полеза в документацию, разобралась, насколько хватило разумения... Из готовых примеров слепила :)
<script src="http://api-maps.yandex.ru
/1.1/index.xml?key=AA-YOE " type="text/javascript"></script> <script type="text/javascript">wBAAAAelGNBgIAEAPZf_7qBPv TEPhmeN26HpvvxsYAAAAAAAAA AACD3Ro7PM2UZq5zzFCz9GkqS Uz9-A==
// Создание обработчика для события window.onLoad
YMaps.jQuery(function () {
// Создание экземпляра карты и его привязка к созданному контейнеру
var map = new YMaps.Map(YMaps.jQuery("#YMapsID")[0]),
gorod = {
'Россия' : new YMaps.GeoPoint(67.119649,49.365056),
'Ростов-на-Дону' : new YMaps.GeoPoint(39.693849,47.261176),
'Москва' : new YMaps.GeoPoint(37.609218,55.753559),
'Санкт-Петербург' : new YMaps.GeoPoint(30.313497,59.938531),
// Остальные города опустила...
};
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());
// Устанавливает центр карты на России
map.setCenter(gorod['Россия'], 2);
//------------------------------------------------ ---
// Создает стиль
var s = new YMaps.Style();
// Создает стиль значка метки
s.iconStyle = new YMaps.IconStyle();
s.iconStyle.href = "/templates/youtravel/favicon.ico";
s.iconStyle.size = new YMaps.Point(25, 20);
s.iconStyle.offset = new YMaps.Point(0,-20);
s.iconStyle.shadow = new YMaps.IconShadowStyle();
s.iconStyle.shadow.href = "/templates/youtravel/favi.ico";
s.iconStyle.shadow.size = new YMaps.Point(25, 20);
s.iconStyle.shadow.offset = new YMaps.Point(0, -20);
// Делаем метки!!!!
// Ростов---------
var rostov = new YMaps.Placemark(gorod['Ростов-на-Дону'],{style: s});
// Устанавливает содержимое балуна
rostov.name = '<center><a href="http://carrrot.ru/index.php?option=com_contact&vie ">Ростов-на-Дону<br /></a>';w=contact&id=2
rostov.description = '<a href="http://carrrot.ru/index.php?option=com_contact&vie "><img src="http://carrrot.ru/images/stories/rostov.jpg" width="150"><br />Александра Приданникова</a>';w=contact&id=2
// Добавляет метку на карту
map.addOverlay(rostov);
YMaps.Events.observe(rostov, rostov.Events.MouseEnter, function(rostov){rostov.openBalloon()});
// Москва---------
var moscow = new YMaps.Placemark(gorod['Москва'],{style: s});
// Устанавливает содержимое балуна
moscow.name = '<center><a href="http://carrrot.ru/index.php?option=com_contact&vie ">Москва</a>';w=contact&id=10&Itemid=54
moscow.description = '<a href="http://carrrot.ru/index.php?option=com_contact&vie "><br><img src="http://carrrot.ru/images/w=contact&id=10&Itemid=54 stories/214707-a2920-2444 " width="150"><br>Екатерина Скачедуб</a>';5319-m549x500.jpg
map.addOverlay(moscow);
YMaps.Events.observe(moscow, moscow.Events.MouseEnter, function(moscow){moscow.openBalloon()});
// питер ---------
var piter = new YMaps.Placemark(gorod['Санкт-Петербург'],{style: s});
piter.name = '<center><a href="http://carrrot.ru/index.php?option=com_contact&vie ">Санкт-Петербург</a>';w=contact&id=35
piter.description = '<a href="http://carrrot.ru/index.php?option=com_contact&vie "><br><img src="jpg" width="150"><br>Ирина Прокофьева </a>';w=contact&id=35
map.addOverlay(piter);
YMaps.Events.observe(piter, piter.Events.MouseEnter, function(piter){piter.openBalloon()});
// И дальше по такой же схеме... Остальные города опустила...//-------------------- Вывод списка городов под картой - из примера Яндекса
// Ссылка на контейнер для меню
var menuContainer = YMaps.jQuery('#mapMenu');
// Генерирование меню
for (var item in gorod) {
// Используем замыкание, чтобы работать с конкретным свойством объекта
(function (title, geoPoint) {
// Создаем ссылку, обернутую в тег <p> для более приятного визуального восприятия
YMaps.jQuery("<li><a href=\"#\">" + item + "</a></li>")
.find('a')
// Создаем обработчик по щелчку на ссылке
.bind('click', function () {
// Подчеркиваем все ссылки
menuContainer.find('a').css('text-decoration', 'underline');
// Кроме той, на которую щелкнули
YMaps.jQuery(this).css('text-decoration', 'none');
// Перемещаем карту
map.panTo(geoPoint, {flying: 1});
return false;
})
.end()
// Записываем элемент списка в список
.appendTo(menuContainer);
})(item, gorod[item])
}
});
</script>
<div id="YMapsID" style="width: 590px; height: 400px;"> </div>
<ul id="mapMenu"></ul>
Первая проблема - не получилось загрузить скрипт в тег <head>, потому что в CMS можно вставить только в <body>... Поэтому все вставила в <body>.
Когда список был из 5-10 городов получалось. А сейчас отображаются не все метки... Возможно потому, что карта не успевает загрузиться...
Второе - под картой не выводится список городов...
Вобщем, и в javascirpt'e я совсем не шарю, чтобы все осмыслить и осознанно написать. Но уже сколько раз просматривала - все должно работать...
Ссылку на готовую страницу не могу дать, т.к. не хочу публиковать на сайте.