Клуб API КартДобавление ссылкиПост в архиве.seorealkr15 мая 2012, 09:49Необходимо сделать внешнюю ссылку при нажатии на элемент карты polygon. Заранее спасибо.
11 комментариевАвторизуйтесь, чтобы оставить комментарийМаксим Горчаков28 января 2016, 04:44Когда добавляете полигон повесте на него обработчик клика и window.location.href куда хотите.аля:polygon.events.add('click',function(){ window.location.href = 'blablabla.com';})Predvoditelev28 января 2016, 04:44Вот кусок кода из рабочего проекта:var placemark = new ymaps.Placemark([data['pharmacy'][i]['x'], data['pharmacy'][i]['y']], { hasBalloon: false, link: data['pharmacy'][i]['url']}, { iconImageHref: 'images/pharm_map_pic.png', iconImageSize: [19, 19], iconImageOffset: [-8, -19]});placemark.events.add('click', function(e) { document.location = this.properties.get('link');}, placemark);address.mapObjects.add(placemark);seorealkr28 января 2016, 04:44Можете на примере моего кода сказать, что куда вставить) var polygon = new YMaps.Polygon([ new YMaps.GeoPoint(38.948584,45.142507), new YMaps.GeoPoint(38.994632,45.139409), new YMaps.GeoPoint(38.994374,45.135764), new YMaps.GeoPoint(38.997979,45.135643), new YMaps.GeoPoint(38.996735,45.127745), new YMaps.GeoPoint(38.98622,45.122702), new YMaps.GeoPoint(38.94412,45.127684), ], { style: "polygon#Example", hasHint: 1, hasBalloon: 1 }) ; polygon.name = "name1"; map.addOverlay(polygon);Predvoditelev28 января 2016, 04:44Перед map.addOverlay(polygon); добавьте:polygon.events.add('click', function(e) { document.location = 'http://ya.ru/';});seorealkr28 января 2016, 04:44Я спросила, потому что как раз туда и добавляла, но у меня при этом пропадают все элементы (многоугольники) с карты. Но все равно спасибо) Попробую покрепче задуматься.Максим Горчаков28 января 2016, 04:44А если убрать обработчик клика, то многоугольники не пропадаю при клике по ним?seorealkr28 января 2016, 04:44Теперь нет, но зато происходит переадресация на указанный адрес, сразу.dimik28 января 2016, 04:44map.addOverlay(polygon);YMaps.Events.observe(polygon, polygon.Events.Click, function () {window.location = '...';});seorealkr28 января 2016, 04:44Спасибо, заработало)dimik28 января 2016, 04:44переходите на АПИ 2.0 =)dimik28 января 2016, 04:44она на первом АПИ пишетваш пример работать не будет