У меня есть приложение, в котором я динамически загружаю маркеры, перебирая набор данных.JQuery Ajax с листами и ошибками MarkerCluster
for (var i = 0; i < data.length; i++) {
var plateNo = data[i].PLATE_NUMBER;
var permitNo = data[i].PERMITINFOID;
var popup = '<h5>EPS</h5>' + 'Plate:' + plateNo + '<br/>' +
' Permit: <a class=\'link\' href=' + url + '>' + permitNo + '</a>' +
'<p style=\"color:blue\">' + '' + '<a class=\'link\' href=' + url + '>' +
'Import' + '</a>' + '<br/>' + '<a class=\'link\' href=' + url + '>' +
'Duplicate' + '</a>' + '<br/>' + '<a class=\'link\' href=' + url + '>' +
'Removed' + '</a>' + '<br/>' + '</p>';
var m = L.marker([data[i].REF_LATITUDE, data[i].REF_LONGITUDE], { icon: epsiconR, draggable: 'true' })
.bindPopup(popup);
markerClusters.addLayer(m);
}
map.addLayer(markerClusters);
map.invalidateSize(false);
Я прилагаю обработчик событий для каждого из элементов с классом «ссылкой», как это:
map.on('popupopen', function() {
$('.link').click(function (e) {
createDialog();
});
});
Я Аякс загружая другую страницу в методе CreateDialog так:
function createDialog() {
$("#testPara").slideToggle("slow");
$.ajax({
dataType: 'html',
url: '/home/UpdateInventory',
success: function (data) {
$('#testPara').html(data);
}
});
}
маркеры кластер тонкий и нажав на всплывающих окнах Ajax загружает ДИВ просто отлично. Однако, как только нагрузка Ajax будет сделана, если я попытаюсь увеличить или уменьшить масштаб карты или перетащить карту вокруг, я получаю сообщение об ошибке Не могу прочитать свойство «lat» undefined
Карта просто зависает после этого. Я застрял на этом целый день и был бы очень признателен за любую помощь или вклад.
Этой скрипку показывает проблему, когда вы нажимаете на ссылку консоль показывает ошибку
Благодарность
Ваша скрипка не воспроизводит поведение, которое вы описываете. Ошибка, которую я вижу, - 'Uncaught TypeError: Невозможно прочитать свойство 'src' of null' (происходит при щелчке по всплывающей ссылке), и после этого нет проблем с перетаскиванием или масштабированием. Ошибка в скрипке, по-видимому, связана с URL-адресом AJAX, указывающим на '/', то есть на самой странице jsfiddle, а ошибка 'Can not read property 'lat' undefined', похоже, связана с чем-то другим. – nathansnider