Клуб API Карт

Как сделать балун с переадресацией на внешнюю ссылку?

MaksTihomirow
3 июня 2015, 20:21

Если сделать balloonContent:['http://yandex.ru'] то сначала откроется балун, а потом можно будет кликнуть по ссылке.

 

А как сделать так, чтобы сразу был переход по ссылке как это реализовано вот тут: http://www.baikalsr.ru/city/geo_map/

Без открытия балуна

13 комментариев
Подписаться на комментарии к посту

Балун тут совсем не нужен. Надо вместо balloonContent указать в данных метки поле с урлом на который надо перейти при клике.

Подписаться на клик и в обработчике достать значение этого поля и перейти по этому урлу

 

Скинь пример кода, как это сделать...

что именно не получилось?

        myPlacemark = new ymaps.Placemark(myMap.getCenter(), {

            balloonContent:['http://yandex.ru/']

        }, {

          

           

            iconLayout: 'default#image',

           iconImageHref: '/sosed/moskva.png',

            

            iconImageSize: [100, 26],

 

            iconImageOffset: [-3, -42]

        });

 

Как сделать, чтобы сразу кидалa по url? 

 

balloonContent:['http://yandex.ru/']

Здесь массив не нужен, и поле лучше назвать не "balloonContent" (ибо балун открывать смысла нет), а как-то "url" / "link" / "href"

 

Как сделать, чтобы сразу кидалa по url?

Подписаться на клик и в обработчике достать значение этого поля и перейти по этому урлу

https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/events-docpage/

ну все равно не получается)) 

Не могли бы вы скинуть сразу готовый вариант кода.. 

А то намекаете, а у меня всё мимо)) 

Очевидно, что скинуть готовый код мне проще всего (там 3 строчки)
Я хочу, чтобы Вы сами разобрались как это работает, и как пользоваться документацией. Что именно не получается?

видимо настроить обработчика

По ссылке, что я приводил есть примеры обработки клика на метке.

Покажите как вы добавляете слушателя

myPlacemark.events.add('click', function (e) {

document.location = e.get('target').properties.get('balloonContent');

Не хватает закрывающей скобки "});"

В целом правильно и должно работать.

Если не работает, сделай пример на jsfiddle.net или jsbin.com, я помогу его поправить

Может проще здесь ответите? 

Всего 3 строчки ведь)) 

 

Код вверху скинут, что нужно дополнить? 

Скиньте готовый исправленный

Закрывающаяся скобка есть, а все равно не работает

Сделал всё тоже самое на гугл мапсе, всё работает, а ваша документация не очень если чесн)))