Здравствуйте! Есть несколько блоков с дата атрибутами:
<a class="main-centers__link" data-coord="[55.119646, 61.625318]">
<a class="main-centers__link" data-coord="[55.244650, 61.375281]">
С помощью js делаю поиск и по дата атрибутам проставляю точки (дополнительно еще по клику переход к точке, добавление другой инфу в нужный блок)
var Placemark = {};
ymaps.ready(function() {
var activeItem = $('.main-centers__link_active').attr('data-coord');
activeItem = JSON.parse(activeItem);
var myMap = new ymaps.Map('map-centers', {
center: activeItem,
zoom: 17,
controls: ['zoomControl']
}, {
suppressMapOpenBlock: true,
});
console.log('3');
myMap.behaviors.disable('scrollZoom');
$('.main-centers__link').each(function() {
var obj = $(this).attr("data-coord");
obj = JSON.parse(obj);
myMap.geoObjects
.add(new ymaps.Placemark(obj, {
iconCaption: ''
}, {
iconLayout: 'default#imageWithContent',
iconImageHref: '../img/geo-mark.png',
iconImageSize: [29, 43],
iconImageOffset: [-29, -43]
}));
}); //each
$('.main-centers__link').click(function() {
var objj = $(this).attr('data-coord');
objj = JSON.parse(objj);
// console.log(obj);
myMap.panTo(objj, {
flying: 2,
callback: function() {
alert('yeap!');
}
});
var addTitle = $(this).find('.title').html();
var addAddr = $(this).find('.arrd-hide').html();
var addTels = $(this).find('.tels-hide').html();
$('.center-addr__title').html(addTitle);
$('.center-addr__address .addr').html(addAddr);
$('.center-addr__address .tels__tel').html(addTels);
});
});
По итогу, точки проставились, но не работает клик по ссылке с атрибутами. Причем, ругается не на функцию клика, а на функцию сбора данных:
var obj = $(this).attr("data-coord");
obj = JSON.parse(obj);
Именно на вторую строку. ЧЯДНТ? Функция клика, если убрать сбор точек, работает Думаю, что что-то с преобразование, но не могу понять что именно :\ Перепробовал несколько вариантов Извиняюсь, что без примера на фидле
Спасибо
С помощью участников и тыканий решилась проблема. Функцию клика вынес выше .each, т.к. навигация по карте в DOM находится выше блока карты. Ошибка в консоле пропала тогда, когда были проставлены ко всем элементам навигации дата-атибуты. Кто будет тестить, заранее пропишите всем элементам дата-атрибуты и только потом уже можно тестить Благодарю всех за помощь! Спасибо огромное!
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Разворачиваю свой проект на боевом сервере и каждый день сталкиваюсь все с новыми и новыми проблемами
Здравствуйте, уважаемые профессионалы ! У нас тут проект по реорганизации инфраструктуры компанииМне поручено ввести в строй новый файловый...