У меня есть некоторые div в моем «подключенном» коде к моим маркерам карт. Мои div имеют уникальные идентификаторы, а мои маркеры имеют тот же идентификатор, что и атрибуты (title и marker-id). Есть ли способ открыть всплывающее окно маркеров при нажатии на div? Вот мой код:Mapbox: Открыть всплывающее окно маркера, щелкнув за пределами карты
$('#alldealers .dealer').each(function(){
t = $(this).find('h2').text();
lat = $(this).find('.lat');
lng = $(this).find('.lng');
userLng = parseFloat($(lng).text());
userLat = parseFloat($(lat).text());
subUniqueNum = $(this).attr('data-link');
L.mapbox.featureLayer({
type: 'Feature',
geometry: {
type: 'Point',
coordinates: [userLng, userLat]
},
properties: {
title: subUniqueNum,
'marker-id': subUniqueNum,
'marker-size': 'small',
'marker-color': '#f85649',
}
}).bindPopup('<button class="giveMeDetails" data-attr-scroll="'+subUniqueNum+'">'+t+'</button>').addTo(map);
});
$('.mapicon_wrapper').click(function(e){
tot_p = $(this).parent().parent().parent().attr('id');//parent wrapper id:same as marker's ID
$root.animate({
scrollTop: $('html').offset().top
}, 500, function() {
// This is where I need to open the markers popup with the same title as $this parent ID (tot_p)
});
});
Hi. Спасибо за ответ :) Я пытаюсь проверить его в своем коде, но я получаю следующую ошибку: markers.eachLayer не является функцией –
Если в коде, который теперь исправлен, была небольшая опечатка – tmcw