Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
1
Яндекс Карты API

Как сделать так, чтобы при клике на метку, пользователь открывал страницу?

18.11.2019, 16:10. Показов 3815. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Javascript
1
2
3
4
5
myMap.geoObjects.add(new ymaps.Placemark([45.043978, 39.109874], {
      iconContent: '<a href = \"/\" style=\"font-weight:normal;\">Краснодар</a>'
}, {
      'preset': 'islands#darkBlueStretchyIcon'
}));
Добавил метку на яндекс карту, хорошо. Но как сделать так, чтобы при клике на нее, пользователь открывал страницу. То есть вставить ссылку на текст?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2019, 16:10
Ответы с готовыми решениями:

Как сделать так, чтобы при клике по чекбоксу, выбранная категория отображалась, а остальные при этом скрывались
Всем доброго времени. Прошу помочь со следующей задачей. Пишу вот такой код, при клике по чекбоксу...

Как сделать так, чтобы при каждом клике происходила одна итерация цикла?
Надо, чтобы при каждом нажатии на лейбл происходила итерация цикла: public void...

Как сделать так, чтобы при двойном клике по записи в DBgrid открывалась новая форма
как сделать чтобы при двойном клике по записи в DBgrid открывалась новая форма где будет более...

Написал аккордеон, как сделать так, чтобы при клике на другой пункт, закрывался предыдущий?
Здравствуйте, Написал аккордеон на js, но не могу придумать как сделать так, что бы при клике на...

3
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
20.11.2019, 17:43 2
Возможно, уже не актуально, но всё же:
Javascript
1
2
3
4
5
6
7
8
9
10
var myPlacemark = new ymaps.Placemark([45.043978, 39.109874], {
  iconContent: 'Краснодар',
  link: 'https://google.com'
}, {
  'preset': 'islands#darkBlueStretchyIcon'
});
myPlacemark.events.add('click', function (event) {
  location.href = event.get('target').properties.get('link');
});
myMap.geoObjects.add(myPlacemark);
Работоспособность не проверялась.
0
19 / 17 / 5
Регистрация: 06.03.2014
Сообщений: 3,066
22.11.2019, 10:10  [ТС] 3
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ymaps.ready(function (){
    var myMap = new ymaps.Map('map', { zoom: 5, center: [52.993280, 39.367876], controls: []});
 
        myMap.geoObjects.add(kr = new ymaps.Placemark([45.043978, 39.109874], { 
              iconContent: 'Краснодар',
          link: 'https://google.com'
        }, {
              'preset': 'islands#darkBlueStretchyIcon'
        })).add(ya = new ymaps.Placemark([57.679013, 39.757857], {  
              iconContent: 'Ярославль',
          link: 'https://google.com'
        }, {
               'preset': 'islands#darkBlueStretchyIcon'
        }));    
                            
    function link(l) { location.href = l; } 
        kr.events.add('click', function (event) { link(event.get('target').properties.get('link')) });
    ya.events.add('click', function (event) { link(event.get('target').properties.get('link')) });
 
});
Работает, возможно сделать код чуть проще? Хотя бы, чтобы каждый раз не прописывать
Javascript
1
ya.events.add('click', function (event) { link(event.get('target').properties.get('link')) });
Для каждого города.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
22.11.2019, 10:50 4
Цитата Сообщение от Gerd199 Посмотреть сообщение
Для каждого города.
А зачем для каждого прописывать? Повесьте событие на всю коллекцию геообъектов:
Javascript
1
2
3
myMap.geoObjects.events.add('click', function (event) {
  location.href = event.get('target').properties.get('link');
});
Добавлено через 1 минуту
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
ymaps.ready(function (){
    var myMap = new ymaps.Map('map', { zoom: 5, center: [52.993280, 39.367876], controls: []});
 
        myMap.geoObjects.add(new ymaps.Placemark([45.043978, 39.109874], { 
              iconContent: 'Краснодар',
          link: 'https://google.com'
        }, {
              'preset': 'islands#darkBlueStretchyIcon'
        })).add(new ymaps.Placemark([57.679013, 39.757857], {  
              iconContent: 'Ярославль',
          link: 'https://yandex.ru'
        }, {
               'preset': 'islands#darkBlueStretchyIcon'
        }));    
                            
    myMap.geoObjects.events.add('click', function (event) {
      location.href = event.get('target').properties.get('link');
    });
 
});
1
22.11.2019, 10:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2019, 10:50
Помогаю со студенческими работами здесь

Как сделать так, чтобы при клике на рубрику выводились все записи, что в этой рубрике
На страницу выводятся рубрики. Как сделать так, чтобы при клике на рубрику выводились все записи,...

Как сделать чтобы при нажатие на кнопку он открывал сайт?
Как сделать чтобы при нажатие на кнопку он открывал сайт?

Сделать так, чтобы в строке URL при клике на ссылку RSS выглядела оригинально
Вопрос в общем не слишком принципиальный, но хотелось бы услышать ответ на свой вопрос: В общем...

Как сделать так чтобы страничка при увеличения разрешения не двигалась в разные стороны, и как сделать чтобы при открытии в опере и в других браузерах
все обьекты на странице не двигались в разные стороны???


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru