Клуб API Карт

Метка-ссылка

Пост в архиве.

Хочу, чтобы при нажатии на метку происходил переход по ссылке. Второе желание - обойтись при этом без js, чтобы элементом для метки был тег a с определнным href и картинкой иконки. Поверхностные поиски привели к iplacemarklayout, но ничего толкового не вышло. Непонятно как сделать стиль с параметрами и влиять на него при создании очередной метки на карте. Буду рад любой наводке.

3 комментария

на какие параметры вы хотите влиять и что именно не вышло?

За основу взял пример из iPlacemarkLayout:

 

function myLayout(context, map, owner) {    var element = YMaps.jQuery('');    this.onAddToParent = function (parentNode) {        element.appendTo(parentNode);    };    this.onRemoveFromParent = function () {        element.remove();    };    this.update = function () {};    this.getOffset = function () { return new YMaps.Point(-5, -5); };    this.getRootNodes = function() { return element; };};var myStyle = new YMaps.Style();myStyle.iconStyle = new YMaps.IconStyle(new YMaps.LayoutTemplate(myLayout));var myPlacemark = new YMaps.Placemark(map.getCenter(), {style: myStyle});map.addOverlay(myPlacemark);

 

Хочу ссылку, соответственно переделал:

 

var element = YMaps.jQuery('');

 

Метки добавляю в цикле, саму ссылку и значок получаю из свойств очередного элемента. Что делать дальше и не понятно o_O, а хотелось бы передать куда-нибудь ссылку и значек и на выходе получить код метки:

 http://kakoy-to-address.com/">

 

Вам наверное лучше использовать шаблоны

 

var template = new YMaps.Template("");var s = new YMaps.Style();         s.iconContentStyle = new YMaps.IconContentStyle(template);var placemark = new YMaps.Placemark(map.getCenter(), {style: s});placemark.name = "метка";placemark.description = "С помощью меток можно обозначать на карте различные объекты.";placemark.metaDataProperty.link = "http://yandex.ru";placemark.metaDataProperty.src = "http://api.yandex.ru/i/maps/basketball.png";map.addOverlay(placemark);