Клуб API Карт

Помогите №1

ckudku.com
17 октября 2010, 06:23

В баллуне ссылка, которая должна открываться в компоненте (типа Lightbox), но она открывает картинку поверх окна без (типа Lightbox), на обычных кнопках сайта ссылка работает http://ckudku.com/map.html

Сама ссылка выглядит так a href="images/image17000003.jpg" rel="iLoad"

 Вот сам код карты: 

<body>

<div id="html1" style="position:absolute; overflow:hidden; left:0px; top:0px; width:100%; height:100%; z-index:0">

<script

src="http://api-maps.yandex.ru/1.1/?key=ACTw2UsBAAAAqlDgHgIANY151UW0IHux_BU1_P2rmGAjUVwAAAAAAAAAAAC31jZ7dOR6jmB_zLFoFikwjYaGaQ==&wizard=constructor"
type="text/javascript"></script>

<script type="text/javascript">

    YMaps.jQuery(function () {

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

        map.setCenter(new YMaps.GeoPoint(37.537159,47.093486), 13, YMaps.MapType.MAP);

        map.addControl(new YMaps.TypeControl());

  
     map.addControl(new YMaps.SmallZoom(), new
YMaps.ControlPosition(YMaps.ControlPosition.TOP_LEFT), new
YMaps.Point(25, 100));

Вот здесь сама ссылка:

var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.546172,47.098124), {style: "default#barberShopIcon"});

placemark.name = "Салон красоты \"Сапфо\"";

placemark.description
= "<B>Адрес: </B></font><font>ул. Варганова,
2</font><BR></div><B>Телефон:
</B></font><font>(0629)
34-92-73</font></div></font></div><BR><a href='image17000003.jpg' rel='iLoad'>Подробнее >></a>";

map.addOverlay(placemark);

        function createObject (type, point, style, description) {

            var allowObjects = ["Placemark", "Polyline", "Polygon"],

                index = YMaps.jQuery.inArray( type, allowObjects),

                constructor = allowObjects[(index == -1) ? 0 : index];

                description = description || "";

            var object = new YMaps[constructor](point, {style: style, hasBalloon : !!description});

            object.description = description;

            return object;

        }

    });

</script>

<div id="YMapsID-476" style="width:100%;height:100%"></div></div></div></div>

Запускается Lightbox от сюда:

<link rel="stylesheet" href="http://www.ckudku.com/iLoadCss.css" type="text/css"> 

<script type='text/javascript' src='http://www.ckudku.com/iLoad3Beta.js'></script></div> 

</body>

</html>

Что надо исправить?
22 комментария
Подписаться на комментарии к посту
кликните на логотип или на цветные прямоугольники.
Это вы так специально?

А так думается мне что  iLoad просто не цепляется к обьектам созданных после его подключения.
Самый простой вариант будет дернуть команду на прицепку iLoad через пару милисекунд после открытия балуна.
В противном случае - можно заменить темплейт балуна, чтобы он это сделал сам.

Последний вариант - можно научить iLoad биндиться и самому, но как-то не охота. Не нравиться он мне
Вы могли бы дать примерный код и  куда вставлять его надо? В ссылку?
эхехе, читайте документацию люди добрые :(

placemark.description = "Адрес:  ул. Варганова,  2
Телефон:  (0629)  34-92-73
<a href='image17000003.jpg' onclick='iLoad("image17000003.jpg");return false' rel='iLoad'>Подробнее >>";
Карта вообще перестала отображаться http://ckudku.com/map2.html

Может есть другой способ, рабочий?
способ есть

поставить firebug
пописать что либо на любом языке програмирования хотя бы недельку.
о! поставить нормальный редактор кода
он то и подскажет что iLoad("image17000003.jpg") надо написать как iLoad(\"image17000003.jpg\"); Вообще конечно лучше как iLoad(this.href)


Считайте скобочки господа
Да вроде со скобками все нормал, а история та же((((((((((((((

Подробнее >>

вот так показывает фаербаг

Подробнее >>
Тоже самое((((((((((((( ссылка не работает...

Или карта перестает грузиться или JPG открывается сверху...


http://ckudku.com/map.html
http://ckudku.com/map1.html
http://ckudku.com/map2.html
Экранируйте двойные кавычки в строке, которую присваивает полю placemark.description. К тому же вы "потеряли" закрывающую кавычку.

Вот такой вариант должен получиться:

placemark.description =  "Адрес: ул. Варганова,  2
Телефон:  (0629)  34-92-73
Подробнее >>";

Сделал:


var placemark = new YMaps.Placemark(new YMaps.GeoPoint(37.546172,47.098124), {style: "default#barberShopIcon"});
placemark.name = "Салон красоты \"Сапфо\"";
placemark.description =  "Адрес: ул. Варганова,  2
Телефон:  (0629)  34-92-73
Подробнее >>";
map.addOverlay(placemark);


и ничего опять ПРСТ(((
Посмотрел, карта отображается. Проблема решена?
Да, карта загружается, но не открывается лайтбоксом ссылка в балуне (подробнее >>), а должна открыватся как при нажатии на логотип или кнопки(
в доке написано что можно вызывать библиотеку как L, iload или iLoad..
попробуйте по первому варианту.
Потому что при щелчке по ссылке "Подробнее" возникает javascript-ошибка "iLoad is not a function". Из-за этого происходит переход по ссылке. Обратитесь к документации вашего модуля по работе с изображениями и выясните точно ли вы все правильно указываете в балуне.
В документации указан только один способ размещения ссылки, я так и сделал.
Почему же кнопка "Размещение" открывает как надо а с карты не получается?

http://ckudku.com/map.html
Попробуйте открыть с помощью вызова функции L().
Раздел "Открытие галереи функцией L()" http://studioad.ru/blog/2010-02-11-105
Я так уже пробовал(( карта вообще не загружается...
Может у  меня в неправильном месте стоит вызов скрипта? 


rel="stylesheet" href="http://www.ckudku.com/css/iLoadCss.css" type="text/css">
 

Здесь http://ckudku.com/map7.html
поставил другой лайтбокс - опять тоже самое
Попробуйте так (выделил полужирным то, что нужно вставить):

http://ckudku.com/mariupol/images/image17000000.png" onclick="$.fancybox(this);return false;">Ссылка должна открываться в этом     же окне как и кнопка Размещение

По аналогии нужно действовать было и с галереей iLoad.

Кстати, есть еще плагин greybox, который успешно используется с яндекс.картами на следующем ресурсе:
http://www.gati-online.ru/index.php?option=com_content&view=article&id=76&Itemid=100
АЛИЛУЙЯ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Спасибо большое!