Клуб API Карт

Вопрос: Внешние ссылки на объекты карты

Булгаков
5 июня 2009, 13:35

Очень понравился пример с динамическим открыванием баллонов. Однако, хотелось бы сделать, чтобы ссылки на объекты создавались не динамически, а создавал бы их я в ручную, с возможностью размещения их в любом месте страницы и в любой последовательности. Перепробывал многие способы, даже фантастические - безрезультатно. Буду благодарен за любую помощь.

Всё сделал. Спасибо за помощь!

Проблему решил, воспользовавшись статьёй от vvkutsanov

Вот, что у меня из этого получилось:

<html>
<head>
<script src="http://api-maps.yandex.ru/1.0/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ==" type="text/javascript"></script>
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
        $(document).ready(function(){
            var map = new YMaps.Map(document.getElementById("YMapsID"));
            map.setCenter(new YMaps.GeoPoint(50.172885,53.223517), 12, YMaps.MapType.HYBRID);
            map.addControl(new YMaps.SmallZoom());
            map.addControl(new YMaps.ToolBar());
            map.addControl(new YMaps.TypeControl());
       
            var t = new YMaps.Template();
            t.text = '<div style="color:#000">$[description]</div>';
            YMaps.Templates.add("example#template", t);

            var s = new YMaps.Style();
            s.balloonContentStyle = new YMaps.BalloonContentStyle("example#template");
            s.iconStyle = new YMaps.IconStyle();
           
            var gCollection6 = new YMaps.GeoObjectCollection();
           
           
            var placemark1 = new YMaps.Placemark(new YMaps.GeoPoint(50.094192,53.192566), {style: s} );
            placemark1.description = '<h4>Толстого, 26</h4> <img src="/images/house/lev_tolstoy_26-28.jpg" style="display:block;" /><ul><li>Метраж: 4807,3 кв. м</li><li>Главный архитектор - </li><li>Акт Госкомиссии - 30.12.1994г.</li></ul>';
            gCollection6.add(placemark1);
       
            var placemark2 = new YMaps.Placemark(new YMaps.GeoPoint(50.078822,53.180689), {style: s} );
            placemark2.description = '<h4>Толстого, 28</h4> <img src="/images/house/lev_tolstoy_26-28.jpg" style="display:block;" /><ul><li>Метраж: 3047,5 кв. м (жил. – 2579,4 кв. м)</li><li>Главный архитектор - </li><li>Акт Госкомиссии - 27.12.1996г.</li></ul>';
            gCollection6.add(placemark2);
           
            addMark(0)
            function addMark(metka) {eval("if (gCollection"+6+") map.addOverlay(gCollection"+6+");");}
   
            $(".objYA").click(function (placemark) {
            id = $(this).attr("idObjYa");
            eval("Openmark = placemark"+id);
            Openmark.openBalloon();
            });
        });

    </script>
</head>
<body>
<div style="height: 426px; width: 664px;" id="YMapsID">&nbsp;</div>

<a href="#" onclick="javascript:void(null); return false;" class="objYA" idObjYa="1">Толстого, 26</a>
<a href="#" onclick="javascript:void(null); return false;" class="objYA" idObjYa="2">Толстого, 28</a>
</body></html>

4 комментария
Подписаться на комментарии к посту
Прочитал. Ничего не понял. Можно поконкретнее?
Булгаков
5 июня 2009, 14:49
С удовольствием!

Имеется карта, на которую занесены объекты тамим же методом, как и в примере, но в примере ссылки на объекты выдаются скриптом:

function createOverlay (station)  {
            var link = document.createElement('a'),
                newOverlay = new SimpleOverlay(station.point, station.name1, link);
            link.href = '#';
            link.innerHTML = station.name;
            link.onclick = function () {
                if (link.className == "active") return ;
                newOverlay.openBalloon();
                return false;
            };
            document.getElementById('links').appendChild(link);
            return newOverlay;
        }


что совсем не удобно. Я хотел, чтобы ссылки я создавал сам, вида:


Название дома


Заранее спасибо.
Вот пример с мастер-класса. Надеюсь, что поможет.

Если возникнут еще вопросы - пишите. Постараюсь помочь.

Спасибо. Именно то, что искал. На карте то без проблем, но нужно было именно вывести ссылки во "внешку"